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 faut donc le desinstaller et le reinstaller apres.
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
1 faites un dump de votre base, puis arreter mysql
mysqldump -aec >mondump.sql /etc/rc.d/init.d/mysql stop
2 installez les mise à jour de mysql 5 sur centosplus
yum --enablerepo=centosplus update mysql
3 verifiez le bon fonctionnement de
/etc/rc.d/init.d/mysql start
(service mysqld restart n'affiche pas les messages d'erreur)
4 verifiez 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"
5 rajouter la table mysql.proc
-- MySQL dump 10.10 -- -- Host: localhost Database: mysql -- ------------------------------------------------------ -- Server version 5.0.22 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- -- Table structure for table `proc` -- 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';
(puis n'oubliez pas php-domxml)
PHP 5
1 installez les mise à jour de php 5 sur centosplus
yum --enablerepo=centosplus update php
2 verifiez voir corrigez ceci:
- php.ini
mcedit /etc/e-smith/templates/etc/php.ini/50PathDirectories
- extension_dir = /usr/lib/php4 ( et pas /usr/lib/php/modules). Si ce n'est pas le cas faites ceci
cp /etc/e-smith/templates/etc/php.ini/50PathDirectories /etc/e-smith/templates-custom/etc/php.ini/50PathDirectories mcedit /etc/e-smith/templates-custom/etc/php.ini/50PathDirectories
- et modifiez en consequence... Puis:
expand-template /etc/php.ini
- httpd.conf
mcedit /etc/e-smith/templates/etc/httpd/conf/httpd.conf/20loadModule80PHP
- verifiez que la ligne est pressente: return "LoadModule php4_module modules/libphp4.so";
( et pas return "LoadModule php5_module modules/libphp5.so";) si ce n'est pas le cas :
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 en consequence... Puis:
expand-template /etc/httpd/conf/httpd.conf
3 verifiez le bon fonctionnement de
/etc/rc.d/init.d/httpd restart
(puis n'oubliez pas php-domxml)