Dieses HowTo soll euch zeigen, wie man auf Debian Etch einen leistungsstarken Webserver für PHP-Anwendungen zur Verfügung stellt. Ich verwende beschriebene Konfiguration für einen Produktiv-Server, auf dem mehrere VHosts laufen. Darauf sind zahlreiche Web-Applikationen, wie Typo3 installiert. Ziel ist es einen Server mit folgenden Eigenschaft zu installieren…
* Apache 2
* PHP5 (via FastCGI)
* cURL-Erweiterung für PHP (wird von Typo3)
* Tidy-Erweiterung für PHP (optional für PHP)
* mcrypt-Erweiterung für PHP (empfohlen für phpMyAdmin)
* GD2lib mit Freetype2
* eAccelerator (PHP-Beschleuniger)
* Zend Optimizer (PHP-Beschleuniger)
* MySQL5
Des Weiteren wird es mit diesen Paketen möglich sein, die PHP-Skripte mit den Rechten des Eigentümers auszuführen. Dafür wird suExec zuständig sein. Ich lege bei diesem Tutorial Wert auf eine hohe PHP-Performance, weshalb ich zu dem seit längerem etabliertem FastCGI auch noch zwei PHP-Beschleuniger einsetze.
Benötigt wird ein SSH-Zugang zu eurem Sever. Natürlich verlangt die Konfiguration von uns, dass wir mit root-Rechten auf dem Server arbeiten dürfen. Zudem verwende ich für das Editieren der Config-Dateien den Edit-Modus des MidnightCommanders. Das ist in meinen Augen ein ganz nützlicher Datei-Browser, der ein minimales GUI mitbringt. Wer ihn ebenfalls nutzen will, installiert das Teil mit folgendem Befehl:
# aptitude install mcIhr solltet zunächst euer Debian auf den neusten Stand bringen. Wie empfohlen nutzen wir zum Installieren der Pakete “aptitude”. Wer bei seinem System bereits auf apt-get zurückgegriffen hat, sollte dies auch weiterhin tun und “aptitude” durch “apt-get” ersetzen.
System aktualisieren
# aptitude update# aptitude upgrade
Benötigte Pakete installieren:
# aptitude install apache2-mpm-worker apache2-threaded-dev apache2.2-common apache2-utils libapache2-mod-fcgid php5 php5-common php5-cgi php5-gd php5-mysql php5-tidy php5-curl php5-mcrypt mysql-server-5.0 libfreetype6 libgd2-xpmStandardmäßig bekommt der MySQL-Root-User kein Passwort, da zunächst keine Verbindungen von außen zulässt. Da sicher nun einmal sicher ist, werden wir dennoch ein Passwort vergeben. “geheim” bitte durch dein Passwort ersetzen.
# mysqladmin -u root password geheimWenn du nun die IP-Adresse deines Servers im Browser eingibst, solltest du bereits mit der Meldung “It works!” belohnt werden.
