Websiteentwicklung: PHP: Installation

Aus Wikibooks


Den Apache-WebServer gibt es inklusive unter anderem PHP4 und PHP5 als Distribution für verschiedene Systeme bei apachefriends.org. Dies erleichtert die Einrichtung speziell für Anfänger. Allerdings ist die Erfahrung bei einer solchen Installation nicht sehr hilfreich für spätere Konfigurationen und gewährt keinerlei Einblicke.

Download[Bearbeiten]

Laden sie sich PHP direkt von der Projektsite herunter. Der Direktlink zur Downloadseite ist www.php.net/downloads.php. Darüberhinaus werden unter snaps.php.net der aktuell in der Entwicklung befindliche Quellcode angeboten.

  • Für *NIX-artige Betriebssysteme laden Sie den „Complete Source Code“ herunter,
  • für Windows-Server mit Apache 1 oder Apache 2 verwenden sie das angebotene ZIP-Archiv und
  • für Windows Server mit IIS, PWS oder Xitami verwenden sie das Installer-Programm (Danach der Installationsroutine folgen).

Fahren sie nun mit den Anweisungen für ihr Betriebssystem fort:

Windows[Bearbeiten]

Voraussetzungen für diese Anleitung[Bearbeiten]

  • ein funktionstüchtiges Betriebssystem
  • Apache 1 oder 2 funktionierend (nur für Windows, unter Unix/Linux wird die Installation des Apaches gleich mit abgehandelt)
  • Kenntnisse im Umgang mit Dateien und dem jeweiligen Betriebssystem

Erstellen eines Apachemodules[Bearbeiten]

Zur Einfachheit am besten die Daten im Verzeichnis c:\php entpacken, so dass die Daten direkt unter c:\php liegen. Ein beliebter Fehler entsteht beim entpacken, da die Entpackprogramme die Daten in c:\php\php ablegen, bitte unbedingt ändern so dass die Daten in c:\php liegen. Das ist Fehlerquelle Nummer 1.

Tipp: Am besten php klein schreiben, damit es später bei der Konfiguration des Apaches zu keinen Problemen kommt.

Hinweis: Auf das Verzeichnis c:\php und alle Unterordner/Dateien müssen alle Benutzer zugreifen können (Leseberechtigung).



Nun benutzen wir einen Trick, um eine spätere Aktualisierung von PHP zu vereinfachen. Es gibt in Windows eine sogenannte PATH-Variable, in der alle Systempfade eingetragen sind. Von dort aus können dann DLLs aufgerufen werden.

Unter Windows-XP-Installationen sind diese unter Start → Systemsteuerung → System → Erweitert → Umgebungsvariablen → Systemvariablen zu finden. Nun verändern wir den Eintrag mit Path über die Schaltfläche Bearbeiten und hängen an das Ende (ohne Anführungszeichen) "; c:\php" an.



Sollte die Datei php?ts.dll noch nicht in c:\php liegen, so bitte in den Unterordnern von c:\php suchen und nach c:\php kopieren.

Außerdem sollten jetzt, je nach Verwendungsbereich, folgende Dateien aus c:\php\sapi nach c:\php kopiert werden:

Hinweis: Hierzu sollten Sie sich PHP 4 herunterladen, denn in der Version 5 ist die Struktur sehr unterschiedlich. (Ordner /sapi existiert nicht!)

Verwendungzweck Datei
Webserver mit Apache 1 php4apache.dll
Webserver mit Apache 2 php4apache2.dll
Active Scripting php4activescript.dll

Erstellen eines CGI-Programms[Bearbeiten]

Hier ist Deine Mithilfe erforderlich!


Fahren sie nun mit Anpassen der Apache-Konfiguration fort.

UNIX-artige Systeme[Bearbeiten]

Voraussetzungen[Bearbeiten]

  • ein funktionstüchtiges Betriebssystem
  • einen Compiler (Vorzugsweise GCC)
  • den Parsergenerator bison
  • einen lexikalischer Generator (z. B. flex)
  • das GNU-Programm make
  • das GNU-Programm sed
  • Kenntnisse im Umgang mit der Kommandozeile/Konsole

Hinweis: Die allermeisten Linux-Distributionen haben diese Programme bereits vorinstalliert. Insbesondere auf einigen Versionen von SuSE-Linux müssen Sie diese Programme zuerst installiert haben, wenn sie nicht über den Paketmanager installieren wollen!



Generell hat man zwei verschiedene Möglichkeiten auf einem GNU-Linux-System PHP und/oder Apache zu installieren. Der einfachere Weg ist den Paketmanager seiner Distribution dafür zu benutzen. Fühlen sie sich von mir dazu ermuntert, es sich nicht einfach zu machen! Sie haben so die Möglichkeit ein stückweit in das Innenleben eines Paketmanagers zu schauen und werden feststellen können, wie unflexibel dieser sein kann und welche Vielzahl an Möglichkeiten, die PHP mitbringt, er ihnen nicht erlaubt einzustellen.

Installation über Paketmanager[Bearbeiten]

Debian und Derivate[Bearbeiten]

Debian und davon abhängende Distributionen können PHP mit apt installieren. Dafür tippt man einfach in einer beliebigen Shell

# apt-get install php4

bzw.

# apt-get install php5

Abhängigkeiten werden automatisch geladen und installiert.

Gentoo[Bearbeiten]

Nachdem sie ihren portage tree aktualisiert haben, schauen sie, was portage alles installieren möchte:

# emerge -pv dev-lang/php

Wie sie sehen, haben sie mit Gentoo fast dieselben Möglichkeiten, die ihnen auch beim manuellen Zusammenstellen von PHP zu Verfügung stehen. Wie üblich können sie alles über die USE-Variable bestimmen. Wie immer wird sich portage um alle Abhängigkeiten kümmern. Um PHP als Apache-Modul (Version 2.x), CGI-Binär und CLI zu kompilieren, gehen sie folgendermaßen vor:

# USE="apache2 [weitere Optionen]" emerge dev-lang/php
# USE="cgi [weitere Optionen]" emerge dev-lang/php
# USE="cli [weitere Optionen]" emerge dev-lang/php

Fahren sie nun mit Anpassen der Apache-Konfiguration fort.

SuSE/openSuSE[Bearbeiten]

Das Repository "http://download.opensuse.org/distribution/xxx/repo/oss" hinzufügen, der Platzhalter xxx steht für die Versionsnummer ihrer SuSE-Version. Ansschließend das Paket "php5" installieren.

Installation aus dem Quellcode[Bearbeiten]

Sie haben sich also dazu entschieden PHP manuell zu installieren? Richtig so! ;)

Nach dem Download des Quellcodes müssen sie diese nun entpacken. Ich empfehle ihnen, dies nicht über ein Programm mit GUI zu erledigen. Es spricht zwar nichts dagegen, aber zwingen sie sich dazu, so viel wie möglich mit der Konsole zu arbeiten. Sie werden feststellen, dass so aufgerufene Programme Arbeiten sehr schnell erledigen und es ist nunmal der Standardweg für alle administrativen Aufgaben an einem *NIX-System.

In der folgenden Beschreibung gehe ich davon aus, dass sie die Quellcode (php-x.x.x-tar.bz2) im Verzeichnis /opt/src abgelegt haben und ein Apache bereits vorinstalliert wurde:

  $ cd /opt/src
  $ tar -xjf php-x.x.x-tar.bz2
  $ cd php-x.x.x
  $ cat README

Hinweis: Lesen sie sich die README eines Quellcodepakets immer durch. Hier finden sie weitere wertvolle Hinweise zur Installation, aber auch abweichende Handhabungen zu dieser Kurzanleitung.



Wenn dies das erste Mal sein sollte, dass sie Quellen selbst kompilieren, machen sie sich zunächst mit den Optionen des Konfigurationsskripts ./configure vertraut:

  $ ./configure --help

Sollte die Ausgabe zu lang für ihren Bildschirm sein, können sie mit einer Pipe und einen Pager arbeiten:

  $ ./configure --help | less

Zu den einzelnen Optionen lesen sie bitte auch Configure options im PHP-Handbuch!

Alle Optionen, die PHP-Erweiterungen kennzeichnen, die in dessen Quellcode enthalten sind, werden mit --enable-[NAME] oder --disable-[NAME] gesteuert. Bei diesen Erweiterungen müssen sie sich – anders als bei Erweiterungen, die über --with-[NAME] und --without-[NAME] gesteuert werden – nicht darum kümmern, dass weitere Programme aus dem Quellcode zu installieren sind.

Je nachdem welchen Webserver sie installiert haben, stehen ihnen verschiedene Möglichkeiten zur Verfügung PHP zu kompilieren. Im Folgenden werden sie genauer darüber informiert, wie sie ein CGI- oder CLI-Binär, ein Apachemodul für die Version 1.x oder ein Modul für die Version 2.x des Webservers erstellen können.

Vergewissern sie sich bitte unbedingt unter http://www.php.net/manual/de/security.php über die zwingend erforderlichen Optionen, die für die Sicherheit gesetzt werden sollten! Hierbei gilt es abhängig davon, welche PHP-Variante sie installieren wollen, Unterschiede zu beachten. Haben sie alles beachtet? Dann kann es jetzt losgehen. ;)



CGI-/CLI-Binär erstellen[Bearbeiten]

PHP stellt ihnen zwei unterschiedliche Binärprogramme zur Verfügung. Standardmäßig wird das CGI-Binär kompiliert und installiert. Dieses ist für das Common Gateway Interface eines Webservers gedacht. Durch die Option --enable-fastcgi wird das Programm um die Fähigkeit erweitert über FastCGI angesprochen zu werden und einen Parserserver bereitzustellen.

Setzen sie also nun ihre Konfiguration für das CGI-Binär:

  $ ./configure \
  --prefix=/opt/php/cgi \
  --disable-short-tags \
  --enable-discard-path \
  --enable-force-cgi-redirect \
  --enable-memory-limit \
  --with-bz2 \
  --with-config-file-path=/etc \
  --with-config-file-scan-dir=/opt/htdocs \
  --with-openssl \
  --with-zend-vm=GOTO \
  --with-zlib

Daraufhin wird das Shell-Skript configure seine Arbeit beginnen. Das Skript initialisiert eine Reihe von Tests, die im wesentlichen aus Prüfungen bestehen, ob benötigte C-Headerdateien vorhanden sind. Ist alles vorhanden wird das Skript am Ende Make-Dateien erstellen, mit deren Hilfe der GNU-Befehl make die Quellen kompilieren wird.

Achten sie auf Fehlermeldungen!

Gerade am Anfang ist es nichts ungewöhnliches, wenn configure nicht alle benötigten Komponenten vorfindet. Eine mögliche Fehlermeldung könnte beispielsweise so aussehen:

  configure: error: Cannot find OpenSSL's <evp.h>

Diese Meldung zeigt an, daß eine benötigte C-Headerdatei nicht gefunden wurde und ist ein Indiz dafür, dass das Programm / die Bibliothek auf ihrem System nicht installiert wurde - jedenfalls aber nicht unter dem angegebenen oder den vom Entwickler dafür vorgesehenen Pfad.

Wurde configure explizit angewiesen eine Erweiterung zu nutzen, reicht es bereits aus, die entsprechende Option --with-[NAME] oder --enable-[NAME] zu entfernen. Wurde configure nicht explizit angewiesen, müssen sie die entsprechende Erweiterung durch --without-[NAME] oder --disable-[NAME] ausschließen.

Kompilieren sie nun die Quellen und schließen sie die Installation ab:

  $ make
  $ make install

Da PHP sowohl das CGI- als auch das CLI-Binär unter dem mit --prefix benannten Pfad als php ablegen wird, kann immer nur ein Binär gebaut werden. Um ein CLI-Binär zu erhalten, gehen sie wie folgt vor:

  $ ./configure
  --prefix=/opt/php/cli \
  --disable-cgi \
  [weitere Optionen]
  
  $ make
  $ make install

Modul für den Apachen 1.x erstellen[Bearbeiten]

Beachten sie bitte die unter CGI-/CLI-Binär erstellen beschriebene Handhabung bei Fehlermeldungen des configure-Skriptes!

Obwohl derzeit zwei weitere Hauptversionen des beliebten Webserver Apache vorliegen, ist der Apache 1.3.x immer noch der am häufigsten eingesetzte HTTP-Server für produktive Webanwendungen. Für diese Version Apaches haben sie grundsätzlich zwei verschiedene Möglichkeiten, die Nutzung von PHP sicherzustellen.

Sie können aus dem PHP-Quellcode ein eigenes Modul erstellen, das vor der Installation des Apachen in dessen Quellcode abgelegt wird. Das Modul wird dann über dessen configure-Skript aktiviert. Dadurch ist es möglich den Apachen als Monolith-Binär mit PHP-Unterstützung aufzusetzen. Auch wenn es sich eingebürgert hat, Module von Zweitanbietern (Module, die nicht von der Apache Software Foundation herausgegeben werden) als shared object über mod_so zu betreiben, will diese Anleitung sie nicht bevormunden, sondern ihnen auch diese Möglichkeit aufzeigen:

  $ tar -xzf apache_1.3.x.tar.gz
  $ cd apache_1.3.x
  $ ./configure
  
  $ cd ..
  $ tar -xjf php-5.x.x.tar.bz2
  $ cd php-5.x.x
  $ ./configure \
  --with-apache=/pfad/zu/den/Sourcen/apaches \
  --enable-safe-mode \
  --with-mysql \
  --with-openssl \
  --with-zend-vm=GOTO \
  --with-zlib
  $ make
  $ make install
  
  $ cd ../apache_1.3.x
  $ ./configure \
  --prefix=/opt/test \
  --activate-module=src/modules/php5/libphp5.a \
  [weitere Optionen]
  $ make
  $ make install

Wenn sie PHP so nutzen möchten, beachten sie bitte, dass PHP sich ausschließlich über die Konfigurationsdateien (httpd.conf/.htaccess) manipulieren lässt und keinerlei php.ini mehr beachten wird! Weiterhin ist diese Variante der Nutzung auch aufwändiger, da sie mit jeder Aktualisierung von PHP oder dessen Erweiterungen gezwungen sind, den gesamten Server neu aufzusetzen.

Sie können aber auch den üblichen Weg beschreiten. Entpacken und kompilieren sie dazu zunächst die Quellen des Apachen. Der Apache wird in seinem bin-Verzeichnis eine Datei apxs anlegen. apxs ist ein in Perl geschriebenes Skript, welches als Standardschnittstelle für die Generierung von Modulen des Apachen dient.

  $ ./configure \
  --with-apxs=/pfad/zu/apache/bin/apxs \
  --with-config-file-path=/etc \
  --with-config-file-scan-dir=/opt/htdocs \
  --enable-safe-mode \
  --with-mysql \
  --with-openssl \
  --with-zend-vm=GOTO \
  --with-zlib
  $ make
  $ make install

Das so erstellte Modul wird Direktiven der php.ini stets beachten.

Modul für den Apachen 2.x erstellen[Bearbeiten]

Beachten sie bitte die unter CGI-/CLI-Binär erstellen beschriebene Handhabung bei Fehlermeldungen des configure-Skriptes!

Seit der PHP-Version 5.1 gilt das Modul für den Apachen 2.x nicht länger als experimentell. Gehen sie nach dem Entpacken und Kompilieren der Apache-Quellen folgendermaßen vor:

 $ ./configure \
 --with-apxs2=/pfad/zu/apache2/bin/apxs \
 --with-config-file-path=/etc \
 --with-config-file-scan-dir=/opt/htdocs \
 --enable-safe-mode \
 --with-mysql \
 --with-openssl \
 --with-zend-vm=GOTO \
 --with-zlib
 $ make
 $ make install

Darüber hinaus lässt sich PHP nunmehr auch als Filter kompilieren. Diese Option ist jedoch noch experimentell. Ein Filtermodul stellt Möglichkeiten für den Eingriff in die Verarbeitung einer Anfrage an den Server bereit, oder kann den zu servierenden Inhalt von Ressourcen manipulieren. Beides sind keine klassischen Einsatzfelder von PHP. Daher wird an dieser Stelle nicht näher darauf eingegangen.


Hinweis: Auf Multithreaded Server, wie dem Apachen z. B. mit mod_worker können sie keine PHP-Module nach dessen Start nachladen. Überdenken sie daher bei der Erstellung des Servermodules sorgfältig, welche Erweiterungen sie tatsächlich für ihre Webprojekte benötigen/benötigen werden!


PHP in Module gliedern[Bearbeiten]

Der Apache macht es vor die Funktionalität in einzelne Module zu gliedern. Dies kann man auch mit den PHP-Erweiterungen (extension) machen. Es ist vorteilhaft, wenn sich die einzelnen C-Bibliotheken der Erweiterungen aktualisieren. So muss man nicht immer PHP neu aufsetzen; es genügt die einzelne Erweiterung neu zu kompilieren. Auch wenn in der Ausgabe von ./configure --help nachzulesen ist, dass nicht alle Erweiterungen als Modul gebaut werden können, so ist dies schlichtweg falsch.

Anhand des folgenden Beispiels, in dem ein CLI-Binär erstellt wird, möchte ich ihnen kurz darlegen, wie sie alle Erweiterungen als Module kompilieren können.


Hinweis: Sie müssen GNU-autoconf installiert haben! Löschen sie den PHP-Quellcode nicht vor dem Neuerscheinen einer aktuelleren Version, denn die dort abgelegten C-Headerdateien sind wichtig, wenn sie während des Betriebs feststellen sollten, dass sie weitere PHP-Module benötigen.


Erstellen sie sich als erstes ein PHP-Binär, dass nichts weiter kann, als die ureigene Sprache auszuführen:

$ ./configure \
--prefix=/opt/php \
--disable-all \
--disable-cgi
$ make
$ make install

Hierbei werden im Verzeichnis /opt/php/bin die Programme php, phpize und php-config erstellt. phpize ist ein Shell-Skript, mit dessen Hilfe für die Quellcode der einzelnen Erweiterungen ein configure-Skript erstellt wird, während php-config alle wichtigen Pfadangaben und Optionen für das Kompilieren enthält. Die Quellen der einzelnen Erweiterungen finden sich in dem Archivextrakt unterhalb des Verzeichnisses ext/. Wechseln Sie in dieses Verzeichnis und sehen Sie sich an, welche Erweiterung im Quellcode von Hause aus enthalten sind:

$ cd ext/ && ls

Weitere Erweiterungen können von pecl.php.net oder anderen Anbietern bezogen werden. Die Vorgehensweise ist dabei stets dieselbe.

Erstellen sie nun ihr erstes PHP-Modul für Perl-kompatible Reguläre Ausdrücke:

$ cd pcre/
$ /opt/php/bin/phpize

Dabei wird ihnen folgende Fehlermeldung ausgegeben:

Cannot find config.m4.
Make sure that you run '/opt/php/bin/phpize' in the top level source directory of the module

Daher habe ich Sie mit dieser Erweiterung anfangen lassen. Einige Erweiterungen haben ihre config-Anweisungen unter dem Namen config0.m4 oder auch config.m4.0 abgelegt. Sehen Sie sich also bei solchen Fehlermeldungen den Inhalt des Verzeichnis an und kopieren Sie die entsprechende Datei, sodass sie von phpize gefunden wird:

$ cp config0.m4 config.m4
$ /opt/php/bin/phpize
$ ./configure --with-php-config=/opt/php/bin/php-config
$ make
$ make install
$ cd ..

Nehmen Sie sich nun eine andere Erweiterung als zusammenhängendes Beispiel vor:

$ cd posix/
$ /opt/php/bin/phpize
$ ./configure --with-php-config=/opt/php/bin/php-config
$ make
$ make install

Tipps und Tricks[Bearbeiten]

Fehler beim Kompilieren vermeiden

Es kann öfters mal etwas schief gehen: C-Headerdateien für bestimmte Erweiterungen sind nicht vorhanden, make bricht ab, oder Sie stellen nach dem Kompilieren ganz einfach fest, dass Sie dem configure-Skript nicht alle gewünschten Optionen übergeben haben. Für gewöhnlich ruft man make clean an der Konsole auf. Jedoch gab es in der Vergangenheit damit immer wieder Probleme.

Daher sollten Sie den extrahierten Quellcode komplett löschen, neu entpacken und von vorn beginnen.

Zlib muss mit!

Wenn Sie PHP für Webprojekte neu aufsetzen, wählen Sie unbedingt die Option --with-zlib. Sie können sich so eine Menge an Bandbreite sparen. Lesen Sie näheres unter Konfiguration.

atomares Datei-Locking sicherstellen

Da auf Multithreaded Server mit z. B. flock() nicht sichergestellt werden kann, dass Dateien exklusiv für einen einzelnen Vorgang gesperrt werden, aktivieren Sie die Erweiterung Semaphoren mit --enable-sysvsem. Mit Hilfe dieser Erweiterung können Sie sich ein atomares Datei-Locking erstellen.

Optionen übergeben

Anders als bei anderem Quellcode bietet PHP keine direkten Möglichkeiten, dem configure-Skript Optionen für das Kompilieren zu übergeben. Gehen Sie daher folgendermaßen vor:

CFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer -pipe" ./configure ...

Ober bestimmen Sie breits beim Kompilieren, wo Sie Ihre Include-Dateien abgelegt haben oder Ihr Verzeichnis für die PHP-Module angelegt werden soll:

INCLUDE_PATH="/opt/php/inc:/home/eddi/inc:." ./configure ...
EXTENSION_DIR="/opt/php/modules" ./configure ...

Vereinfachungen

Legen Sie sich ein wiederverwendbare Konfigurationsdatei an und führen Sie diese von Version zu Version aus:

$ source ../mein-conifg-fuer-php.conf

Eine Beispielkonfigurationsdatei:

EXTENSION_DIR="/opt/php/modules" \
INCLUDE_PATH="/opt/php/inc:/home/eddi/inc:." \
CFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer -pipe" \
./configure \
--prefix=/opt/php/513 \
--disable-all \
--disable-cgi \
--disable-short-tags \
--enable-memory-limit \
--enable-pcntl \
--enable-posix \
--enable-sigchild \
--enable-sysvsem \
--enable-sysvshm \
--with-bz2 \
--with-config-file-path=/opt/conf \
--with-openssl \
--with-zend-vm=GOTO \
--with-zlib

Anpassen der Apache-Konfiguration[Bearbeiten]

Konfiguration für CGI[Bearbeiten]

Nehmen sie in die Apache-Konfigurationsdateien (httpd.conf/.htaccess) folgende Direktiven auf:

ScriptAlias /wikiphp/                      /pfad/zum/Verzeichnis/des/CGI-Programm/
Action      application/x-httpd-php        /wikiphp/php
Action      application/x-httpd-php-source /wikiphp/php

Die grünen Passage können sie nennen, wie sie wollen. Wichtig ist nur, dass ihnen der Zusammenhang zwischen der Angabe des ScriptAlias und der Action-Direktive klar ist. Unter Windows sieht das z. B. dann so aus:

ScriptAlias /wikiphp/                      "C:/php/"
Action      application/x-httpd-php        "/wikiphp/php.exe"
Action      application/x-httpd-php-source "/wikiphp/php.exe"

Konfiguration für mod_php[Bearbeiten]

Nehmen sie folgende Zeilen in ihre httpd.conf auf, wenn diese noch nicht vorhanden sind:

LoadModule php5_module modules/libphp5.so

Für Windows notieren sie bitte eine der folgenden Zeilen (Je nach Version Apaches und PHP):

LoadModule php5_module "C:/php/php5apache2.dll"
LoadModule php5_module "C:/php/php5apache.dll"

Skripte durch Endungen erkennen[Bearbeiten]

Es gibt mehrere Möglichkeiten den Apachen zu konfigurieren, damit er PHP-Skripte ausführt. Diese Angaben treffen sowohl auf PHP als Servermodul, wie auch auf das CGI-Binär zu. Nehmen sie folgende Zeilen in die mime.conf auf:

AddType application/x-httpd-php        phtml php php5
AddType application/x-httpd-php-source phps

Darüber hinaus können sie Verzeichnisweit (.htaccess) mit der Direktive AddType arbeiten:

AddType application/x-httpd-php        php
AddType application/x-httpd-php-source phps



Hinweis: Sie werden PHP nicht zum Laufen bekommen, wenn sie vergessen haben mod_mime (für CGI darüber hinaus mod_alias) in den Server zu kompilieren, oder diese(s) nicht aktiviert haben!


Verweise[Bearbeiten]

Unter den folgenden Verweisen bekommen sie weitergehende Hilfestellungen und Alternativen zur PHP-Installation:

  • Installations-FAQ des Handbuches (Hilfreiche Zusammenstellungen von Problemen während der Installation und Lösungswege)
  • Anleitung zum Betrieb von PHP als FastCGI (Detaillierte Beschreibung einer Installation von Apache 2.x und FastCGI unter Debian)
  • suphp.org (Quellcode und Beschreibung für die Installation von mod_suphp. Es ermöglicht das Ändern von Benutzer und Gruppe vor der Skriptausführung unter Apache.)
  • Apache-Konfigurationsdatei - Serverseitige Techniken (Ein Artikel, der die Konfiguration Apaches mit PHP beschreibt.)
  • Apache2-PHP-MySQL-Wiki für Gentoo (Ein HowTo für die Installation von Apache, PHP und MySQL unter Gentoo)
  • PHP Accelerator (Entwickler-Website von PHP Accelerator, einer kostenlosen Zend-Erweiterung zur Beschleunigung der Ausführung von PHP.)
  • SecurePHP (Ein englischsprachiges Wiki rund um die Sicherheit von PHP.)
  • >e-novative> WAMP Kostenloses Installationsprogramm für PHP, Apache, MySql und phpMyAdmin unter Windows
  • Apachefriends (xampp - eine LAMP-TEST-Entwicklungsumgebung von Apachefriends, gut für Einsteiger, mit Downloadmöglichkeit und anderen nützlichen Tipps und Tricks)
  • xampp (Downloadmöglichkeit bei sourceforge.net)

Abschließende Bemerkung[Bearbeiten]

Der Apache-Server muss für jede Änderung der Konfiguration neu gestartet werden. Wird PHP als Servermodul genutzt, gilt dies auch für Anpassungen in der php.ini!

Diese Bemerkung ist deswegen notwendig, da die meisten Fragesteller in Foren bei Problemen rund um die PHP-Konfiguration dies nicht beherzigt haben.