logrotate Konfiguration iptables

Diese Konfiguration nutze ich für iptables. Dabei liegen die angelegten Logfiles unter „/var/log/iptables/“. Die Konfiguration des Speicherortes passiert in der iptables-Konfiguration.

Das Verzeichnis für die alten Logs muss manuell angelegt werden.

Zur Überprüfung der Konfiguration sollte man diese testen:

Dann müsste ungefähr folgendes erscheinen:

 

read

Zeilenweise Möglichkeiten

Wenn man Informationen interaktiv vom Benutzer oder zeilenweise aus Dateien benötigt, kann auf das Programm read zurückgreifen. Zusätzlich kann man über einen angegebenen Separator auf einzelne Felder in einer Zeile zurückgreifen. Dazu habe ich hier merkenswerte Mehrzeiler aufgeschrieben.

Linux Benutzer für SQL-Import vorbereiten

Linux Gruppen für SQL-Import vorbereiten

LVM einrichten

Benötigte Pakete

Wenn noch nicht vorhanden, muss lvm installiert werden:

Wie ihr ein Logical Volume nachträglich verkleinert, könnt ihr hier nachlesen.

Logical Volume hinzufügen

Ich beschreibe hier das nachträgliche Hinzufügen einer lvm-Partition für den Ordner /var/backups unter Debian Squeeze, um eine bereits vorhandene volle Festplatte zu entlasten.

Ausgangslage

Eine Ausgabe von fdisk -l und df -h schafft einen Überblick über die Ausgangslage

Wie zu erkennen ist, ist die einzig vorhandene Partion schon recht voll, so dass ich diese, durch Auslagern des Orderns /var/backups entlasten will. Zudem sind bereits zwei Festplatten zu sehen, auf den jeweils eine primäre Partition mit lvm als Partitionierungssystem eingerichtet sind.

PV, VG und LV einrichten…

…bedeutet nix anderes, als eine Partition für lvm zu aktivieren (Physical Volume erstellen).

Darauf wird dann eine Volume Group eingerichtet, die als Pool mehrere Physical Volumes aufnehmen kann. So kann man z.B. mehrere Festplatten innerhalb einer Volume Group verwenden. Hier sollte ein nicht all zu langer Name vergeben werden.

Mit vgdisplay kann man sich dann die Einzelheiten zu der gerade eingerichteten Volume Group anschauen. Interessant ist dabei der Wert „Free PE“, der die Physikalischen Einheiten angibt, die noch für Logical Volumes zur Verfügung stehen.

Danach erstelle ich noch ein Logical Volume (LV) mit der maximalen Anzahl (2559) von freien Physikalischen Einheiten (siehe oben). Würde man hier beim erstellen die angezeigten 10G angeben, bekäme man eine Fehlermeldung, dass nicht genügend freier Speicherplatz in der Volume Group vorhanden ist.

Dateisystem einrichten

Jetzt muss das Dateisystem auf der neuen Partition noch eingerichtet werden. Ich wähle dazu hier ext3.

Mounten und Datenübernahme

Zuerst muss die erstellte Partition temporär gemountet werden, damit die alten Daten übernommen werden können:

Wie zu erkennen ist, habe ich die Verknüpfung über den Device-Mapper genutzt. Jetzt können die Daten verschoben werden. ACHTUNG: Die Dateien dürfen sich nicht im Zugriff befinden!

Danach kann die Partion aus dem temporären Speicherort ausgehängt und in den endgültigen Speicherort eingehängt werden:

Bitte nach Beendigung der Arbeit die Anpassungen in der /etc/fstab nicht vergessen!

Wie ihr ein Logical Volume nachträglich verkleinert, könnt ihr hier nachlesen.

logrotate Konfiguration Icinga

Diese Konfiguration nutze ich für Icinga. Dabei liegt das von Icinga angelegte Logfiles unter „/var/log/icinga/„. Die Konfiguration des Speicherortes passiert in der Icinga-Hauptkonfigurationsdatei „/etc/icinga.cfg„. In Icinga2 erfolgt die Konfiguration in der Datei „/etc/icinga2/features-available/mainlog.conf“ und zeigt standardmäßig auf „/var/log/icinga2/„.

Die Konfiguration sollte vor dem ersten Einsatz getestet werden:

Dabei kommt dann in etwa so etwas heraus:

Vim – Erweiterung des Texteditors vi

Suchen und Ersetzen mit vim

Hier mal die Suchen-Ersetzen-Möglichkeiten aus dem vimtutor:

Suchoptionen für vim

Manchmal sucht man ein Wort, findet es in vim aber nicht, weil bei der Suche standardmäßig die Groß-/Kleinschreibung unterschieden wird. Das bekommt durch das Setzen der Option „ignore case“ weg:

Zusätzlich kann man sich die Fundstellen über die Option „hlsearch“ hervorheben lassen:

Die inkrementelle Suche ist nur meines Erachtens gewöhnungsbedürftig:

Alle Optionen kann man sich natürlich auch dauerhaft in der zentral Datei /etc/vim/vimrc oder in der userspezifischen Datei ~/.vimrc speichern:

Wer sich diese Optionen dauerhaft speichern will, kann das entweder für sich persönlich in der Datei ~/.vimrc oder zentral für alle Benutzer in /etc/vim/vimrc.local. Soll eine Konfiguration für alle zukünftigen Benutzer angelegt werden, muss diese im Verzeichnis /etc/skel abgelegt werden. Von dort werden alle Dateien in das Home-Verzeichnis des neuen Benutzers kopiert.

Universalwerkzeug sed

Einfaches Ersetzen in Dateien

Manchmal will einfach nur einen Wert an allen Stellen in einer Datei ersetzen:

Ersetzen von Text an gefundenen Stellen.

Manchmal muss es aber etwas aufwändiger sein. Wenn man z.B. einen String in einem Text sucht und in der gefundenen Zeile einen zweiten String ersetzen will. Hier am Beispiel einer NTP-Konfiguraton:

Hier wird in der NTP-Konfiguration nach den Server-Einträgen gesucht (0.debian.pool.ntp.org, 1.debian.pool.ntp.org,2.debian.pool.ntp.org und 3.debian.pool.ntp.org). Diese Zeilen werden auskommentiert, um z.B. eigene NTP-Server für die Kerberos-Authentifizierung zu konfigurieren.

Wer öfter mit vim arbeitet, dem wird die Suchen-/Ersetzen-Formation bekannt vorkommen. Weitere Such-Ersetz-Möglichkeiten kann man hier nachlesen.

Sed – Manipulation von Textdateien

Sed ist ein Streaming Editor. Wer genaueres dazu wissen will, kann das auf Wikipedia nachlesen. Ich schreibe mir hier Zusammenstellungen auf, die mir merkenswert erscheinen.

Ersetzen in Dateien

Manchmal will einfach nur einen Wert an allen Stellen in einer Datei ersetzen:

Wer öfter mit vim arbeitet, dem wird die Suchen-/Ersetzen-Formation bekannt vorkommen. Weite Such-Ersetz-Möglichkeiten kann man hier nachlesen.

Will man z.B. etwas Anderes ersetzen, als das was man sucht, kann man das auch aufteilen:

So werden in dem folgenden Beispiel alle Zeilen der NTP-Konfiguration auskommentiert, die auf den Debian NTP-Pool verweisen:

Konfiguration Apache Webserver

Mit dem Apache2 habe ich bisher mehrere Webserver aufgebaut. Dabei versuche ich unter Debian immer folgenden Aufbau zu nutzen.

VirtualHost-Konfigurationen

So kann man diese einfach per „a2ensite“ und „a2dissite“ aktivieren und deaktivieren.

Virtual Host Container

Ich nutze einen separaten Ordner als Container für alle Dateien, die diese Webseite betreffen …

… mit folgender Unterstruktur

Der Ordner ErrorDocuments kann eigene Fehlerseiten enthalten, die so auch bei geschütztem Hauptbereich durch einen Alias getrennt freigegeben werden können (s.o.). Der Ordner htaccess enthält evtl. vorhandene Zutritts- oder Umschreibungsdateien, die so wieder separat vom Hauptbereich geschützt werden können. Der Ordner htdocs enthält den DocumentRoot des Virtual Hosts. Der Ordner config enthält zwei Dateien. Einmal lr-<vhostname> mit einer Konfiguration für den logrotate-Dienst und braucht so nur in das Verzeichnis /etc/logrotate.d/verlinkt werden. Und zum zweiten die Apache-Konfiguration a2-<vhostname>. So kann auch diese Datei einfach in das Verzeichnis/etc/apache2/sites-available verlinkt werden.

Log-Dateien

Die Logdateien sollten abhängig vom Betriebssystem in der dafür vorgesehenen Partion abgelegt werden. Durch diese Abtrennung kann verhindert werden, dass eine vollgelaufene Log-Partition das gesamte System zum Absturz bringt. Bei Debian lege ich die Webserver-Logs wie folgt ab:

Backup der vHosts

Backups sollten auf jeden Fall automatisch laufen, da einem sonst gerade die Daten fehlen, die man gerade benötigt.

Für die einzelnen vHost des Apache realisiere ich das per Script, das mir die gepackten Archive unter

ablegt. Es werden dabei automatisch für jeden einzelnen vHost-Ordner ein Backup-Ordner angelegt und dort jeweils in tägliches und wöchentliches Backup unterschieden. Da ich die wöchentlichen Backups aufhebe, verzichte auf monatliche Backups.

Absicherung des Apache-Servers

Ein Apache Webserver ist sehr gut für die Entwicklung geeignet, weil er viele Informationen ausgeben, die eine Fehlerbehebung und Entwicklung unterstützen. Diese Informationen sollten auf Produktivsystem aber nicht für die Öffentlichkeit verfügbar sein. Daher sollte man noch ein paar Sicherheits-Einstellungen für den Webserver vornehmen.

Single Sign On und Kerberos auf Debian

Wer jetzt noch seinen Apache Webserver auf Debian im Windows-Intranet mit SSO zu einem 2008 R2 AD Domain-Controller einrichten will, findet bei Stefan Macke den Beitrag „Single Sign On with Kerberos using Debian and Windows Server 2008 R2

Datetime-Wert zerlegen

Folgende Beschreibung hab ich im entwickler-forum.de gefunden.

Über die DATEPART-Funktion kann eine SELECT-Abfrage nur bestimmte Bestandteile zurückliefern.

 

Veröffentlicht in MSSQL

Rolle und Status einer Spiegel-Datenbank

Mit dem folgenden Snippet kann man sich den Status einer gespiegelten MS-SQL-Datenbank und die Rolle des aktuellen Servers anzeigen lassen:

 

 

Veröffentlicht in MSSQL