Php 5 mysql 5 : Différence entre versions

De SME Server Wiki
(revenir de php5 vers php 4)
(revenir de php5 vers php 4)
Ligne 196 : Ligne 196 :
  
 
  service httpd-e-smith stop
 
  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
+
  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
+
  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/httpd/conf/httpd.conf/20loadModule80PHP
 
  rm /etc/e-smith/templates-custom/etc/php.ini/50PathsDirectories
 
  rm /etc/e-smith/templates-custom/etc/php.ini/50PathsDirectories
Ligne 204 : Ligne 204 :
 
  service httpd-e-smith start
 
  service httpd-e-smith start
  
===vérifier le webmail===
 
 
si vous avez une erreure 403 et que le webmail est activé dans le server manager :
 
 
https://server/webmail
 
  
 
pour info ce fil est intéressant: http://forums.ixus.fr/viewtopic.php?t=40722
 
pour info ce fil est intéressant: http://forums.ixus.fr/viewtopic.php?t=40722
 
vérifier que php-domxml est bien présent
 
 
 
rpm -qa|grep php
 
 
doit retourner (au moins) ces paquets:
 
php-gd-4.3.9-3.22.9
 
php-imap-4.3.9-3.22.9
 
php-ldap-4.3.9-3.22.9
 
php-4.3.9-3.22.9
 
php-domxml-4.3.9-3.22.9
 
e-smith-php-1.12.0-4.el4.sme
 
php-pear-4.3.9-3.22.9
 
php-mysql-4.3.9-3.22.9
 
php-mbstring-4.3.9-3.22.9
 
 
vérifiez que les paquets horde sont présents:
 
rpm -qa|grep -i horde
 
 
doit retourner:
 
horde-3.1.7-1.el4.sme
 
e-smith-horde-1.13.0-24.el4.sme
 
 
 
sinon réinstaller le  RPM manquant comme ceci (choisissez ceux manquant uniquement) :
 
 
yum install php-domxml e-smith-horde
 
expand-template /etc/httpd/conf/httpd.conf
 
service httpd-e-smith restart
 
 
 
et testez votre webmail
 
  
 
== Remerciement ==
 
== Remerciement ==
 
adili du forum Ixus.net [http://contribs.org/modules/pbboard/viewtopic.php?t=30728&sid=03f35f62e60960a3cdaf78b74ff3cd0e]
 
adili du forum Ixus.net [http://contribs.org/modules/pbboard/viewtopic.php?t=30728&sid=03f35f62e60960a3cdaf78b74ff3cd0e]
 
le forum contribs [http://contribs.org/modules/pbboard/viewtopic.php?t=32233&postdays=0&postorder=asc&start=0]
 
le forum contribs [http://contribs.org/modules/pbboard/viewtopic.php?t=32233&postdays=0&postorder=asc&start=0]

Version du 23 mai 2008 à 16:03

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

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:

  1. php-pdo
  2. php-common
  3. php_mysql
  4. perl-Filter
  5. perl-Tim-Hires
  6. perl
  7. 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


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 supplémentaire 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 vérifiez 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

la partie php

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

Remerciement

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