BlackPixel
New Member
Das How To bezieht sich auf einen 1&1 Root L64, Suse 10.1, der zum momentanen Stand Plesk 8.2.0 sowie alle Online Updates bekommen hat
PHP5.2.3 mit suPHP 0.6.2 und eaccelerator installieren und für einzelne, alle oder neu angelegte Vhosts automatisch aktivieren.
Pakete über yast2 installieren:
Symlinks anlegen:
Header Files kopieren:
PHP installieren:
suPHP installieren
Extension File in den Modules Ordner legen:
Im Abschnitt Apache_Modules den Eintrag hinzufügen
Logfile anlegen:
Config anlegen:
Die Config kann so aussehen:
eaccelerator installieren:
und in den php extension Ordner legen:
php.ini bereitstellen und anpassen:
eaccelerator config eintragen:
vhost skeleton anlegen: (für neue Webs!)
in die vhost.conf können wir folgende Konfiguration eintragen:
Für vorhandene vhosts die configuration 1:1 in die vhost.conf so übernehmen, lediglich den Platzhalter für Domainname ersetzen.
Configänderung an PSA mitteilen:
Webserver neu starten:
Über die vhost.conf können dann alternative php.ini Pfade angegeben werden. Das ist ganz nützlich, um zB vhosts mit statischen Seiten anders zu konfigurieren als vhosts mit TYPO3 z.B. (memory_limt, register_globals und so weiter)
Überprüfen ob alles geklappt hat:
In einem VHost die Datei info.php anlegen:
Inhalt:
Über den Browser die Datei aufrufen und folgendes Überprüfen:
Am Ende der ersten Tabelle auf den Zend hinweis achten, der den eaccelerator beinhalten muss:
Viel Spass beim nachbasteln!
PHP5.2.3 mit suPHP 0.6.2 und eaccelerator installieren und für einzelne, alle oder neu angelegte Vhosts automatisch aktivieren.
Code:
cd /srv/
mkdir software
cd software/
Code:
wget http://de3.php.net/get/php-5.2.3.tar.gz/from/this/mirror
wget http://www.suphp.org/download/suphp-0.6.2.tar.gz
wget http://bart.eaccelerator.net/source/0.9.5.1/eaccelerator-0.9.5.1.tar.bz2
Code:
tar xzf php-5.2.3.tar.gz
tar xzf suphp-0.6.2.tar.gz
bunzip2 eaccelerator-0.9.5.1.tar.bz2
tar xf eaccelerator-0.9.5.1.tar
Pakete über yast2 installieren:
Code:
Apache2-devel
Autoconf
Automake
Curl-devel
Cyrus-sasl-devel
Db42
Fontconfig-devel
Freetype2-devel
Gcc
Gcc-c++
Gd-devel
Glibc-devel
Gmp
Gmp-devel
Libapr1-devel
Libapr-util-devel
Libidn-devel
Libjpeg-devel
Libmcrypt-devel
Libpng-devel
Libstdc++-devel
Libxml2-devel
M4
Mhash
Mhash-devel
Mysql-devel
Openldap2
Openldap2-devel
Openssl-32bit-devel
Openssl-devel
Readline
Readline-devel
Xorg-x11-devel
Zlib-devel
Symlinks anlegen:
Code:
ln -s /usr/lib64/libjpeg.so.62 /usr/lib/libjpeg.so
ln -s /usr/lib64/libpng.so.3 /usr/lib/libpng.so
ln -s /usr/lib/libldap-2.3.so.0 /usr/lib/libldap.so
Header Files kopieren:
Code:
cp /usr/include/apr-1/*.h /usr/include/apache2/
PHP installieren:
Code:
cd php-5.2.3/
Code:
./configure --with-exec-dir=/opt/php5.2.3-fastcgi/bin --prefix=/opt/php5.2.3-fastcgi --includedir=/opt/php5.2.3-fastcgi/include --datadir=/opt/php5.2.3-fastcgi/lib --bindir=/opt/php5.2.3-fastcgi/bin --without-pear --with-mime-magic --with-mhash --with-ldap --with-gmp --with-gettext --enable-track-vars --with-mcrypt --with-gd --with-curl --disable-cli --with-mysql=/usr/include/mysql --enable-magic-quotes --enable-zend-multibyte --enable-zip --enable-libxml --enable-sysvmsg --enable-sysvsem --with-zlib --with-openssl --with-bz2 --enable-sysvshm --enable-sockets --enable-soap --enable-shmop --enable-mbstring --enable-ftp --enable-exif --enable-dbase --enable-calendar --enable-bcmath --enable-memory-limit --enable-force-cgi-redirect --with-pcre-regex --without-sqlite --without-mm --enable-fastcgi --enable-mbstr-enc-trans --enable-track-vars --enable-trans-sid --enable-wddx --enable-yp --with-jpeg-dir=/usr --with-png-dir=/usr --with-tiff-dir=/usr --with-ttf --with-freetype-dir=yes --with-zlib=yes --with-gd
Code:
make
make install
suPHP installieren
Code:
cd ..
cd suphp-0.6.2/
Code:
./configure --sysconfdir=/etc --with-apxs=/usr/sbin/apxs2 --with-min-uid=500 --with-min-gid=500 --with-apache-user=wwwrun --with-php=/opt/php5.2.3-fastcgi/bin/php --with-setid-mode=owner --with-logfile=/var/log/apache2/suPHP.log --with-apr=/usr/bin/apr-1-config --includedir=/usr/include/apr-1/
Code:
make
make install
Extension File in den Modules Ordner legen:
Code:
cp src/apache2/.libs/mod_suphp.so.0.0.0 /usr/lib64/apache2/mod_suphp.so
Code:
mod_suphp als zu ladendes Modul in der apache2 config angeben:
Code:
vi /etc/sysconfig/apache2
Im Abschnitt Apache_Modules den Eintrag hinzufügen
Code:
APACHE_MODULES="… suphp“
Logfile anlegen:
Code:
touch /var/log/apache2/suphp_log
Config anlegen:
Code:
touch /etc/suphp.conf
Die Config kann so aussehen:
Code:
[global]
logfile=/var/log/apache2/suphp_log
loglevel=info
webserver_user=wwwrun
docroot=/srv/www/vhosts
env_path=/bin:/usr/bin
umask=0030
min_uid=500
min_gid=500
; Security options
allow_file_group_writeable=false
allow_file_others_writeable=false
allow_directory_group_writeable=false
allow_directory_others_writeable=false
;Path to chroot() to before executing script
;chroot=/mychroot
;Check wheter script is within DOCUMENT_ROOT
check_vhost_docroot=true
;Send minor error messages to browser
errors_to_browser=false
[handlers]
;Handler for php-scripts
x-httpd-php=php:/opt/php5.2.3-fastcgi/bin/php-cgi
;Handler for CGI-scripts
x-suphp-cgi=execute:!self
eaccelerator installieren:
Code:
cd /srv/software/eaccelerator-0.9.5.1/
bunzip2 eaccelerator-0.9.5.1.tar.bz2
tar xf eaccelerator-0.9.5.1.tar
cd eaccelerator-0.9.5.1/
export PHP_PREFIX="/opt/php5.2.3-fastcgi/"
$PHP_PREFIX/bin/phpize
Code:
./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
Code:
make
make install
und in den php extension Ordner legen:
Code:
cp /opt/php5.2.3-fastcgi/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so /usr/lib64/php5/extensions/
php.ini bereitstellen und anpassen:
Code:
mkdir /etc/phpvirtual/php5-ini-std/
cp /etc/php5/apache2/php.ini /etc/phpvirtual/php5-ini-std/
vi /etc/phpvirtual/php5-ini-std/php.ini
eaccelerator config eintragen:
Code:
zend_extension="/usr/lib64/php5/extensions/eaccelerator.so"
eaccelerator.shm_size="128"
eaccelerator.cache_dir="/tmp/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"
vhost skeleton anlegen: (für neue Webs!)
Code:
mkdir /srv/www/vhosts/.skel/0/conf/
touch /srv/www/vhosts/.skel/0/conf/vhost.conf
in die vhost.conf können wir folgende Konfiguration eintragen:
Code:
<Directory /srv/www/vhosts/@domain_name@/httpdocs>
php_admin_flag engine off
suPHP_Engine On
suPHP_ConfigPath "/etc/phpvirtual/php5-ini-std"
AddHandler x-httpd-php .php
suPHP_AddHandler x-httpd-php
</Directory>
Für vorhandene vhosts die configuration 1:1 in die vhost.conf so übernehmen, lediglich den Platzhalter für Domainname ersetzen.
Configänderung an PSA mitteilen:
Code:
/usr/local/psa/admin/sbin/websrvmng -a -v
Webserver neu starten:
Code:
rcapache2 configtest
rcapache2 restart
Über die vhost.conf können dann alternative php.ini Pfade angegeben werden. Das ist ganz nützlich, um zB vhosts mit statischen Seiten anders zu konfigurieren als vhosts mit TYPO3 z.B. (memory_limt, register_globals und so weiter)
Überprüfen ob alles geklappt hat:
In einem VHost die Datei info.php anlegen:
Code:
su username-des-vhost
Code:
touch /srv/www/vhosts/domain.tld/httpdocs/info.php
vi /srv/www/vhosts/domain.tld/httpdocs/info.php
Inhalt:
Code:
<?php
phpinfo();
?>
Über den Browser die Datei aufrufen und folgendes Überprüfen:
Code:
PHP Version 5.2.3
Server API: CGI/FastCGI
Loaded Configuration File /etc/phpvirtual/php5-ini-std/php.ini
Am Ende der ersten Tabelle auf den Zend hinweis achten, der den eaccelerator beinhalten muss:
Code:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
[B]with eAccelerator v0.9.5.1, Copyright (c) 2004-2006 eAccelerator, by eAccelerator[/B]
Viel Spass beim nachbasteln!