Php 5 mysql 5 : Différence entre versions

De SME Server Wiki
(PHP 5)
(PHP 5)
Ligne 113 : Ligne 113 :
 
'''0 desinstallez php-domxml'''
 
'''0 desinstallez php-domxml'''
  
  rpm -e php-domxml
+
  rpm -e --nodeps php-domxml
  
  
Ligne 128 : Ligne 128 :
 
  mcedit /etc/e-smith/templates-custom/etc/php.ini/50PathsDirectories
 
  mcedit /etc/e-smith/templates-custom/etc/php.ini/50PathsDirectories
  
et modifiez :
+
et modifiez la ligne:
  
 
::extension_dir = /usr/lib/php4
 
::extension_dir = /usr/lib/php4
Ligne 136 : Ligne 136 :
 
::extension_dir= /usr/lib/php/modules
 
::extension_dir= /usr/lib/php/modules
  
Puis:
+
Puis, aprés avoir sauvegardé les modifications:
  
 
  expand-template /etc/php.ini
 
  expand-template /etc/php.ini
Ligne 146 : Ligne 146 :
 
  mcedit /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:  
+
et modifiez la ligne:  
  
 
::return "LoadModule php4_module modules/libphp4.so";
 
::return "LoadModule php4_module modules/libphp4.so";
Ligne 154 : Ligne 154 :
 
::return "LoadModule php5_module modules/libphp5.so";
 
::return "LoadModule php5_module modules/libphp5.so";
  
Puis:
+
Puis, aprés avoir sauvegardé les modifications:
  
 
  expand-template /etc/httpd/conf/httpd.conf
 
  expand-template /etc/httpd/conf/httpd.conf
Ligne 163 : Ligne 163 :
 
  /etc/rc.d/init.d/httpd restart
 
  /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 focntionnement du webmail https:\\SERVER\webmail
+
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
  
 
== 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 20 décembre 2006 à 09:55

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 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/mysql 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/mysql 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 comem 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, qui sont necessaire pour Mysql5 sans elle certaines option de gestion de privilèges seront hors service


DROP TABLE IF EXISTS `proc`;

CREATE TABLE `proc` (
`db` char( 64 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '',
`name` char( 64 ) NOT NULL default '',
`type` enum( 'FUNCTION', 'PROCEDURE' ) NOT NULL ,
`specific_name` char( 64 ) NOT NULL default '',
`language` enum( 'SQL' ) NOT NULL default 'SQL',
`sql_data_access` enum( 'CONTAINS_SQL', 'NO_SQL', 'READS_SQL_DATA', 'MODIFIES_SQL_DATA' ) NOT NULL default 'CONTAINS_SQL',
`is_deterministic` enum( 'YES', 'NO' ) NOT NULL default 'NO',
`security_type` enum( 'INVOKER', 'DEFINER' ) NOT NULL default 'DEFINER',
`param_list` blob NOT NULL ,
`returns` char( 64 ) NOT NULL default '',
`body` longblob NOT NULL ,
`definer` char( 77 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '',
`created` timestamp NOT NULL default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
`modified` timestamp NOT NULL default '0000-00-00 00:00:00',
`sql_mode` set( 'REAL_AS_FLOAT', 'PIPES_AS_CONCAT', 'ANSI_QUOTES', 'IGNORE_SPACE', 'NOT_USED', 'ONLY_FULL_GROUP_BY',  'NO_UNSIGNED_SUBTRACTION', 'NO_DIR_IN_CREATE', 'POSTGRESQL', 'ORACLE', 'MSSQL', 'DB2', 'MAXDB', 'NO_KEY_OPTIONS',  'NO_TABLE_OPTIONS', 'NO_FIELD_OPTIONS', 'MYSQL323', 'MYSQL40', 'ANSI', 'NO_AUTO_VALUE_ON_ZERO', 'NO_BACKSLASH_ESCAPES',  'STRICT_TRANS_TABLES', 'STRICT_ALL_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'INVALID_DATES', 'ERROR_FOR_DIVISION_BY_ZERO',  'TRADITIONAL', 'NO_AUTO_CREATE_USER', 'HIGH_NOT_PRECEDENCE' ) NOT NULL default '',
`comment` char( 64 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '',
 PRIMARY KEY ( `db` , `name` , `type` )
  ) ENGINE = MYISAM DEFAULT CHARSET = utf8 COMMENT = 'Stored Procedures'
 
DROP TABLE IF EXISTS `procs_priv`;

CREATE TABLE `procs_priv` (
 `Host` char(60) collate utf8_bin NOT NULL default '',
 `Db` char(64) collate utf8_bin NOT NULL default '',
 `User` char(16) collate utf8_bin NOT NULL default '',
 `Routine_name` char(64) collate utf8_bin NOT NULL default '',
 `Routine_type` enum('FUNCTION','PROCEDURE') collate utf8_bin NOT NULL,
 `Grantor` char(77) collate utf8_bin NOT NULL default '',
 `Proc_priv` set('Execute','Alter Routine','Grant') character set utf8 NOT NULL default '',
 `Timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
 PRIMARY KEY  (`Host`,`Db`,`User`,`Routine_name`,`Routine_type`),
 KEY `Grantor` (`Grantor`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Procedure privileges';

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

0 desinstallez php-domxml

rpm -e --nodeps php-domxml


http://contribs.org/viewtopic.php?t=34721&highlight=php

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:

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

Remerciement

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