Php 5 mysql 5 : Différence entre versions
(→revenir de php5 vers php 4) |
(→PHP 5 sur une SME 7.1) |
||
Ligne 130 : | Ligne 130 : | ||
− | + | === installez les mise à jour de php 5 sur centosplus=== | |
− | + | ||
yum --enablerepo=centosplus update php | yum --enablerepo=centosplus update php | ||
yum install php-pear-Net-SMTP --enablerepo=centosplus | yum install php-pear-Net-SMTP --enablerepo=centosplus | ||
yum install --enablerepo=centosplus php-xml | yum install --enablerepo=centosplus php-xml | ||
− | + | === corrigez le template de php.ini=== | |
− | + | ||
mkdir -p /etc/e-smith/templates-custom/etc/php.ini | mkdir -p /etc/e-smith/templates-custom/etc/php.ini | ||
− | + | cat /etc/e-smith/templates/etc/php.ini/50PathsDirectories |sed 's/extension_dir = \/usr\/lib\/php4/extension_dir= \/usr\/lib\/php\/modules/' >/etc/e-smith/templates-custom/etc/php.ini/50PathsDirectories | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | === chargement des extensions complémentaires (si installées)=== | ||
Nous allons créé un template custom supplémentaire afin de charger les éventuels modules | Nous allons créé un template custom supplémentaire afin de charger les éventuels modules | ||
+ | mkdir -p /etc/e-smith/templates-custom/etc/php.ini | ||
cd /etc/e-smith/templates-custom/etc/php.ini | cd /etc/e-smith/templates-custom/etc/php.ini | ||
touch 51Extensions | touch 51Extensions | ||
Ligne 160 : | Ligne 149 : | ||
echo "extension = xmlrpc.so ; xmlrpc - extension" >> /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 | echo "extension = pgsql.so ; postgresql extension" >> /etc/e-smith/templates-custom/etc/php.ini/51Extensions | ||
− | |||
expand-template /etc/php.ini | expand-template /etc/php.ini | ||
− | + | ===corriger le template de httpd.conf=== | |
− | + | ||
− | + | ||
mkdir -p /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf | mkdir -p /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf | ||
− | + | cat /etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule80PHP |sed 's/return "LoadModule php4_module modules\/libphp4.so";/return "LoadModule php5_module modules\/libphp5.so";/'>/etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/20LoadModule80PHP | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
expand-template /etc/httpd/conf/httpd.conf | expand-template /etc/httpd/conf/httpd.conf | ||
− | + | ===vérifier le bon fonctionnement=== | |
service httpd-e-smith restart | service httpd-e-smith restart |
Version du 23 mai 2008 à 16:54
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 donc à 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 sont disponibles sur le repository centosplus [1]
Les mises à jour de SME sont dispo sur ce mirroir en plus de celui de iblio [2] et les fichiers de base : [3]
L'installation est faite pour un i386, adaptez si votre processeur est different.
Sommaire
Mysql 5 sous SME7.2 et supérieur
euh avant de faire ce genre de choses même si je suis sur que ca marche et que j'ai déjà une sauvegarde automatique toutes les heures je préfères faire un backup, après c'est vous qui voyez.. y'en a qui on essayé ...
mysqldump -aec >mondump.sql
la commande magique :
yum update --enablerepo=centosplus mysql-server --exclude=php-pdo --exclude=php-common --exclude=php-mysql --exclude=perl-DBD-MySQL --exclude=perl
veillez à ce que les paquets suivants ne soient pas installés ou mis a jours:
- php-pdo
- php-common
- php_mysql
- perl-Filter
- perl-Tim-Hires
- perl
- perl-DBD
Les fichiers perls vous empecheraient d'acceder au server manager, et les fichier php engendrerai un changement dans php.ini vous empechant de vous conecter a mysql via php tel qu'il est installé sur SME.
donc vous devez voir apparaitre ceci (les numéro de version sont susceptibles d'évoluer):
Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Updating: mysql-server i386 5.0.54-1.el4.centos centosplus 9.6 M Installing for dependencies: mysql-libs i386 5.0.54-1.el4.centos centosplus 1.8 M mysqlclient14 i386 4.1.22-1.el4s1.1 centosplus 1.2 M Updating for dependencies: mysql i386 5.0.54-1.el4.centos centosplus 2.8 M Transaction Summary ============================================================================= Install 2 Package(s) Update 2 Package(s) Remove 0 Package(s) Total download size: 15 M Is this ok [y/N]:
puis exécutez ceci :
cat /usr/share/mysql/mysql_fix_privilege_tables.sql | /usr/bin/mysql --force --user=root --host=localhost --database=mysql service mysqld stop; service mysqld start; /etc/rc.d/init.d/mysql.init restart;
Enjoy !
Mysql 5 pour SME 7.1
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
service mysqld stop
3 Installer les mise à jour de mysql 5 sur centosplus
yum --enablerepo=centosplus update mysql
4 Verifiez le bon fonctionnement de
service mysqld restart
5 Restaurer les droits de vos utilisateurs sur les bases (notemment horde pour le webmail), si il y a une erreur de connection alors il faudra recharger les droit comme ceci:
mysql -e "GRANT SELECT,INSERT,UPDATE,DELETE ON horde.* TO 'horde'@'localhost';FLUSH PRIVILEGES"
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
service mysqld stop; service mysqld start; /etc/rc.d/init.d/mysql.init restart;
PHP 5 sur une SME 7.1
ATTENTION CE HOW TO EST POUR PHP 5.0.4 ET SME 7.1, si vous tentez la procédure faites attention les version ont évoluées.
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 erreurs 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
autre lien intéressant : http://forums.contribs.org/index.php?topic=34721.0
et enfin le how to officiel : http://wiki.contribs.org/PHP#PHP_5
0 désinstallez php-domxml, si l'étape 1 échoue
le rpm php-domxml essentiel pour horde vous posera, parfois, un problème de dépendance pour les installer...
il peut donc être utile de le désinstaller et le réinstaller après si vous avez une erreur l'impliquant.
rpm -e --nodeps php-domxml
installez les mise à jour de php 5 sur centosplus
yum --enablerepo=centosplus update php yum install php-pear-Net-SMTP --enablerepo=centosplus yum install --enablerepo=centosplus php-xml
corrigez le template de php.ini
mkdir -p /etc/e-smith/templates-custom/etc/php.ini cat /etc/e-smith/templates/etc/php.ini/50PathsDirectories |sed 's/extension_dir = \/usr\/lib\/php4/extension_dir= \/usr\/lib\/php\/modules/' >/etc/e-smith/templates-custom/etc/php.ini/50PathsDirectories
chargement des extensions complémentaires (si installées)
Nous allons créé un template custom supplémentaire afin de charger les éventuels modules
mkdir -p /etc/e-smith/templates-custom/etc/php.ini 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
corriger le template de httpd.conf
mkdir -p /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf cat /etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule80PHP |sed 's/return "LoadModule php4_module modules\/libphp4.so";/return "LoadModule php5_module modules\/libphp5.so";/'>/etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/20LoadModule80PHP expand-template /etc/httpd/conf/httpd.conf
vérifier le bon fonctionnement
service httpd-e-smith restart
php-domxml n'est logiquement plus nécessaire, le paquet php-xml installé en version 5 doit prendre le relais, vérifiez tout de même le bon fonctionnement du webmail https:\\SERVER\webmail
revenir de php5 vers php 4
service httpd-e-smith stop rpm -e --nodeps php-mysql php-imap php-pdo php-gd php-mbstring php-pear php-ldap php-xml php yum install php php-mysql php-imap php-domxml php-gd php-pear php-ldap php-mbstring e-smith-horde rm /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/20loadModule80PHP rm /etc/e-smith/templates-custom/etc/php.ini/50PathsDirectories expand-template /etc/php.ini expand-template /etc/httpd/conf/httpd.conf service httpd-e-smith start
pour info ce fil est intéressant: http://forums.ixus.fr/viewtopic.php?t=40722