Compilieren und upgrade von php5.2.6 auf php5.3.6 (suse 10.3)

madmaxxx

New Member
Hallo,

da es keine Pflege mehr für 10.3 gibt, ich meinen Server im Internet nicht neu aufsetzen möchte und ein upgrade von 10.3 auf 11.x scheinbar viel zu riskant wird, möchte ich php auf die 5.3.x updaten. Ich finde kein fertiges rpm Paket und es wird auch sinnvoller sein den sourcecode neu zu compilieren. Ein neuaufsetzen möchte ich erst machen, wenn ich keine andere Wahl habe. Evtl. 2012.
Ich habe ca. 20 websites am laufen.

Ich habe gcc make usw auf meiner kiste, da ich ispconfig schon compiliert habe. Num benötige ich einen Profi, der mal über meinen Plan schaut, ob ich etwas vergessen habe und ob das überhaupt klappen kann.

System 64bit Suse 10.3 mit php 5.2.6 mit Firewall und ispconfig 2.x und apache spamguard

phpinfo:
Code:
System 	Linux openSUSE-103-64-LAMP 2.6.22.17-0.1-default #1 SMP 2008/02/10 20:01:04 UTC x86_64
Build Date 	May 10 2008 12:58:07
Configure Command 	'../configure' '--prefix=/usr' '--datadir=/usr/share/php5' '--mandir=/usr/share/man' '--bindir=/usr/bin' '--with-libdir=lib64' '--includedir=/usr/include' '--sysconfdir=/etc/php5/apache2' '--with-config-file-path=/etc/php5/apache2' '--with-config-file-scan-dir=/etc/php5/conf.d' '--enable-libxml' '--enable-session' '--with-mm' '--with-pcre-regex=/usr' '--enable-xml' '--enable-simplexml' '--enable-spl' '--enable-filter' '--disable-debug' '--enable-inline-optimization' '--disable-rpath' '--disable-static' '--enable-shared' '--program-suffix=5' '--with-pic' '--with-gnu-ld' '--with-system-tzdata=/usr/share/zoneinfo' '--with-apxs2=/usr/sbin/apxs2' '--disable-all' '--disable-cli'
Server API 	Apache 2.0 Handler
Virtual Directory Support 	disabled
Configuration File (php.ini) Path 	/etc/php5/apache2
Loaded Configuration File 	/usr/local/Zend/etc/php.ini
Scan this dir for additional .ini files 	/etc/php5/conf.d 

additional .ini files parsed 	/etc/php5/conf.d/bcmath.ini, /etc/php5/conf.d/bz2.ini, /etc/php5/conf.d/calendar.ini, /etc/php5/conf.d/ctype.ini, /etc/php5/conf.d/curl.ini, /etc/php5/conf.d/dbase.ini, /etc/php5/conf.d/dom.ini, /etc/php5/conf.d/exif.ini, /etc/php5/conf.d/ftp.ini, /etc/php5/conf.d/gd.ini, /etc/php5/conf.d/gettext.ini, /etc/php5/conf.d/gmp.ini, /etc/php5/conf.d/hash.ini, /etc/php5/conf.d/iconv.ini, /etc/php5/conf.d/imap.ini, /etc/php5/conf.d/json.ini, /etc/php5/conf.d/ldap.ini, /etc/php5/conf.d/mbstring.ini, /etc/php5/conf.d/mcrypt.ini, /etc/php5/conf.d/mhash.ini, /etc/php5/conf.d/mysql.ini, /etc/php5/conf.d/mysqli.ini, /etc/php5/conf.d/ncurses.ini, /etc/php5/conf.d/odbc.ini, /etc/php5/conf.d/openssl.ini, /etc/php5/conf.d/pcntl.ini, /etc/php5/conf.d/pdo.ini, /etc/php5/conf.d/pdo_mysql.ini, /etc/php5/conf.d/pdo_odbc.ini, /etc/php5/conf.d/pdo_pgsql.ini, /etc/php5/conf.d/pdo_sqlite.ini, /etc/php5/conf.d/pgsql.ini, /etc/php5/conf.d/posix.ini, /etc/php5/conf.d/shmop.ini, /etc/php5/conf.d/snmp.ini, /etc/php5/conf.d/soap.ini, /etc/php5/conf.d/sockets.ini, /etc/php5/conf.d/sqlite.ini, /etc/php5/conf.d/sysvmsg.ini, /etc/php5/conf.d/sysvsem.ini, /etc/php5/conf.d/sysvshm.ini, /etc/php5/conf.d/tokenizer.ini, /etc/php5/conf.d/wddx.ini, /etc/php5/conf.d/xmlreader.ini, /etc/php5/conf.d/xmlrpc.ini, /etc/php5/conf.d/xmlwriter.ini, /etc/php5/conf.d/xsl.ini, /etc/php5/conf.d/zip.ini, /etc/php5/conf.d/zlib.ini
PHP API 	20041225
PHP Extension 	20060613
Zend Extension 	220060519
Debug Build 	no
Thread Safety 	disabled
Zend Memory Manager 	enabled
IPv6 Support 	enabled
Registered PHP Streams 	php, file, data, http, ftp, compress.bzip2, https, ftps, zip, compress.zlib
Registered Stream Socket Transports 	tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
Registered Stream Filters 	string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, bzip2.*, convert.iconv.*, zlib.* 

PHP Info

Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
    with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies
    with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies
	
Apache:
Apache Version 	Apache/2.2.4 (Linux/SUSE)
Apache API Version 	20051115 

Virtual Server 	Yes
Server Root 	/srv/www
Loaded Modules 	core prefork http_core mod_so mod_actions mod_alias mod_auth_basic mod_authn_file mod_authz_host mod_authz_groupfile mod_authz_default mod_authz_user mod_authn_dbm mod_autoindex mod_cgi mod_dir mod_env mod_expires mod_include mod_log_config mod_mime mod_negotiation mod_setenvif mod_ssl mod_suexec mod_userdir mod_php5 mod_rewrite
php.ini sind folgende vorhanden:

Code:
./usr/include/php5/main/php_ini.h
./usr/local/Zend/etc/php.ini
./srv/www/web8/web/addon/formtool/global/code/php.ini
./etc/php5/fastcgi/php.ini
./etc/php5/apache2/php.ini
./etc/php5/apache2/php.ini-zend_optimizer.bak
./etc/php5/cli/php.ini
./root/ispconfig/php/php.ini
./root/ispconfig/php/include/php/main/php_ini.h
Ich habe Zendoptimizer installiert

Code:
30999898 lrwxrwxrwx 1 root root 27 Jun 13  2008 ./etc/php5/apache2/php.ini -> /usr/local/Zend/etc/php.ini
muss ich zurückstellen? ./etc/php5/apache2/php.ini-zend_optimizer.bak


/usr/local/Zend/lib/Optimizer-3.3.3:
php-4.2.0  php-4.2.x  php-4.3.x  php-4.4.x  php-5.0.x  php-5.1.x  php-5.2.x
hier fehlt dann php-5.3.x
Code:
openSUSE-103-64-LAMP:/ # ls /etc/php5/ -R
/etc/php5/:
apache2  cli  conf.d  fastcgi

/etc/php5/apache2:
php.ini  php.ini-zend_optimizer.bak

/etc/php5/cli:
pear.conf  php.ini

/etc/php5/conf.d:
bcmath.ini    exif.ini     imap.ini      mysqli.ini     pdo_odbc.ini    soap.ini       wddx.ini
bz2.ini       ftp.ini      json.ini      ncurses.ini    pdo_pgsql.ini   sockets.ini    xmlreader.ini
calendar.ini  gd.ini       ldap.ini      odbc.ini       pdo_sqlite.ini  sqlite.ini     xmlrpc.ini
ctype.ini     gettext.ini  mbstring.ini  openssl.ini    pgsql.ini       sysvmsg.ini    xmlwriter.ini
curl.ini      gmp.ini      mcrypt.ini    pcntl.ini      posix.ini       sysvsem.ini    xsl.ini
dbase.ini     hash.ini     mhash.ini     pdo.ini        shmop.ini       sysvshm.ini    zip.ini
dom.ini       iconv.ini    mysql.ini     pdo_mysql.ini  snmp.ini        tokenizer.ini  zlib.ini

/etc/php5/fastcgi:
php.ini
Mein geplantes Vorgehen:

Wie sichere ich genau php um es bei fehlerhaftem php update wieder herzustellen?
a)
Zend Optinizer deaktivieren ln Link entfernen und die alte php.ini wieder installieren. Da beim Optimizer keine php-5.3.x dabei ist.

b) tar:
Code:
/* tar -cSpv --atime-preserve -f /Sicherungverzeichnis/home.tar .
reicht das. da wird der besitzername mitgenommen, denke ich ohne nummer oder
Code:
tar cpf /root/php5-2-6-backup.tar /etc/php5 /usr/include/php5
list tar -tvf
verwenden */

Zu sichernde Verzeichnisse und Files
Code:
/etc/php5
/usr/include/php5
/usr/lib64/php5
/usr/lib64/apache2/mod_php5.so
/usr/share/php5
/usr/share/doc/packages/php5
./usr/local/Zend/*
./usr/bin/php-config5
./usr/bin/php5
./usr/bin/phpize
./usr/bin/phpize5
./usr/bin/php-cgi
./usr/bin/php-config
./usr/bin/php
./usr/bin/php-cgi5
/etc/apache2/conf.d/php5.conf
sind das alle ?

c) download php-5.3.6 und compilieren
habe diese doku gefunden. Scheint ok zu sein. Ich benötige halt die configure vom alten php

Code:
mkdir /tmp/phpbuild
cd /tmp/phpbuild
cat > phpinfo << EOF
<?php
phpinfo();
?>
EOF
php phpinfo  |grep configure | sed 's/Configure Command =>  '\''//1 ' |sed 's/'\''//1' > doit.sh
# Quellcode auspacken (tar jxvf  php-quellcode.tar.bz2) und in das erzeugte Verzeichnis wechseln.
mkdir mybuild
cd mybuild
mv /tmp/phpbuild/doit.sh .
bash doit.sh
make
make install
d) testen ob alles wieder funktioniert oder die alte version wiederherstellen.

e) Zend Optimizer neu installieren
ist das richtig, dass ich dieses paket brauche:
Zend Guard Loader (Runtime for PHP 5.3) 5.5.0
denn Zend Optimizer (Runtime for PHP 5.2 and earlier) 3.3.3 geht nur bis 5.2

Danke für Eure Tips und das nachschuen ob das so gehen kann. Wichtig ist für mich, dass ich sofort wieder 5.2.6 zurücksichern kann.

Gruss
 
Oben