Apache, PHP und mySQL
Apache 2 mit php5 installieren
Der Apache 2 Webserver ist auf Linux schnell installiert. Führt dazu folgenden Befehl aus:
apt-get install apache2 php5 libapache2-mod-php5
Die Konfigurationsdateien finden sich zudem unter folgendem Verzeichnis:
/etc/apache2/
Bei Änderungen an den Konfigurationsdateien muß dann immer wieder der Apache 2 neu gestartet werden. Dazu gebt einfach folgenden Befehl ein:
etc/init.d/apache2 restart
mySQL installieren
Damit wir auch eine Datenbank zur Verfügung haben könnt Ihr diese mit
apt-get install php5-mysql mysql-server mysql-client
installieren. Setzt dann erstmal ein Passwort für mysql:
mysqladmin -u root password DEIN_GEHEIMES_PASSWORT
Mit einem
mysqladmin -p create tabelle01
legt Ihr beispielsweise dann eine erste Datenbank namens tabelle01 an. Ihr könnt diese mit einem
mysqladmin -p drop tabelle01
wieder entfernen/löschen. Wenn Ihr das seht, dann ist die Tabele auch wieder entfernt:
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.
Do you really want to drop the 'tabelle01' database [y/N] y
Database "tabelle01" dropped
Checkt nun, ob alles sauber läuft. Dazu legen wir in unser Dokumentenroot eine Datei mit folgenden Inhalt:
phpinfo.php
<?php
phpinfo();
?>
Erstellt die Datei einfach extern in einen Editor und ladet diese in Euer Dokumentenroot des Servers. Wenn Ihr diese nun im Browser aufruft, solltet Ihr eine entsprechende Anzeige bekommen.
Eaccelerator installieren
Um nun den Aufruf etwas zu beschleunigen installieren wir noch ein Cachesystem, den eAccelerator. Dieser muss allerdings von Grund auf neu kompiliert werden. Installiert deswegen zuerst folgende Komponenten, die Ihr für den Compile benötigt:
apt-get install bzip2 build-essential php5-dev
Jetzt legen wir unter dem Hauptverzeichnis ein Arbeitsverzeichnis an:
mkdir work
wir wechseln dahin:
cd work
Danach holen wir uns die aktuelle Version (Bitte auf der eaccelerator Projektseite nach der aktuellen Versionsnummer schauen):
wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
Danach wird ausgepackt:
tar xvfj eaccelerator-0.9.5.3.tar.bz2
Und in das korrekte Verzeichnis gewechselt:
cd eaccelerator-0.9.5.3
Danach bereiten wir den Compile vor:
phpize
./configure --with-eaccelerator-userid=nobody
Kompilieren:
make
Installieren:
make install
Wir müssen nun die eaccelerator.ini anlegen:
touch /etc/php5/conf.d/eaccelerator.ini
Füllt diese Datei mit Eurem präferierten Editor mit folgendem Inhalt:
extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/var/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
Danach müssen wir noch das Verzeichnis anlegen, in dem gecacht werden soll. Dieses ist in der eaccelerator.ini vorgegeben:
mkdir -p /var/cache/eaccelerator
Danach müssen noch die Zugriffsrechte neu geregelt werden:
chmod 0777 /var/cache/eaccelerator
Startet den Apache nun neu:
/etc/init.d/apache2 restart
Damit wir testen können, ob der eaccelerator und alle anderen sonstigen Dienste laufen, schauen wir uns nochmal die phpinfo.php an. Wenn der eaccelerator läuft seht Ihr folgenden Abschnitt:
Bitte beachtet, dass Ihr den eAccelerator jedes Mal neu kompilieren müsst, sobald eine neue php Version installiert wird, da es sonst zu Versionskonflikten kommt und der Apache Webserver nicht startet. Wenn Ihr keinen Zugriff nach einem php Update habt, dann schaut Euch die /var/log/apache2/error.log an, dort wird in der Regel ein entsprechender Hinweis zu finden sein. Um einen neuen Kompile zu starten muss vorher das Entwicklerverzeichnis aufgeräumt werden. Also in Eurem eAccelerator Work Verzeichnis ein
make clean
ausführen. Danach die Prozedur wie oben beschrieben und dann den Apache neu starten:
/etc/init.d/apache2 restart
Damit wäre der Webserver soweit eingerichtet.