OVH Community, your new community space.

Gentoo OVH HowTo: libphp5 statt suphp


EisWiesel
13.05.09, 20:31
Jo das könnte ich durchaus mal für Embperl ( http://perl.apache.org/embperl/ ) in betracht ziehen, thx

F4RR3LL
12.05.09, 23:50
Servus Eiswiesel,
nette Anleitung.
Hast du evtl mal mit lighttpd + fastcgi bzw noch besser mit nginx + fastcgi experimentiert?
Solltest du mal Zeit, Laune und Ressaurcen frei haben versuchs mal.
Bin davon absolut überzeugt.
Gruß Sven

EisWiesel
12.05.09, 21:57
Dieses HowTo habe ich mal kurzfristig zusammegestellt da ich hier im Forum nichts darüber finden konnte und es evtl noch jmd anderes gebrauchen könnte...
Ich habe gelesen das suphp ein Performancekiller ist und den Aufbau einer Seite eben stark verlangsamen kann. Um das zu testen wollte ich nun mal gucken wie groß der Unterschied zu mod_php ist und versuchte es einzurichten...

Leider lässt sich dev-lang/php aus dem Gentoo Portage wegen diverser OVH-Pakete und derren Abhängigkeiten nicht installieren und dev-lang/php4-ovh sowie dev-lang/php5-ovh wurden ohne apache2 Unterstüzung gebaut... So muss man leider auf eine selbst kompilierte Variante ausweichen wenn man den OVH-apache usw beibehalten will
Nachteil des ganzen ist natürlich das man sich selber um diese PHP-Installation und zukünftige Updates kümmern muss, das war aber vorher ohnehin so


Also, zuerst als root auf seinem RPS einloggen und die aktuellen PHP-Sourcen runterladen, in meinem Fall PHP 5.2.9:
Code:
wget http://de3.php.net/get/php-5.2.9.tar.gz/from/de.php.net/mirror
Dann die gerade runtergeladene Datei php-5.2.9.tar.gz entpacken:
Code:
tar -xzf php-5.2.9.tar.gz

cd php-5.2.9
Nun wird das Konfigurationsscript ausgeführt, hier muss die apache2-unterstützung angegeben werden und es sollten natürlich alle Erweiterungen der aktuellen PHP-Installation dabei sein. Ein prefix Sorgt dafür das die PHP-Installation an einen festgelegten Ort installiert werden (um anderen Installationen nicht zu schaden). In meinem Fall /usr/local/php_529
Code:
./configure --prefix=/usr/local/php_529 --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/etc/php_529 --with-pear=/usr/share/php5 --enable-exif --enable-ftp --enable-bcmath --enable-calendar --enable-gd-native-ttf --with-freetype-dir --with-gettext --with-zlib-dir --with-imap --with-imap-ssl --with-png-dir=/usr --with-jpeg-dir=/usr --with-xpm-dir=/usr --with-openssl --with-kerberos --enable-sysvsem --enable-sysvshm --with-mcrypt --with-iconv --enable-mbstring=all --enable-mbregex --with-mysql=/usr --with-mysqli --with-curl --with-pdo-mysql --enable-soap --with-mhash --with-xsl --with-gd
Ist alles ohne Probleme durchgelaufen, kann es mit make + make install installiert werden:
Code:
make && make install
Bisherige php.ini kann wiederverwendet werden:
Code:
mkdir /usr/local/etc/php_529

cp /usr/local/lib/php5/php.ini /usr/local/etc/php_529/php.ini
Während der PHP-Installation wurde libphp5 schon als apache2-modul in der httpd.conf hinzugefügt, nun muss suphp noch auskommentiert werden:
Code:
vim /httpd.conf
Also folgende Zeilen finden, ich weiss nicht mehr ob sie genau untereinander standen:
Code:
suPHP_Engine on
AddHandler x-httpd-php5 .php
AddHandler x-httpd-php5 .php5
AddHandler x-httpd-php4 .php4
suPHP_AddHandler x-httpd-php5
suPHP_AddHandler x-httpd-php4
und auskommentieren:
Code:
#suPHP_Engine on
#AddHandler x-httpd-php5 .php
#AddHandler x-httpd-php5 .php5
#AddHandler x-httpd-php4 .php4
#suPHP_AddHandler x-httpd-php5
#suPHP_AddHandler x-httpd-php4
Das Modul muss auch nicht geladen werden, folgende Zeile:
Code:
LoadModule suphp_module modules/mod_suphp.so
ändern in
Code:
#LoadModule suphp_module modules/mod_suphp.so
Dann noch folgende Zeile finden (wurde beim installieren automatisch hinzugefügt)
Code:
LoadModule php5_module        modules/libphp5.so
und gleich darunter folgendes einfügen:
Code:

        SetHandler application/x-httpd-php



        SetHandler application/x-httpd-php-source
Das sollte es soweit sein, also apache neustarten und lostesten
Code:
/etc/init.d/apache restart
Mein selbstgeschriebendes Forum ist dadurch btw deutlich schneller geworden.