Dieser Abschnitt enthält Hinweise und Tipps, die sich auf die Installation von PHP speziell für Apache 2.0 auf Unixsystemen beziehen.
Wir empfehlen, in einer Produktionsumgebung kein Threaded MPM mit Apache2 zu verwenden. Verwenden Sie stattdessen das Prefork MPM, welches der Standard-MPM für Apace 2.0 und 2.2 ist. Für weitere Informationen und die Gründe lesen Sie bitte den entsprechenden FAQ-Eintrag über die Verwendung von Apache2 mit Threaded MPM.
Es wird empfohlen, einen Blick auf die » Apache Dokumentation zu werfen, um ein grundlegendes Verständnis des Apache 2.0 Servers zu erhalten.
Laden Sie die aktuellste Version von » Apache 2.0 und eine passende Version von den oben angegebenen Quellen herunter. Dieser Schnelleinstieg behandelt nur die Grundlagen, um mit Apache 2.0 und PHP einzusteigen. Für mehr Informationen lesen Sie bitte die » Apache Dokumentation. Versionsnummern wurden hier ausgelassen, um sicherzustellen, dass die Anweisungen nicht inkorrekt sind. Sie müssen die Zeichenkette 'NN' mit den zu Ihren Dateien passenden Werten ersetzen.
Beispiel #1 Installationsanweisungen (Apache 2 Shared Module Version)
1. gzip -d httpd-2_0_NN.tar.gz 2. tar xvf httpd-2_0_NN.tar 3. gunzip php-NN.tar.gz 4. tar -xvf php-NN.tar 5. cd httpd-2_0_NN 6. ./configure --enable-so 7. make 8. make install Nun steht Ihnen Apache 2.0.NN unter /usr/local/apache2 zur Verfügung, konfiguriert mit Unterstützung für nachladbare Module und dem Standard MPM Prefork. Um diese Installation zu testen, verwenden Sie die übliche Prozedur, den Apacheserver zu starten, also z.B.: /usr/local/apache2/bin/apachectl start Stoppen Sie nun den Server, um mit der Konfiguration von PHP fortzusetzen: /usr/local/apache2/bin/apachectl stop. 9. cd ../php-NN 10. Konfigurieren Sie nun Ihr PHP. Dies ist die Stelle, an der Sie Ihr PHP mit verschiedenen Optionen, wie etwa installierten Erweiterungen, anpassen können. Rufen Sie ./configure --help auf, um eine Liste der verfügbaren Optionen zu erhalten. In unserem Beispiel werden wir eine einfache Konfiguration mit Unterstützung für Apache 2 und MySQL erzeugen. Ihr Pfad zu apxs könnte sich unterscheiden, tatsächlich könnte das Programm auf Ihrem System auch apxs2 heißen. ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql 11. make 12. make install Wenn Sie sich entscheiden, Ihre Konfigurationsoptionen nach der Installation zu ändern, müssen Sie nur die letzten drei Schritte wiederholen. Sie müssen nur Apache neustarten, damit das neue Modul verwendet wird. Eine erneute Kompilierung von Apache ist nicht notwendig. Beachten Sie, dass, wenn nicht anders erwähnt, 'make install' ebenso PEAR und verschiedene PHP Werkzeuge wie phpize, PHP CLI und anderes installieren wird. 13. Ihre php.ini einrichten cp php.ini-dist /usr/local/lib/php.ini Sie können Ihre .ini-Datei ändern, um verschiedene PHP-Optionen zu setzen. Wenn Sie die php.ini-Datei an einer anderen Stelle bevorzugen, verwenden Sie --with-config-file-path=/some/path in Schritt 10. Wenn Sie sich stattdessen für php.ini-recommended entscheiden, stellen Sie sicher, dass Sie die darin enthaltene Liste von Änderungen lesen, da diese das Verhalten von PHP beeinflussen. 14. Bearbeiten Sie Ihre httpd.conf, um das PHP Modul zu laden. Der Pfad auf der rechten Seite der LoadModule-Anweisung muss auf den Ort des PHP-Moduls auf Ihrem System zeigen. Das obige make install könnte dies bereits für Sie hinzugefügt haben, aber prüfen Sie dies. Für PHP 4: LoadModule php4_module modules/libphp4.so Für PHP 5: LoadModule php5_module modules/libphp5.so 15. Weisen Sie Apache an, bestimmte Dateiendungen als PHP Skripte zu behandeln. Zum Beispiel werden wir den Apache Dateien mit der Endung .php als PHP ausführen lassen. Anstatt nur die Apachedirektive AddType zu verwenden, wollen wir zusätzlich verhindern, dass potentiell gefährliche hochgeladene und erzeugte Dateien wie exploit.php.jpg als PHP-Dateien ausgeführt werden. Wenn Sie dieses Beispiel verwenden, können Sie jede Dateiendung als PHP interpretieren lassen, wenn Sie sie einfach hinzufügen. Wir demonstrieren dies, indem wir .phtml einfügen. <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch> Oder wenn wir erlauben wollen, dass .php, .php2, .php3, .php4, .php5, .php6 und .phtml und sonst nichts als PHP interpretiert werden, könnten wird ein Statement wie dieses verwenden: <FilesMatch "\.ph(p[2-6]?|tml)$"> SetHandler application/x-httpd-php </FilesMatch> Und um .phps-Dateien als PHP-Quelldateien interpretieren zu lassen, fügen wir die folgende Anweisung hinzu: <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch> 16. Verwenden Sie die übliche Prozedur, um den Apache Server zu starten, z.B.: /usr/local/apache2/bin/apachectl start - ODER - service httpd restart
Wenn Sie den obigen Anweisungen folgen, werden Sie einen laufenden Apache2 mit Unterstützung für PHP als SAPI-Modul erhalten. Natürlich existieren für Apache und PHP viele weitere Konfigurationseinstellungen. Verwenden Sie ./configure --help im jeweiligen Quellcodeverzeichnis, um weitere Informationen zu erhalten. Falls Sie eine Multithreaded-Version von Apache2 bauen wollen, müssen Sie das Standard MPM-Modul prefork entweder durch worker oder perchild ersetzen. Fügen Sie dazu in obigem Schritt 6 an Ihre Konfigurationszeile entweder die Option --with-mpm=worker oder --with-mpm=perchild an. Denken Sie an die daraus reultierenden Konsequenzen und machen Sie sich klar, was Sie damit tun. Für mehr Informationen werfen Sie einen Blick auf die Apache Dokumantation zum Thema » MPM-Module.
Hinweis:
Falls Sie Content Negotiation verwenden wollen, lesen Sie die Apache MultiViews FAQ.
Hinweis:
Um eine Multithreaded Version von Apache zu erzeugen, muss Ihr System Threads unterstützen. Dies impliziert, dass Sie PHP mit der experimentellen Zend Thread Safety (ZTS) bauen. Deshalb könnten nicht alle Erweiterungen verfügbar sein. Die empfohlene Einstellung ist es, Apache mit dem prefork -MPM-Modul zu bauen.