Next Previous Contents

9. Der Apache WWW-Server

Der Apache WWW-Server ist ein sehr ausgereifter HTTP-Server, der über viele Module zur Integration von Datenbanken, verschiedenen Skriptsprachen, wie PHP3, PERL und JAVA verfügt. Diese Module müssen separat installiert werden. Installieren Sie die Module mod_perl..., mod_php3...zusätzlich zum Paket apache. Für weitere Module scheuen Sie bitte auf der Homepage des Apache WWW-Servers nach: http://www.apache.org.

9.1 Konfigurationsverzeichnisse

Die wesentlichen Konfigurationsverzeichnisse des Apache WWW-Servers liegen im Verzeichnis /etc/httpd/. In der Datei php.ini werden die Eigenschaften des PHP3 Moduls festgelegt. Mehr hierzu finden Sie unter http://www.php.net. Im Unterverzeichnis conf befinden sich 3 wichtige Dateien, httpd.conf, access.conf und srm.conf. In der Datei httpd.conf werden Module durch einkommentieren und auskommentieren aktiviert und deaktiviert. Hierin werden auch virtuelle Webserver auf IP und NON-IP - Basis konfiguriert. In der Datei selber sind alle wichtigen Dinge in den Kommentarzeilen genauer beschrieben. Zur Aktivierung der PHP und PERL Module kommentieren Sie die folgenden Zeilen aus: mod_php3...und mod_perl.... In der Datei access.conf wird definiert, welche Verzeichnisse wie durch Paßwort geschützt werden können. Die Datei srm.conf bestimmt, welche Datei-Endungen wie interpretiert werden. Kommentieren Sie die Zeilen AddHandler cgi-script.... und AddType application/x-httpd-php3 .php3 und die folgende Zeile für die Endung .phps aus, damit der Apache WWW-Server die Endung .php3 als PHP3 Skript erkennt, und vor der Auslieferung interpretiert.

9.2 Start/Stop

Das Start/Stop Skript des Apache WWW-Servers befindet sich im Verzeichnis /etc/rc.d/init.d/ und nennt sich httpd. Mit httpd [start/stop/restart] (nur eine Option ist zu wählen), könne Sie den Server starten, anhalten und nach einer Konfigurationsänderung neu starten.

9.3 Fehlerdiagnose

Es könnte sein, daß bei Neustart des Servers ein Fehler auftritt. Falls es ein schwerwiegender Fehler ist, dann startet der http-Dämon nicht. Die Fehlermeldungen befinden sich dann im Verzeichnis /var/log/messages.

Fehler, die im Zusammenhang mit Skripten im Hauptverzeichnis des WWW-Servers, als in /home/httpd/html oder /home/httpd/cgi-bin auftreten, werden im Verzeichnis /etc/httpd/logs abgelegt. Fehler von virtuellen WWW-Servern befinden sich in demjenigen Verzeichnis, welches in der Datei /etc/httpd/conf/httpd.conf definiert wurde.

9.4 Das PHP3 Modul

Das PHP3 Modul läßt sich am einfachsten überprüfen, wenn man im Homeverzeichnis unter /home/httpd/html/ eine Datei test.php3 anlegt:

<html>
<body>
<? phpinfo();
>

Starten Sie nun Netscape und geben Sie in der URL http://localhost/test.php3 ein. Es sollte nun die Konfiguration des PHP3 Moduls angezeigt werden. Es fehlen die Module für die Einbindung von MySQL unter PHP3. Leider ist hierfür die Neukompilation des PHP3 Moduls erforderlich. Änderungen in der Konfiguration des PHP3 Moduls könenn Sie in der Datei /etc/httpd/php3.ini durchführen. Danach müssen Sie den Apache WWW-Server neu starten.

9.5 Neukompilation des PHP3 Moduls

In unsererem Fall fehlt das Modul für die Einbindung von MySQL in das PHP3 Modul. Man kann diese Modul separat kompilieren und installieren. Nach einem Neustart des Apache WWW-Servers ist dann eine Einbindung von MySQL möglich. Laden Sie sich aus dem Internet oder aus dem Supportverzeichnis unter http://www.rent-a-database.de/support/mysql/ folgende Dateien auf den LINUX Server, z.B. via FTP in das Verzeichnis /home/user1. Das MySQL Binärpaket, den MySQL Client und das MySQL Developer-Paket. Diese RPM -Dateien müssen Sie nun mit rpm -i MySQL-xxxx.rpm installieren, und zwar genau in dieser Reihenfolge. Damit sind alle notwendigen Libraries von MySQL installiert, die dann nur noch eingebunden werden müssen. Installieren Sie nun die Quellcodes von PHP3 von CDROM 2: rpm -i mod_php3-3.x.x.src.rpm. Wechseln Sie nun in das Verzeichnis /usr/usr/redhat/SPECS/. Dort befindet sich eine Datei mod_php3.spec. Unterhalb der Zeile --with-postgresql fügen Sie analog die Zeile --with-mysql \ ein. Dieses Zeile müssen Sie 2x einfügen. Danach können Sie mit dem Kommando rpm -bb mod_php3.spec das Binärpaket mod_php3...rpm neu bauen. Am Ende wird dasjenige Verzeichnis ausgegeben, in welchem sich das neue RPM -Modul von PHP3 befindet: /usr/src/redhat/RPMS/i386/. Wechseln Sie dorthin und geben Sie rpm -i mod_php3...rpm ein. nun ist es so, daß entweder das ursprüngliche Modul entfernt werden muß, oder das neue Modul das alte überschreibt. Es wird der Modulname angegeben, mit welchem das neue RPM-Paket kollidiert. Entfernen Sie mit rpm -e mod_php3-... das Modul. Der Name des Moduls muß ohne .386.rpm angegeben werden. Wenn also das Modul mod_php3-3.0.8-1.i386.rpm heißt, dann müssen Sie mit rpm -e mod_php3-3.0.8-1 das vorherige Modul entfernen. Danach erst können Sie die RPM-Datei aus dem Verzeichnis /usr/src/redhat/RPMS/i386 installieren. Falls während der Kompilation fehler auftreten sollten, dann liegt das daran, daß bestimmte Module in der .spec Datei zwar eingebunden werden sollen, die Libraries jedoch nicht auf der Festplatte installiert wurden. In diesem Falle lesen Sie sich die Fehlermeldung genau durch, und installieren ein Modul entsprechenden Namens aus dem Binär-Paket von CDROM 1 nach, bevor Sie die Kompilation mit rpm -bb ...spec neu starten.

Nun müssen Sie den Apache WWW-Server neu starten, um in den Genuß einer MySQL Anbindung unter PHP3 zu kommen. Wenn Sie im Browser die Datei test.php3 erneut laden, dann müßte das Modul MySQL erfolgreich eingebunden sein. Sie können nun PHP3 Module einfach in das Verzeichnis /home/httpd/html kopieren, und durch aufruf mit dem Browser starten, z.B. phpMyAdmin von Tobias Ratschiller. Mehr hierzu unter http://www.rent-a-database.de/mysql/

9.6 Virtuelle Apache Server

Um virtuelle Apache Server aufzusetzen, müssen Sie einen Nameserver installieren und konfigurieren. Sie haben hierbei die Möglichkeit, sowohl einen IP-Basierten WWW-Server, als auch einen NON-IP-Basierten WWW-Server aufzubauen. In beiden Fällen müssen Sie einen Nameserver entsprechend konfigurieren. Für NON-IP-basierte Server müssen verschiedenste Domains bzw. Subdomains auf eine einzige IP-Nummer zeigen. Der Apache WWW-Server ermittelt dann aus der URL des Browsers, welche Domain bzw. Subdomain gemeint ist, und liefert daraufhin die zugehörigen Seiten aus. Dieses Prinzip funktioniert nicht mit veralteten Browsern, wie z.B. IE 2.0 oder Netscape 1.1. Bei IP-basierten WWW-Servern müssen Sie zuerst dem LINUX Server eine zusätzliche IP-Nummer geben. Schauen Sie hierzu im Kapitel Netzwerk-Konfiguration nach. Danach können Sie entweder ebenfalls den Nameserver aufsetzen, und diese IP-Nummer einer Domain bzw. Subdomain zuordnen. Alternativ genügt auch ein Eintrag in die Datei /etc/hosts. Danach müssen Sie in der Datei /etc/httpd/conf/httpd.conf im unteren Abschnitt die Zeile mit BindAdress *, Listen ... und den Abschnitt virtualhost ... einkommentieren und an die Verzeichnisstruktur anpassen. Hier ein Beispiel:


Next Previous Contents