Mittwoch, 15. September 2010

PHP Beschleuniger eAccelerator - Installation für TYPO3 unter Ubuntu

eAccelerator beschleunigt und optimiert die Ausführung von PHP-Code unter Apache. Dabei wird einmal ausgeführter PHP-Code kompiliert gespeichert und muss so nicht bei jedem Seitenaufruf neu kompiliert werden. Dadurch wird PHP-Code bis zu zehn mal so schnell ausgeführt.

Die Installation eines PHP Beschleunigers macht sich, insbesondere bei Content Management Systemen wie TYPO3, positiv bemerkbar.

Zunächst müssen die Voraussetzungen für die Kompilierung und die Installation von eAccelerator geschaffen und die erforderlichen Pakete wie folgt installiert werden:

apt-get install build-essential php5-dev

Anschließend wird die aktuelle Version (derzeit 0.9.6.1) von der Webseite der eAccelerator-Entwickler geladen, im Ordner /usr/src gespeichert und dort entpackt:

cd /usr/src

wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2


tar -xfvj eaccelerator-0.9.6.1.tar.bz2


Nach dem Entpacken des Archivs in den erstellten Ordner /usr/src/eaccelerator-0.9.6.1 wechseln und mit folgenden Befehlen die Installation durchführen:

cd /usr/src/eaccelerator-0.9.6.1

phpize


./configure


make


make install


Nun muss im Ordner /etc/php5/conf.d noch die Datei eaccelerator.ini:

nano /etc/php5/conf.d/eaccelerator.ini

erstellt und mit folgenden Standardeinstellungen versehen werden:

extension="eaccelerator.so"
eaccelerator.shm_size="32"
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"

Bei den Werten handelt es sich um vorgegebene Einstellungen von eAccelerator die ggf. (je nach Größe der TYPO3- /Web-Site) angepasst werden müssen.

Sollte eine Erhöhung des SharedMemory-Wertes "eaccelerator.shm_size" auf Werte über 32 notwendig sein, sollte geprüft werden, ob der Kernel auf dem betroffenen System Reservierungen über 32MB zulässt (/proc/sys/kernel/shmmax) und diese ggf. höher setzen:

#zum Testen temporär auf 64GB erhöhen
echo "67108864" > /proc/sys/kernel/shmmax
#Erhöhung auf 64GB festlegen
echo "kernel.shmmax=67108864" >> /etc/sysctl.conf
#Einlesen der sysctl.conf
sysctl -p
Mit dieser Einstellung kann man eAccelerator nun bis zu 64MB Shared Memory zur Verfügung stellen.

Abschließend muss noch der -in der eaccelerator.ini angegebene- Ordner für die Ablage der gecachten Dateien angelegt und für alle Benutzer mit Schreibrechten versehen werden:

mkdir /var/cache/eaccelerator

chmod 777 /var/cache/eaccelerator


Nun noch den Apache neu starten:

/etc/init.d/apache2 restart

dann sollte eAccelerator seinen Dienst tun.

eAccelerator Webkonsole aktivieren

eAccelerator bringt ein Web-Interface mit, welches es einem ermöglicht sich einen Überblick über gecachte Seiten sowie über den Status der eAccelerator-Installation zu verschaffen. Diese Webkonsole muss extra aktiviert werden:

Die Datei control.php aus dem Installationsverzeichnis in den Webseitenordner des Apache kopieren:

cp /usr/src/eaccelerator-0.9.6.1/control.php /var/www

Die eaccelerator.ini editieren:

nano /etc/php5/conf.d/eaccelerator.ini

und den Pfad zur control.php wie folgt eintragen:

eaccelerator.allowed_admin_path="/var/www/control.php"

Apache neu starten:

/etc/init.d/apache2 restart

Anschließend kann die Webkonsole über

http://meinwebserver.de/control.php

aufgerufen werden.

Standardmäßig ist die Konsole über eine Passwortabfrage geschützt:

Benutzername: admin
Kennwort: eAccelerator

Die Zugangsdaten können und sollten in der control.php angepasst werden, indem man die folgenden Werte ändert:

$user = "admin";
$pw = "eAccelerator";

Wenn man den Zugangsschutz für die Webkonsole deaktivieren möchte geht das über folgenden Wert in der control.php:

$auth = false;

Keine Kommentare:

Kommentar veröffentlichen