dynamo.jpg

Treibende Kraft

PHP installieren und konfigurieren

01.08.2004
Im Web gibt es unendlich viele PHP-Programme: Web-Fotogalerien, -Groupware und sogar Applikationen, die direkt auf der grafischen Oberfläche laufen. Den PHP-Interpreter zu installieren und zu konfigurieren, ist manchmal recht aufwändig.

Wer PHP-Programme benutzen will, muss sich zuerst den Interpreter installieren. Je nach gewünschter Konfiguration kommen Anwender aber kaum umhin, PHP aus dem Quellcode zu kompilieren. Außerdem bleiben bei Binärpaketen manche (Security-) Updates auf der Strecke, da die Distributoren nicht so schnell neue Pakete bauen, wie Updates erscheinen. Wer sich trotzdem nicht an den Quellcode wagt, findet eine Anleitung für Suse und Debian in Kasten 1.

Die aktuelle stabile PHP-Version ist 4.3.7 [1]. Version 5 befindet sich noch in der Entwicklung und die meisten Applikationen sind noch für PHP 4 geschrieben. Kasten 2 gibt einige Infos über die Neuerungen von PHP 5. Den Sourcecode der aktuellsten stabilen Version gibt es unter [2] als gepacktes Tar-Archiv. Mit knapp 4 MB ist die Datei nicht allzu groß. Der Befehl tar xzf php-4.3.7.tar.gz beziehungsweise tar xjf php-4.3.7.tar.bz2 entpackt die Sourcen.

Kasten 1: Vorkompilierte Pakete

Die meisten Distributionen bringen bereits alle nötigen Pakete mit, um PHP auf dem Rechner zu installieren. Bei Suse Linux Professional sorgt die Auswahl des Pakets apache2-mod_php4 über Anhängigkeiten für die Installation aller Bibliotheken und Programme (wie Apache 2). Außerdem ist es möglich, die Zusatzmodule von PHP einzeln zu installieren. Suse hat jedes Modul in ein eigenes Paket gesteckt. Die Namen beginnen alle mit php4-. So hat es der Anwender leicht, die nötigen Funktionen auf seinem System zu installieren.

Standardmäßig ist der Apache Webserver bei Suse deaktiviert. In Yast lässt er sich über das Kontrollfeld Netzwerkdienste | HTTP-Server starten. Das PHP-Modul ist bereits aktiviert. Suse 9.1 hat allerdings Probleme, Apache nach der Installation zu starten. Die Eingabe von /etc/init.d/apache2 start als Benutzer Root schafft Abhilfe.

In Debian Woody (3.0) installiert der Befehl aptitude install php4 apache oder apt-get install php4 apache PHP in Version 4.1.2 und den Apache Webserver 1.3.26. Bei der Installation fragt Debian, ob der User das Skript apacheconfig starten will, um PHP zu aktivieren. Leider hat das im Test nicht funktioniert, und es ist nötig, die Datei /etc/apache/conf/httpd.conf von Hand zu editieren. Dort ist das #-Zeichen in der Zeile LoadModule php4_module /usr/lib/apache/1.3/libphp4.so zu entfernen. Ein /etc/init.d/apache restart startet den Apache neu.

Auch die Debianer haben Zusatzmodule von PHP in eigene Pakete ausgelagert, die mit dem Namen php4- beginnen. Der Befehl apt-cache search php4- befördert die Namen der Pakete zutage.

Um die Konfiguration von Apache und PHP zu testen, legt der Benutzer ein Skript mit dem Inhalt aus Listing 1 in das Verzeichnis public_html in seinem Home-Verzeichnis ab. Im Browser sollte die Eingabe von http://localhost/skript.php die PHP-Konfiguration anzeigen.

Vorkompilierte Pakete für PHP 5 gibt es übrigens noch nicht. Das wird sich aber wahrscheinlich mit der Release von Version 5.0.0 schnell ändern.

Für jeden etwas

Nach einem Wechsel ins Verzeichnis php-4.3.7 eröffnet der Aufruf ./configure --help dem Anwender eine Übersicht über alle Erweiterungen, die PHP unterstützt – von XML über FTP bis hin zu Grafikfunktionen für Jpeg, PNG und andere Formate. Viele PHP-Programme benötigen außerdem die Anbindung an eine MySQL-Datenbank. Die Option --with-mysql=/PFAD/ZU/MYSQL aktiviert die nötigen Funktionen. Eine Einführung in MySQL gibt der Artikel auf Seite 24 ff.

Die meisten Benutzer setzen wahrscheinlich den Apache Webserver ein. Sie konfigurieren PHP mit der Option --with-apxs für Apache 1.3 oder --with-apxs2 für Apache 2. Alle anderen Optionen sind davon abhängig, welche Applikationen auf dem Server laufen sollen. Auf den configure-Aufruf folgt ein make und make install, dann ist PHP schon installiert.

Die oben genannten Optionen bei der Konfiguration kompilieren den Interpreter als sogenanntes Dynamic Shared Object (DSO) für Apache. PHP ändert bei der Installation bereits Apaches Konfigurationsdatei http://httpd.conf und fügt folgende Zeile ein:

LoadModule php4_module        \
modules/libphp4.so

Damit der Webserver aber die PHP-Dateien korrekt interpretiert und Dateien mit dem Namen index.php als Indexdateien benutzt, sind noch zwei weitere Zeilen hinzuzufügen:

AddType application/x-httpd\
-php .php
DirectoryIndex index.php

Um das ganze zu testen, legt der Benutzer die Datei index.php mit dem Inhalt aus Listing 1 ins Dokumentenverzeichnis des Webservers.

Listing 1

PHP-Installation testen

01 <?php
02   phpinfo();
03 ?>

Der Funktionsaufruf phpinfo() gibt eine HTML-Seite aus, die eine komplette Übersicht über die Konfiguration des PHP-Interpreters liefert. Abbildung 1 zeigt ein Beispiel.

Abbildung 1: Ein einzelner Funktionsaufruf in PHP zeigt die komplette Konfiguration des Interpreters an.

Kasten 2: PHP 5

Die neueste Version von PHP befindet sich noch in der Entwicklung. Aktuell ist der Release-Kandidat 3, auf den bald die stabile Version 5.0.0 folgen soll.

Wer PHP nur verwendet, um Web-Applikationen wie Online-Foren zu betreiben, der wird kaum Änderungen bemerken. Die meisten Neuerungen haben unter der Haube stattgefunden. Die Zend-Engine, der Kern von PHP, kommt in der neuen Version 2 und bietet ein komplett neues objektorientiertes Interface.

Die Installation ist fast identisch zu der von Version 4. Der übliche Dreischritt ./configure, make und make install installiert PHP 5 und passt auch die httpd.conf an. Aber Vorsicht: Die Installationsroutine von PHP 5 fügt die Zeile LoadModule php5_module modules/libphp5.so in die Apache-Konfiguration ein. Die alte Zeile der PHP-4-Installation muss der Anwender dann auskommentieren (ein # an die erste Stelle setzen) oder löschen.

Die Konfiguration

Über die Konfigurationsdatei php.ini ist es möglich, das Verhalten von PHP sehr detailliert festzulegen. Wie Abbildung 1 zeigt, ist der Standardpfad für diese Datei /usr/local/lib. Wer sie an einem anderen Ort ablegen will, muss beim configure-Aufruf die Option --with-config-file-path=PFAD angeben. PFAD ist der Pfad zur Ini-Datei, beispielsweise /etc.

Im Sourcecode-Archiv von PHP liegen bereits zwei Beispieldateien (php.ini-dist und php.ini-recommended). Eine dieser Dateien kopiert der Anwender dann ins Konfigurationsverzeichnis, allerdings ohne die Zusätze -dist oder -recommended. Für welche der beiden man sich entscheidet, ist Geschmackssache, da beide voll funktionsfähig sind. Die Datei mit der Endung -recommended ist lediglich etwas mehr "getuned" als die andere.

Die einzelnen Konfigurations-Optionen sind in der php.ini selbst bereits genau erklärt. Für die meisten Anwendungen ist es nicht nötig, die Voreinstellungen zu ändern. Eine wichtige Variable ist safe_mode, sie ist standardmäßig abgeschaltet.

In Umgebungen, in denen nicht vertrauenswürdige Skripte laufen, sollte die Variable eingeschaltet werden. Falls der Benutzer lediglich PHP-Skripte auf seinem eigenen System einsetzen will, kann er sie auch ausgeschaltet lassen. Eine Beschreibung der anderen Konfigurations-Optionen gibt es unter [3].

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Web-Server Apache 2
    Das Herzstück eines typischen Internet-Servers bildet ein Programm, das WWW-Seiten anbietet. Weltweit am häufigsten genutztes Exemplar dieser Gattung ist der Apache-Web-Server, dessen Entwickler kürzlich die Version 2 zur allgemeinen Verwendung freigaben.
  • ApacheCon: Programm für Donnerstag, den 10. April 2008
  • Apache absichern mit Mod_security
    Das Apache-Modul Mod_security legt sich als Web Application Level Firewall zwischen Webserver und Browser, sodass es Angriffe frühzeitig erkennen und abwehren kann.
  • MP3-Jukebox mit Web-Frontend
    Eine große MP3-Sammlung auf dem Server ist nicht mehr ungewöhnlich. Damit wird der Computer zur elektronischen Jukebox, die Sie mit der Web-Applikation Otto bequem fernsteuern.
  • Grundkonfiguration des Apache-Webservers
    Äußerst populär und daher bei fast allen Distributionen standardmäßig dabei – der Apache-Webserver ist ein Paradebeispiel für Open-Source-Software. Doch die Ernüchterung folgt auf den Fuß, denn seine Konfiguration wirkt auf den ersten Blick sehr umfangreich und dadurch kompliziert. Dieser Artikel gibt erste Hilfe.
Kommentare

Infos zur Publikation

title_2014_10

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...