1. Was ist eAcceleratoreAccelerator ist eine freie Open-Source PHP Optimierungssoftware. Sie verbessert die Geschwindigkeit von PHP Skripten durch Zwischenspeicherung im kompilierten Zustand. Hierdurch soll die Auslastung des Servers als auch die Geschwindigkeit der Scripte um das 1-10fache gesteigert werden. 2. InstallationZunächst besorgen wir uns die aktuelle Version von http://www.eaccelerator.net/. Zum Zeitpunkt des Tutorial war dies 0.9.5.2. Weiterhin ist zu beachten das dieses Tutorial für Debian Etch geschrieben wurde. cd /usr/local/src/ wget http://bart.eaccelerator.net/source/0.9.5.2/eaccelerator-0.9.5.2.tar.bz2 Nun folgt das entpacken des Archives. tar jxvf eaccelerator-0.9.5.2.tar.bz2 rm eaccelerator-0.9.5.2.tar.bz2 Wir wechseln nun in das Verzeichniss des entpackten Archives. cd eaccelerator-0.9.5.2 Für die weitere Installation setzen wir nun kurz eine Variable. export PHP_PREFIX="/usr" 2.1 Installation für PHP5eAccelerator muss speziell für beide PHP Versionen Kompiliert werden. Daher ist es nötig dieses für beide Versionen (PHP4 & PHP5) zu wiederholen. Weiterhin ist zu beachten das bei Upgrades der PHP Versionen eAccelerator neu kompiliert werden muss. $PHP_PREFIX/bin/phpize5 ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config5 Nun muss nur noch das Modul in das PHP Extension Verzeichnis kopiert werden. Dies geschieht durch: make install Um nun das Modul zu laden erstellen wir hierfür eine Konfigurationsdatei: vi /etc/php5/conf.d/eAccerlerator.ini Diese füllen wir mit folgendem Inhalt und speichern sie anschließend. Natürlich ist zu beachten das die Variable 'zend_extension' korrekt gesetzt ist. zend_extension="/usr/lib/php5/20060613/eaccelerator.so" eaccelerator.shm_size="16" 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" 2.1 Installation für PHP4Die Installation für PHP4 erfolgt eigentlich zu 99% so wie bei PHP5. Bevor jedoch überhaupt hiermit begonnen werden kann, muss folgender Befehl ausgeführt werden. make clean Wie bereits beschrieben, erfolgt die Installation nahezu identisch. $PHP_PREFIX/bin/phpize4 ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config4 Kopieren des Moduls make install Erstellen der Konfigurationsdatei vi /etc/php4/conf.d/eAccerlerator.ini Füllen mit folgendem Inhalt: zend_extension="/usr/lib/php4/20050606/eaccelerator.so" eaccelerator.shm_size="16" 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" 2.3 Einbinden in ispCPGrundsätzlich legt eAccelerator die Kompilierten Dateien in /tmp ab. Meiner Meinung nach ein etwas unsicheres Verhalten. Aus diesem Grund setzen wir das Verzeichnis auf das /phptmp Verzeichnis der jeweiligen Domain. Hierzu editieren wir folgende Dateien: /etc/ispcp/fcgi/parts/php5/php.ini /etc/ispcp/fcgi/parts/php4/php.ini Am Ende beider Dateien fügen wir nun folgendes hinzu: [eAccelerator]
eaccelerator.cache_dir = "{WWW_DIR}/{DMN_NAME}/phptmp"
Hierdurch wird nun das Cache Verzeichnis auf das phptmp Verzeichnis der jeweiligen Root Domain gesetzt. Eine Optimale Lösung wäre natürlich das Unterscheiden von Subdomains und Domain Aliase, jedoch ist das nicht möglich da nur eine php.ini für die Hauptdomain existiert. Auch ein setzen über php_admin_value führt zu keinem positiven Ergebnis. Abschließend ist noch die Neuerstellung der Konfiguration notwendig. Informationen hierzu findet ihr unter Regenerieren der Konfiguration (Eng) |
