Der Apache Webserver – Teil 2
Im letzten Teil habe ich bereits allgemein über den Apache Webserver berichtet und wie man diesen installiert und die Konfigurationsdateien näher vorgestellt. In diesem Teil geht es um die ausführbaren Skripte.
PHP
Um die Funktionalität zu Testen erstellen wir eine neue Seite die ein PHP Script enthält und verlinken diese mit unserer Hauptseite. Erstelle nun also eine neue Datei im „/var/www“ Ordner mit dem Namen „phpTest.php“ mit folgendem Inhalt:
<?php echo "<h1>PHP Testseite</h1>"; phpinfo(); ?>
Damit der Server nun PHP kann müssen folgende Module mit einem Paketmanager installiert werden:
- libapache2-mod-php5
- php5-cli
- php5-common
- php5-cgi
Nach einem Neustart des Webservers kann die PHP Seite im Browser korrekt angezeigt werden.
Perl
Ähnlich wie beim Testen der PHP Funktionalität legen wir wieder zuerst eine neue Scriptdatei an, diesmal für ein Perl Script. Für die Perl und Python benötigen wir noch ein Verzeichnis, in dem wir alle jene Scriptdateien ablegen. Wir legen also im „www“ Verzeichnis ein „cgi-bin“ Verzeichnis an. In diesem Verzeichnis erstellen wir eine Datei mit dem Namen „perlTest.pl“. Die Dateiendung pl ist für Perl Scripts üblich:
#!/usr/bin/perl print "Content-type: text/html\r\n\r\n"; print "<h1>Perl Testseite</h1> print "Perl funktioniert mit diesem Webserver!";
Die neue Datei und auch das Verzeichnis benötigen Ausführungsrechte. Diese müssen jetzt gesetzt werden.
Danach installieren wir das Perl Modul:
libapache2-mod-perl2
Nun ist Perl installiert, jedoch müssen wir den virtuellen Host noch konfigurieren. Der virutelle Host ist im Verzeichnis „sites-available“ zu finden. Der „default“ virtuelle Host hat bereits eine Konfiguration für den „cgi-bin“ Ordner. Diese muss folgendermaßen geändert werden:
ScriptAlias /cgi-bin/ /var/www/cgi-bin/ <Directory "/var/www/cgi-bin"> Options ExecCGI AddHandler cgi-script cgi pl </Directory>
Die erste Zeile definiert einen Alias der auf das Verzeichnis mit den Scripten zeigt. Die Zeile mit dem AddHandler definiert die Dateiendungen welche als Script ausgeführt werden sollen (in diesem Fall *.cgi und *.pl)
Nach einem Neustart zeigt der Browser das Ergebnis des Perl Scripts.
Python
Wieder erstellen wir zuerst eine neue Scriptdatei im „cgi-bin“ Ordner mit dem Namen „pythonTest.py“ und dem Inhalt:
#!/usr/bin/python def index(): return "<html><body><h1>Python Testseite</h1></br><Python funktioniert mit diesem Webserver!</body></html>"
Wieder setzen wir die Ausführungsrechte.
Danach installieren wir das Erforderlich Modul:
libapache2-mod-python
Zum Schluss müssen wir wieder eine Änderung an der Konfiguration des virtuellen Hosts vornehmen. Dazu fügen wir folgendes hinzu:
<Directory "/var/www/cgi-bin"> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all AddHandler mod_python py PythonHandler mod_python.publisher PythonDebug on </Directory>
Mögliche Fehlerquellen
Beim Installieren und Konfigurieren eines Websevers kann es immer wieder zu Fehlern kommen. Probleme bereiten hier vor allem die Scriptsprachen. Zu aller erst sollte überprüft werden ob auch wirklich alle erforderlichen Module installiert worden sind. Ein Webserver Neustart ist auch ein möglicher Fehler. Scripts können auf Funktionalität auch in der Kommandozeile getestet werden (z.B. mit ./perlTest.pl). Hier sollte man auch überprüfen ob bei ihnen das Ausführungsrecht gesetzt ist. Sollte das Script im Browser trotzdem nicht angezeigt werden hilft das Log weiter. Im „/var/log/apache2“ Ordner findet man alle Log-Dateien.
Im dritten Teil zeige ich euch, wie Ihr den Webserver mit Tomcat so erweitert, dass auch Java Programme darauf laufen.