Php 5 mysql 5 : Différence entre versions

De SME Server Wiki
(PHP 5 sur une SME 7.1)
Ligne 7 : Ligne 7 :
  
 
L'installation de php5 et mysql 5 est dons à vos risques et perils !
 
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.
+
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 deux installation peuvent se faire separement et indifferement
  
Les fichiers son disponibles sur le repository centosplus [http://mirror.centos.org/centos/4/centosplus/]
+
Les fichiers sont disponibles sur le repository centosplus [http://mirror.centos.org/centos/4/centosplus/]
  
Les mises à jour de SMEsont dispo sur ce mirroir en plus d ecelui de iblio [http://ftp.surfnet.nl/ftp/pub/os/Linux/distr/smeserver/releases/7/updates/] et les fichiers de base : [http://ftp.surfnet.nl/ftp/pub/os/Linux/distr/smeserver/releases/7/os/i386/CentOS/RPMS/]
+
Les mises à jour de SME sont dispo sur ce mirroir en plus de celui de iblio [http://ftp.surfnet.nl/ftp/pub/os/Linux/distr/smeserver/releases/7/updates/] et les fichiers de base : [http://ftp.surfnet.nl/ftp/pub/os/Linux/distr/smeserver/releases/7/os/i386/CentOS/RPMS/]
  
 
L'installation est faite pour un i386, adaptez si votre processeur est different.
 
L'installation est faite pour un i386, adaptez si votre processeur est different.
Ligne 19 : Ligne 19 :
 
== Mysql 5 ==
 
== Mysql 5 ==
  
la mise à jour vers mysql 5 est relativement "safe" contrairement à celle de php5 pour le moment
+
La mise à jour vers mysql 5 est relativement "safe" contrairement à celle de php5 pour le moment
  
 
1 '''faites un dump de votre base'''
 
1 '''faites un dump de votre base'''
Ligne 29 : Ligne 29 :
 
  service mysqld stop
 
  service mysqld stop
  
3 installez les mise à jour de mysql 5 sur centosplus
+
3 Installer les mise à jour de mysql 5 sur centosplus
  
 
  yum --enablerepo=centosplus update mysql
 
  yum --enablerepo=centosplus update mysql
  
4 verifiez le bon fonctionnement de  
+
4 Verifiez le bon fonctionnement de  
  
 
  service mysqld restart
 
  service mysqld restart
Ligne 39 : Ligne 39 :
  
  
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:
+
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"
 
  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''')
+
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
 
  cat /usr/share/mysql/mysql_fix_privilege_tables.sql | /usr/bin/mysql --force --user=root --host=localhost --database=mysql
Ligne 50 : Ligne 50 :
  
  
7 relancer mysql
+
7 Relancer mysql
  
 
  service mysqld stop;
 
  service mysqld stop;

Version du 26 février 2007 à 10:22

Comment installer PHP 5 et Mysql 5 sur SME

Attention tout d'abord SME est trés intime avec Mysql et PHP notament à cause:

  1. des templates
  2. des scripts de configuration automatique
  3. 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 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.

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

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 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 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


1 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

2 corrigez le template de php.ini

mkdir -p /etc/e-smith/templates-custom/etc/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


mkdir -p /etc/e-smith/templates-custom/etc/httpd/conf/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

service httpd-e-smith 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

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
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

verifier le webmail et verifier que php-domxml est bien present https://server/webmail rpm -qa|grep "php-domxml" sinon 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

Remerciement

adili du forum Ixus.net [5] le forum contribs [6]