AA_tipis.jpg

© Piumadaquila, Fotolia

Auf der Spur des Apachen

Apache-Webserver aufsetzen

Mit einem eigenen Apache-Server haben Sie die volle Kontrolle, wenn Sie ein eigenes Blog, Forum oder Wiki im Internet anbieten. Worauf Sie achten müssen und wie Sie Module wie "ssl" und "mod_rewrite" installieren, erfahren Sie hier.

Apache-Servern liefern weltweit mehr als 50% aller Webseiten aus [1]. Installieren Sie die freie Software daheim auf einem (z. B. ausrangierten) Rechner, betreiben Sie Ihren eigenen, weltweit erreichbaren, Webserver, auf dem Sie diverse Dienste laufen lassen (Blogs, Wikis, Foren, FTP-Server, Gallerien etc.) Alternativ dient der Webserver [2] als ideale Spielweise für Experimente mit Webanwendungen und zum Anbieten von Eigenkreationen. Wir zeigen Ihnen, wie Sie am besten in die Welt von LAMP (Linux, Apache, MySQL und PHP) eintauchen und erste Erfahrungen mit populären Skripten wie WordPress und PhpBB sammeln.

Windowsnutzer installieren Apache gewöhnlich zusammen mit dem Datenbankserver MySQL und den Skriptsprachen PHP und Perl über die Apache-Distribution XAMPP [3]. Das geht auch unter Ubuntu, doch wegen der automatischen Updates und der deutlich sichereren Grundkonfiguration sollten Sie LAMP aus Ubuntus Paketquellen installieren.

Im Software-Center suchen Sie nacheinander nach den Paketen mysql-server, php5-mysql, apache2 sowie php5 und installieren diese. Dabei geben Sie für den Root-Zugang zur Mysql-Datenbank gleich ein Passwort ein, das Sie sich notieren (Abbildung 1). Nach der Installation ist ein Neustart des Apache-Servers angesagt:

$ sudo service apache2 force-reload

Eigene Skripte auf dem Webserver führt Apache ansonsten nicht aus, sondern bietet sie dem Browser zum Download an. Nun sollte Ihr Webserver einsatzbereit ein. Rufen Sie einen Browser auf und geben Sie als URL http://localhost ein, erscheint die recht schlichte "It Works"-Seite (Abbildung 2), die Apache ausliefert.

Abbildung 1

Abbildung 1: Beim Installieren des Pakets "mysql-server" erfragt der Installer ein Passwort für den Root-Benutzer von Mysql. Tragen Sie dieses hier ein und notieren Sie es sich, Sie brauchen es später noch.

Abbildung 2

Abbildung 2: Das erste Lebenszeichen, dass ein Apache-Webserver von sich gibt, besteht aus dieser Seite. Nun kümmern Sie sich um die Netzwerkanbindung des Servers und der Dienste.

Eigene Daten auf dem Webserver ablegen

Bevor Sie nun damit beginnen, eigene Daten zu hinterlegen, sollten Sie ein paar grundlegende Dinge über den Webserver wissen. Dieser sucht prinzipiell im Verzeichnis /var/www nach seinen Daten. Wenn Sie in Ihrem Browser die Adresse http://localhost/beispiel.html eingeben, erscheint die Datei, die im Verzeichnis /var/www/beispiel.html liegt. Mit Hilfe entsprechender Konfigurationen, virtueller Hosts oder über Module wie mod_userdir ändern Sie dieses Verzeichnis bei Bedarf.

Auch mit den Dateirechten in /var/www sollten Sie sich etwas beschäftigen. Den Apache-Webserver betreibt auf einem Ubuntu-System der neu angelegte Benutzer www-data. Es handelt sich hier nicht um einen klassischen Benutzer mit Home-Verzeichnis, sondern um einen so genannten Systembenutzer. Der muss mindestens in /var/www Leseerlaubnis haben, andernfalls zeigt Apache statt der gewünschten nur eine Fehlerseite an. Damit Sie und www-data in /var/www Schreiben und Lesen dürfen, fügen Sie Ihren Benutzer der Gruppe www-data hinzu und ändern die Rechte für das Verzeichnis so, dass Mitglieder dieser Gruppe Schreibrechte erhalten. So kopieren Sie bequem über den Dateimanager Dateien und Ordner dorthin und ändern diese auch. Geben Sie dazu nacheinander die Befehle aus Listing 1 in ein Terminalfenster ein, das Sie über Anwendungen | Zubehör | Terminal aufrufen:

Listing 1

 

sudo chgrp -R www-data /var/www
sudo chmod 0775 /var/www
sudo adduser $USER www-data
newgrp www-data

Sie ändern zunächst die Gruppenzugehörigkeit des Ordners /var/www von root auf die Gruppe www-data (Zeile 1) und setzen in Zeile 2 Lese- und Schreibrechte für den Besitzer (7) sowie die Gruppe (7) und reine Leserechte für die restliche Welt (5) fest. Dann fügen Sie Ihren User als "Webmaster" zur Gruppe www-data hinzu (Zeile 3) und aktivieren die Gruppenzugehörigkeit mittels newgrp www-data auch sofort. Von nun an arbeiten Sie bequem mit dem Dateimanager im Ordner /var/www, ohne ständig Root-Rechte zu benötigen.

Starten Sie nun einen ersten Test und legen Sie ein kleines Testskript auf dem Webserver an. Dazu erzeugen Sie über Gedit eine Datei mit folgendem Inhalt:

<?PHP
phpinfo ();
?>

die Sie unter dem Namen phpinfo.php im Verzeichnis /var/www ablegen. Dieser PHP-Befehl lässt den Webserver allerlei Information anzeigen, etwa zu den aktiven Modulen und zu Konfigurationsdateien. Einmal abgespeichert, erreichen Sie das Skript, indem Sie in den Browser http://localhost/phpinfo.php eingeben (Abbildung 3). Nutzen Sie auf dem Rechner, auf dem der Apache läuft, keine Firewall, erreichen Sie diesen nun auch über andere Rechner im lokalen Netzwerk (LAN). Dazu geben Sie einfach http://ip-adresse_des_servers/phpinfo.php in die Adressleiste eines Browsers ein.

Abbildung 3

Abbildung 3: Hat der Apache-Server das PHP-Modul geladen? Ein kleines Skript zeigt es und verrät gleich auch einige Hintergrundinformationen.

Bietet Ihnen der Server die Datei zum Download an, fehlt mit hoher Wahrscheinlichkeit das Paket libapache2-mod-php5 oder PHP wurde nicht automatisch als Apache-Modul aktiviert. Überprüfen Sie, ob das Paket wirklich installiert ist und aktivieren Sie PHP, indem Sie sudo a2enmod php5 in ein Terminal tippen. Leeren Sie zudem den Cache Ihres Browsers, falls das Problem weiterhin besteht.

Den Server steuern

Als Betreiber des Servers werden Sie diesen immer mal wieder stoppen, starten oder die Konfiguration neu einlesen lassen. Am besten benutzen Sie hier das Kommando service. Geben Sie diesem nur den Dienst als Option mit, erfahren Sie, was Sie alles tun dürfen.

$ sudo service apache2
 * Usage: /etc/init.d/apache2 {start|stop|graceful-stop|restart|reload|force-reload|start-htcacheclean|stop-htcacheclean|status}

Zum Üben starten Sie einfach mal über sudo service apache2 restart den Webserver neu, was bestehende Verbindungen beendet und die Konfiguration neu einliest.

Einem Freund empfehlen