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

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

      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:

      Quellcode

      1. System Linux openSUSE-103-64-LAMP 2.6.22.17-0.1-default #1 SMP 2008/02/10 20:01:04 UTC x86_64
      2. Build Date May 10 2008 12:58:07
      3. 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'
      4. Server API Apache 2.0 Handler
      5. Virtual Directory Support disabled
      6. Configuration File (php.ini) Path /etc/php5/apache2
      7. Loaded Configuration File /usr/local/Zend/etc/php.ini
      8. Scan this dir for additional .ini files /etc/php5/conf.d
      9. 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
      10. PHP API 20041225
      11. PHP Extension 20060613
      12. Zend Extension 220060519
      13. Debug Build no
      14. Thread Safety disabled
      15. Zend Memory Manager enabled
      16. IPv6 Support enabled
      17. Registered PHP Streams php, file, data, http, ftp, compress.bzip2, https, ftps, zip, compress.zlib
      18. Registered Stream Socket Transports tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
      19. Registered Stream Filters string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, bzip2.*, convert.iconv.*, zlib.*
      20. PHP Info
      21. Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
      22. with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies
      23. with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies
      24. Apache:
      25. Apache Version Apache/2.2.4 (Linux/SUSE)
      26. Apache API Version 20051115
      27. Virtual Server Yes
      28. Server Root /srv/www
      29. 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:

      Quellcode

      1. ./usr/include/php5/main/php_ini.h
      2. ./usr/local/Zend/etc/php.ini
      3. ./srv/www/web8/web/addon/formtool/global/code/php.ini
      4. ./etc/php5/fastcgi/php.ini
      5. ./etc/php5/apache2/php.ini
      6. ./etc/php5/apache2/php.ini-zend_optimizer.bak
      7. ./etc/php5/cli/php.ini
      8. ./root/ispconfig/php/php.ini
      9. ./root/ispconfig/php/include/php/main/php_ini.h


      Ich habe Zendoptimizer installiert

      Quellcode

      1. 30999898 lrwxrwxrwx 1 root root 27 Jun 13 2008 ./etc/php5/apache2/php.ini -> /usr/local/Zend/etc/php.ini
      2. muss ich zurückstellen? ./etc/php5/apache2/php.ini-zend_optimizer.bak
      3. /usr/local/Zend/lib/Optimizer-3.3.3:
      4. 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
      5. hier fehlt dann php-5.3.x


      Quellcode

      1. openSUSE-103-64-LAMP:/ # ls /etc/php5/ -R
      2. /etc/php5/:
      3. apache2 cli conf.d fastcgi
      4. /etc/php5/apache2:
      5. php.ini php.ini-zend_optimizer.bak
      6. /etc/php5/cli:
      7. pear.conf php.ini
      8. /etc/php5/conf.d:
      9. bcmath.ini exif.ini imap.ini mysqli.ini pdo_odbc.ini soap.ini wddx.ini
      10. bz2.ini ftp.ini json.ini ncurses.ini pdo_pgsql.ini sockets.ini xmlreader.ini
      11. calendar.ini gd.ini ldap.ini odbc.ini pdo_sqlite.ini sqlite.ini xmlrpc.ini
      12. ctype.ini gettext.ini mbstring.ini openssl.ini pgsql.ini sysvmsg.ini xmlwriter.ini
      13. curl.ini gmp.ini mcrypt.ini pcntl.ini posix.ini sysvsem.ini xsl.ini
      14. dbase.ini hash.ini mhash.ini pdo.ini shmop.ini sysvshm.ini zip.ini
      15. dom.ini iconv.ini mysql.ini pdo_mysql.ini snmp.ini tokenizer.ini zlib.ini
      16. /etc/php5/fastcgi:
      17. 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:

      Quellcode

      1. /* tar -cSpv --atime-preserve -f /Sicherungverzeichnis/home.tar .

      reicht das. da wird der besitzername mitgenommen, denke ich ohne nummer oder

      Quellcode

      1. tar cpf /root/php5-2-6-backup.tar /etc/php5 /usr/include/php5
      2. list tar -tvf

      verwenden */

      Zu sichernde Verzeichnisse und Files

      Quellcode

      1. /etc/php5
      2. /usr/include/php5
      3. /usr/lib64/php5
      4. /usr/lib64/apache2/mod_php5.so
      5. /usr/share/php5
      6. /usr/share/doc/packages/php5
      7. ./usr/local/Zend/*
      8. ./usr/bin/php-config5
      9. ./usr/bin/php5
      10. ./usr/bin/phpize
      11. ./usr/bin/phpize5
      12. ./usr/bin/php-cgi
      13. ./usr/bin/php-config
      14. ./usr/bin/php
      15. ./usr/bin/php-cgi5
      16. /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

      PHP-Quellcode

      1. mkdir /tmp/phpbuild
      2. cd /tmp/phpbuild
      3. cat > phpinfo << EOF
      4. <?php
      5. phpinfo();
      6. ?>
      7. EOF
      8. php phpinfo |grep configure | sed 's/Configure Command => '\''//1 ' |sed 's/'\''//1' > doit.sh
      9. # Quellcode auspacken (tar jxvf php-quellcode.tar.bz2) und in das erzeugte Verzeichnis wechseln.
      10. mkdir mybuild
      11. cd mybuild
      12. mv /tmp/phpbuild/doit.sh .
      13. bash doit.sh
      14. make
      15. 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

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „glako“ ()