Homeserver 20: Webserver und Komponenten installieren

Als nächstes möchte ich auf dem Server einen Webserver installieren. Ich möchte jetzt nicht irgendwelche Webseiten im Internet anbieten, dafür wäre mein Server vielleicht zu schwach, oder zumindest mal die Anbindung ans Internet wäre dünn. Aber mit einem installierten Webserver kann man eine Menge interessanter Sachen machen. Zum Beispiel habe ich Tools gefunden, mit denen ich den Rechnerstatus abfragen kann, wie Temperatur, Lüfter und andere Parameter. Und das bequem im Browser, ohne dass ich mit SSH verbinden muss und Befehle eingeben muss. Dann habe ich Tools gefunden, mit denen ich die Server-Logdateien anzeigen und bequem durchsuchen kann. Auch das bequem im Browser. Das Management von Datenbanken geht auch super mit phpMyAdmin, also auch prima im Browser. Später soll vielleicht eine Cloud-Lösung installiert werden, ob es nun Owncloud wird, oder ein anderes Produkt welches mir CalDAV und CardDAV anbietet, weiß ich noch nicht. Aber auch hier, ein laufender Webserver sollte schon da sein.

Ich habe so was noch nie gemacht, das wird spannend. Vor allem die Konfiguration, denn besonders viele Informationen habe ich jetzt auf die Schnelle nicht gefunden. Aber, ich weiß ja ungefähr, wo die Konfigurationsdateien des Webservers abgelegt werden, versuche ich mich mal durchzuwühlen. Bei konkreten Fragestellungen kann ich ja immer noch im Netz suchen.

Es soll also Apache, der Webserver, PHP und MySQL als Datenbank installiert werden. Ob dann noch andere Tools installiert werden müssen, sehe ich dann, wenn es soweit ist.

Installation des Webservers

Das ist, denke ich, mit der einfachste Schritt. Man installiert einfach das Apache-Metapaket, und gut. Metapakete sind übrigens leer, sie fassen eine Gruppe von Paketen je nach Zweck zusammen. Das Apache-Metapaket installiert 4 oder 5 Pakete, die zum Betrieb des Webservers nötig sind. So muss man nicht alle Pakete einzeln installieren. Auch MySQL hat solche Metapakete, die die Installation vereinfachen.

Die Installation ist daher denkbar einfach. Das haben wir ja schon dutzende Male gemacht:

sudo apt-get install apache2

Fertig! Im Grunde läuft der Server schon. Man kann das sofort prüfen, in dem man im Browser mal die IP-Adresse des Servers eingibt. Aber das ist ja noch nicht alles. Ich habe ja auf dem RAID ein Verzeichnis web eingerichtet. Also muss Apache so konfiguriert werden, dass es die Webseiten-Daten dort sucht.

Konfiguration des Webservers

Der Webserver sucht seine Webseiten standardmäßig im Ordner /var/www. Das möchte ich aber nicht. Ich habe auf dem RAID einen Ordner web eingerichtet, damit ich die Website-Daten dort ablegen kann. Ich muss also dafür sorgen, dass Apache dort nach den Website-Dateien sucht.

Damit ich später kontrollieren kann, ob es geklappt hat, verschiebe ich erst mal die Test-Index-Datei, die im /var/www-Verzeichnis liegt, auf das RAID.

sudo mv /var/www/index.html -t /raid1/web/HTML

Im Verzeichnis web habe ich das Verzeichnis HTML erstellt, wo die ganzen Website-Daten reinkommen.

Nun teile ich Apache mit, dass der DocumentRoot, das ist das Verzeichnis mit den Website-Daten, auf dem RAID liegt.

sudo nano /etc/apache2/sites-enabled/000-default

In dieser Datei sind einige Werte eingestellt, aber die lassen wir erst mal in Ruhe. Zunächst müssen wir zwei Zeilen ändern.

    DocumentRoot /var/www

Diese Zeile müssen wir so ändern, dass sie auf das HTML-Verzeichnis auf dem RAID zeigt.

    DocumentRoot /raid1/web/HTML

Damit sucht der Server die Dateien nun in diesem Ordner. Es gibt aber noch eine Zeile, die die Rechte innerhalb des Verzeichnisses regelt. Hier muss auch noch etwas geändert werden.

    <Directory /var/www/>

Diese Zeile muss hinterher so aussehen:

    <Directory /raid1/web/HTML/>

Den Rest der Datei können wir in Ruhe lassen. Einfach speichern und dann noch den Webserver neu starten.

sudo service apache2 restart

Und wenn der Server wieder gestartet ist, öffnet mal euren Browser und gebt mal die IP-Adresse eures Servers ein. Ich habe meinem Server ja eine feste IP gegeben, daher weiß ich diese. Wenn alles geklappt hat, erscheint eine Webseite mit ungefähr diesem Text:

It works!

This is the default web page for this server.

The web server software is running but no content has been added, yet.

OK, läuft! Am Webserver müssen wir so jetzt nichts mehr machen.

PHP installieren

Damit gewisse in PHP programmierte Webseiten laufen können, muss PHP auf diesem Server installiert werden.

sudo apt-get install php5

Auch dies hat nun geklappt. Während der Installation wurde der Apache-Server neu gestartet. Damit ist auch die PHP-Installation erledigt.

MySQL installieren

Damit Datenbank-Anwendungen laufen können, muss ein MySQL Server und ein MySQL Client installiert werden. Und damit PHP-Anwendungen auf MySQL zugreifen können, muss PHP5-MySQL installiert werden.

sudo apt-get install mysql-server mysql-client php5-mysql

Während der Installation von MySQL werde ich nach einem Root-Passwort für den Datenbank-Administrator gefragt. Zwar ist das nicht unbedingt erforderlich, es wäre dennoch zu empfehlen, hier eines einzugeben. Es sollte sinnvollerweise nicht das gleiche Passwort sein, welches ihr am Server nutzt. Dann noch das Passwort erneut eingeben, fertig!

Fazit

Die Installation der Komponenten ist wirklich nicht so das Problem. Aber im nächsten Teil möchte ich ein paar Programme für den Webserver installieren, zum Beispiel phpsysinfo, mit dem man allerhand Statusinformationen zum Server bekommt. phpMyAdmin brauchen wir noch, um die Datenbanken managen zu können, und eine Anwendung, um die Logdateien zu durchsuchen wäre auch schön. Diese Dinge kommen in den nächsten Teilen nach und nach dran.