« Einsteigertutorium zu Ruby | Home | HTML-Listen einzeilig zentrieren »
Installation eines Webservers unter Linux
Von Bastian in Software | 1.August 2007
Ich musste vor einiger Zeit einen Webserver auf einer Linux 9.3 Professional aufsetzen und eine kurze Dokumentation dazu schreiben.
Da es immer wieder vorkommt, dass man aufgrund spezieller Konfigurationen (oder einfach des Lerneffekts wegen) eine Installation eines Webservers per Hand durchführen muss, ist es sicherlich interessant dies zumindest einmal manuell durchgeführt zu haben.
Wirkliche Schwierigkeiten sollte dies nicht mehr bereiten, die Pakete können über das Yast bequem dazu geklickt werden, und auch im späteren verlauf lassen Sie sich problemlos verwalten.
Einrichtung eines Webservers
Grundkonfiguration
Der Webserver wird auf einer SuSe Linux 9.3 Prof. Version aufgesetzt. Grundsätzlich sind keine speziellen Pakete, außer den folglich beschriebenen nötig.
Installation benötigter Packete im YAST2-Center
Folgende Pakete werden für den Betrieb eines Webservers benötigt:
apache2 (2.0.53-9)
apache2-doc (2.0.53-9)
apache2-prefork (2.0.53-9)
apache2-mod_php4 (4.0.10-14)
mysql (4.1.10a-3)
mysql-client (4.1.10a-3)
mysql_shared (4.1.10a-3)
perl-DBD-mysql (2.9004-3)
php4-mysql (4.3.10-14)
libapr0 (2.0.53-9)
perl-Data-Showtable (3.3-572)
perl-DBI (1.47-3)
php4 (4.3.10-14)
php4-devel (4.3.10-14)
php4-imap (4.3.10-14)
php4-mbstring (4.3.10-14)
php4-session (4.3.10-14)
Apache & MySQL Starten
Um den Apache zu starten muss im YAST-Center der Runlevel-Editor gestartet werden. Mit einem Klick auf „Expertenmodus“ öffnet sich ein erweitertes Menu, durch das man dem „apache2“ und „mysql“ das Runlevel 3 und 5 zuweist.
Nach einem Neustart kann man die Apache2-Docs im Explorer mittels dem Link http://localhost/manual/de aufrufen.
Installation des phpMyAdmin
Aktuellste Version auf www.phpmyadmin.net downloaden, entpacken und das Verzeichnis in den public_html Ordner des jeweiligen Benutzerkontos verschieben.
Danach als Root einloggen, die Datei „php.ini“ im Ordner „/etc/“ öffnen und den Wert von „session.auto_start“ auf 1 setzen.
Den Apache folgend neu starten (siehe Manual: http://localhost/manual/de/).
Nun kann der phpMyAdmin über den Browser aufgerufen werden.
(http://localhost/~<linux benutzername>/phpmyadmin/index.php)
Backups
MySQL
Das Sichern der MySQL-Datenbank(en) lässt sich mittels folgenden Konsolenbefehls ohne Frontend-Verwaltungstool (phpmyadmin) ausführen:
„mysqldump –h HOST –u USER –p PASSWORD –all-databases > backup.sql”
Optional stehen anstelle von “—all-databases” auch der Parameter “—OPT DATENBANK” zur Verfügung, um selektiv Datenbanken zu sichern. Ist kein Passwort für einen USER vergeben, entfällt der Parameter „-p“.
www-Root
Um auch die Dateien, die im www-Root eines Webservers liegen zu sichern, bietet es sich an, diese Dateien zu Packen und auf einem anderen physikalischen Laufwerk zu sichern.
Dies lässt sich ebenfalls über die Linux-Konsole ohne GUI, mittels folgendem Befehl regeln:
„tar –cjf <BACKUPNAME> <WWWROOT>“
Beispielsweise:
“tar -cjf /home/backup_www.tar.bz2 /home/schnupper1/public_html/”
Automatisiertes Sichern
Mittels eines kleinen Shell-Scripts lässt sich das Sichern der MySQL-Datenbank(en) und des WWW-Roots vereinfachen und auch zeitgesteuert ausführen.
Folgendes *.sh Script sichert die Datenbanken und die Root-Dateien und gibt eine Bestäti-gung aus, sofern kein Fehler auftrat.
#! /bin/bash echo "Backupen gestartet" DATUM=_`date +%Y%m%d` IF tar –cjf /home/backup_www_$DATUM.tar.bz2 /home/schnupper1/public_html/ THEN echo "### Backup von public_html erstellt." ELSE echo "### Backup von public_html fehlgeschlagen." fi IF mysqldump –h localhost –u root –all-databases > /home/backup_mysql_$DATUM.sql THEN echo "### Backup der Datenbanken erstellt." ELSE echo "### Backup der Datenbanken fehlgeschlagen." fi
Um dieses Shell-Script nun automatisiert, regelmäßig zu einem bestimmten Zeitpunkt auszu-führen kann man einen Eintrag in der Datei „crontab“ im Verzeichnis „/etc/“ vornehmen.
Geöffnet wird die Datei in der Konsole, nachdem man sich als Administrator angemeldet hat (Befehl: su) mit dem Command „vi /etc/crontab“.
Um einen Eintrag hinzufügen zu können muss ALT+S gedrückt werden. Danach fügt man folgende Zeile ans ende des Dokuments:
„10 1 * * * root /home/schnupper1/Documents/script.sh“
und bestätigt wiederum mit ALT+S.
Obige Zeile bedeutet, dass 10 Minuten nach 01.00 der User Root (hier ohne Passwort) folgende Datei ausführt.
Für spezifischere Angaben wie „am ersten Tag jeden Monats“ oder „Jeden Samstag und Sonntag“ siehe „man 5 crontab“.
Alternativ kann man auch das Script in einen der Ordner „cron.daily, cron.hour, cron.monthly oder cron.weekly“ kopiert werden (muss als Root geschehen, „cp <quelldatei> <zielort"), wo es dann Stündlich, Täglich, Wöchentlich oder Monatlich ausgeführt wird.
Themen: Software |