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