« 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.

  1. #! /bin/bash
  2. echo "Backupen gestartet"
  3. DATUM=_`date +%Y%m%d`
  4.  
  5. IF tar –cjf /home/backup_www_$DATUM.tar.bz2 /home/schnupper1/public_html/ THEN
  6. echo "### Backup von public_html erstellt."
  7. ELSE
  8. echo "### Backup von public_html fehlgeschlagen."
  9. fi
  10.  
  11. IF mysqldump –h localhost –u root –all-databases > /home/backup_mysql_$DATUM.sql THEN
  12. echo "### Backup der Datenbanken erstellt."
  13. ELSE
  14. echo "### Backup der Datenbanken fehlgeschlagen."
  15.  
  16. 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.

[Diskussionsthread im Forum]

Themen: Software |

Kommentare