Php 5 mysql 5
Comment installer PHP 5 et Mysql 5 sur SME
Attention tout d'abord SME est trés intime avec Mysql et PHP notament à cause:
- des templates
- des scripts de configuration automatique
- des scripts de applications intégrées
L'installation de php5 et mysql 5 est dons à vos risques et perils ! ce How to semble fonctionner, mais il se peut qu'une application ne le supporte pas => dans ce cas ^n'hesitez pas à le preciser sur cette page ou dans la page discussion.
Les deux installation peuvent se faire separement et indifferement
Les fichiers son disponibles sur le repository centosplus [1]
Les mises à jour de SMEsont dispo sur ce mirroir en plus d ecelui de iblio [2] et les fichiers de base : [3]
L'installation est faite pour un i386, adaptez si votre processeur est different.
Elements en commun
le rpm php-domxml essentiel pour horde vous posera, parfois, un probleme de dépendance pour les installer...
il peut donc être utile de le desinstaller et le reinstaller apres si vous avez une erreure l'impliquant.
rpm -e --nodeps php-domxml
faites l'installation et à la fin (verifiez si une autre version plus recente est dispo dans le repertoire):
rpm -Uvh http://ftp.surfnet.nl/ftp/pub/os/Linux/distr/smeserver/releases/7/updates/i386/RPMS/php-domxml-4.3.9-3.15.i386.rpm
Mysql 5
la mise à jour vers mysql 5 est relativement "safe" contrairement à celle de php5 pour le moment
1 faites un dump de votre base
mysqldump -aec >mondump.sql
2 Arreter Mysql
/etc/rc.d/init.d/mysqld stop
3 installez les mise à jour de mysql 5 sur centosplus
yum --enablerepo=centosplus update mysql
4 verifiez le bon fonctionnement de
/etc/rc.d/init.d/mysqld start
(service mysqld restart n'affiche pas les messages d'erreur)
5 Restaurer les droits de vos utilisateurs sur les bases (notemment horde pour le webmail), si il y a une erreure de connection alors il faudra recharger les droit comme ceci:
mysql -e "GRANT SELECT,INSERT,UPDATE,DELETE ON horde.* TO 'horde'@'localhost';FLUSH PRIVILEGES"
cat /usr/share/mysql/mysql_fix_privilege_tables.sql | /usr/bin/mysql --force --user=root --host=localhost --database=mysql
6 rajouter la table mysql.proc et la table mysql.procs_priv, ainsi que quelques autres modifications, qui sont necessaire pour Mysql5 sans elles certaines options de gestion de privilèges seront hors service.(vous pouvez ignorer les erreures de duplicates et autre unknown column)
cat /usr/share/mysql/mysql_fix_privilege_tables.sql | /usr/bin/mysql --force --user=root --host=localhost --database=mysql
ou utilisez le contenu de ce fichier si vous ne trouvez pas ce fichier.sql : [4]
7 relancer mysql
/etc/rc.d/init.d/mysqld stop; /etc/rc.d/init.d/mysqld start; /etc/rc.d/init.d/mysql.init restart;
(puis n'oubliez pas php-domxml si vous avez du le desinstaller)
PHP 5
attention certains problèmes semblent apparaitre au niveau des dépendances pour les mise à jour Yum aprés cette migration vers PHP5, de plus des erreures sont loguées concernant Horde
ce how to semble plus abouti : http://schwarzecker.homelinux.net/index.php?option=com_content&task=view&id=145&Itemid=2
http://contribs.org/viewtopic.php?t=34721&highlight=php
0 desinstallez php-domxml, si l'etape 1 echoue
rpm -e --nodeps php-domxml
1 installez les mise à jour de php 5 sur centosplus
yum --enablerepo=centosplus update php
2 corrigez le template de php.ini
cp /etc/e-smith/templates/etc/php.ini/50PathsDirectories /etc/e-smith/templates-custom/etc/php.ini/50PathsDirectories mcedit /etc/e-smith/templates-custom/etc/php.ini/50PathsDirectories
et modifiez la ligne:
- extension_dir = /usr/lib/php4
en
- extension_dir= /usr/lib/php/modules
Puis, aprés avoir sauvegardé les modifications:
Nous allons créé un template custom supplementaire afin de charger les éventuels modules
cd /etc/e-smith/templates-custom/etc/php.ini touch 51Extensions echo "extension = bcmath.so ; bcmath - arbitrary precision mathematics" >> /etc/e-smith/templates-custom/etc/php.ini/51Extensions echo "extension = dom.so ; dom - domxml replacement for XML" >> /etc/e-smith/templates-custom/etc/php.ini/51Extensions echo "extension = xmlrpc.so ; xmlrpc - extension" >> /etc/e-smith/templates-custom/etc/php.ini/51Extensions echo "extension = pgsql.so ; postgresql extension" >> /etc/e-smith/templates-custom/etc/php.ini/51Extensions
expand-template /etc/php.ini
3 corriger le template de httpd.conf
cp /etc/e-smith/templates/etc/httpd/conf/httpd.conf/20loadModule80PHP /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/20loadModule80PHP mcedit /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/20loadModule80PHP
et modifiez la ligne:
- return "LoadModule php4_module modules/libphp4.so";
en
- return "LoadModule php5_module modules/libphp5.so";
Puis, aprés avoir sauvegardé les modifications:
expand-template /etc/httpd/conf/httpd.conf
4 verifiez le bon fonctionnement
/etc/rc.d/init.d/httpd restart
php-domxml n'est logiquement plus necessaire, le paquet php-xml installé en version 5 doit prendre le relais, verifiez tout de même le bon fonctionnement du webmail https:\\SERVER\webmail