Difference between revisions of "Upgrade php/mysql"

From SME Server
Jump to navigationJump to search
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Warning box| this howto needs to tested before to be used in an environment of work....test inside...high risk :) }}
+
{{Warning box| This howto needs to be tested before to be used in an environment of work....test inside...high risk :) }}
 +
{{Warning box| For Koozali SME v9 x64 the recommended way is to use the official RHEL [[PHP_Software_Collections|php software collection]] It is a less risky solution, plus you will be able to keep several php versions on your server }}
 +
 
 
==Upgrade PHP and MYSQL==
 
==Upgrade PHP and MYSQL==
  
Line 10: Line 12:
  
 
====From remi repository====
 
====From remi repository====
{{Warning box|The upgrade is a one way path and you may have some problem with php application see http://forums.contribs.org/index.php/topic,51299.0/topicseen.html}}
+
{{Warning box|The upgrade is a one way path and you may have some problem with php application see http://forums.contribs.org/index.php/topic,51299.0/topicseen.html
 +
See the above note regarding using Software Collections !
 +
}}
  
 
Remi collet provides a huge number of rpm for centos and fedora, the purpose is to use his work.
 
Remi collet provides a huge number of rpm for centos and fedora, the purpose is to use his work.
Line 71: Line 75:
 
* we need to activate innodb
 
* we need to activate innodb
 
Now with mysql 5.5 innodb is activated by default, and of course not in smeserver
 
Now with mysql 5.5 innodb is activated by default, and of course not in smeserver
 +
 +
{{note box|msg=On SME8, you need to create a custom-template to remove an obsolete directive
 +
 +
mkdir -p /etc/e-smith/templates-custom/etc/my.cnf
 +
sed -e  's/$OUT .= "innodb_log_arch_dir = .*//g' /etc/e-smith/templates/etc/my.cnf/009innodb > \
 +
  /etc/e-smith/templates-custom/etc/my.cnf/009innodb
 +
 +
This is not required on SME9}}
 +
  
 
  db configuration setprop mysqld InnoDB enabled
 
  db configuration setprop mysqld InnoDB enabled
Line 85: Line 98:
 
there is a warning in log, concerning [http://php.net/manual/fr/ini.core.php#ini.allow-call-time-pass-reference allow_call_time_pass_reference] which is deprecated in php55.
 
there is a warning in log, concerning [http://php.net/manual/fr/ini.core.php#ini.allow-call-time-pass-reference allow_call_time_pass_reference] which is deprecated in php55.
  
  sed -i -e  "s|allow_call_time_pass_reference|//allow_call_time_pass_reference|g" /etc/e-smith/templates/etc/php.ini/10LanguageOptions
+
mkdir -p /etc/e-smith/templates-custom/etc/php.ini/
 +
  sed -e  "s|allow_call_time_pass_reference|//allow_call_time_pass_reference|g" \
 +
    /etc/e-smith/templates/etc/php.ini/10LanguageOptions > /etc/e-smith/templates-custom/etc/php.ini/10LanguageOptions
 
  expand-template /etc/php.ini
 
  expand-template /etc/php.ini
 
  /etc/init.d/httpd-e-smith restart
 
  /etc/init.d/httpd-e-smith restart

Latest revision as of 17:27, 16 July 2016

Warning.png Warning:
This howto needs to be tested before to be used in an environment of work....test inside...high risk :)


Warning.png Warning:
For Koozali SME v9 x64 the recommended way is to use the official RHEL php software collection It is a less risky solution, plus you will be able to keep several php versions on your server


Upgrade PHP and MYSQL

Introduction

the purpose of this howto is to upgrade php/mysql with different comfortable way. You can add here your method, please be aware to detail a maximum how to do that.

For SME8

For SME9

From remi repository

Warning.png Warning:
The upgrade is a one way path and you may have some problem with php application see http://forums.contribs.org/index.php/topic,51299.0/topicseen.html

See the above note regarding using Software Collections !


Remi collet provides a huge number of rpm for centos and fedora, the purpose is to use his work.

this is the versions of rpm you will have after :

# rpm -qa phpMyAdmin smeserver-phpMyAdmin_remi mysql-server php
phpMyAdmin-4.2.7-1.el6.remi.noarch
smeserver-phpMyAdmin_remi-4.2.7-1.el6.sme.noarch
php-5.5.15-1.el6.remi.x86_64
mysql-server-5.5.39-1.el6.remi.x86_64

Past all these repositories in your root terminal

/sbin/e-smith/db yum_repositories set remi repository \
Name 'Remi - EL6' \
BaseURL 'http://rpms.famillecollet.com/enterprise/6/remi/$basearch/' \
EnableGroups no \
GPGCheck yes \
GPGKey http://rpms.famillecollet.com/RPM-GPG-KEY-remi \
Visible yes \
Exclude php-horde-horde \
status disabled
/sbin/e-smith/db yum_repositories set remi-php55 repository \
Name 'Remi-php55 - EL6' \
BaseURL 'http://rpms.famillecollet.com/enterprise/6/php55/$basearch/' \
EnableGroups no \
GPGCheck yes \
GPGKey http://rpms.famillecollet.com/RPM-GPG-KEY-remi \
Visible yes \
Exclude php-horde-horde \
status disabled
/sbin/e-smith/db yum_repositories set epel repository \
Name 'Epel - EL6' \
BaseUrl 'http://download.fedoraproject.org/pub/epel/6/$basearch' \
MirrorList 'http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch' \
EnableGroups no \
GPGCheck yes \
GPGKey http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL \
Visible no \
status disabled
db yum_repositories set stephdl repository \
BaseURL http://mirror.de-labrusse.fr/smeserver/\$releasever \
EnableGroups no GPGCheck yes \
Name "Mirror de Labrusse" \
GPGKey http://mirror.de-labrusse.fr/RPM-GPG-KEY \
Visible yes status disabled
signal-event yum-modify
  • Then we need to upgrade php
yum --enablerepo=remi-php55,remi,epel update php\* mysql-server
  • we need to activate innodb

Now with mysql 5.5 innodb is activated by default, and of course not in smeserver


Important.png Note:
On SME8, you need to create a custom-template to remove an obsolete directive
mkdir -p /etc/e-smith/templates-custom/etc/my.cnf
sed -e  's/$OUT .= "innodb_log_arch_dir = .*//g' /etc/e-smith/templates/etc/my.cnf/009innodb > \
  /etc/e-smith/templates-custom/etc/my.cnf/009innodb

This is not required on SME9



db configuration setprop mysqld InnoDB enabled
expand-template /etc/my.cnf
sv t /service/mysqld
  • Running the mysql_upgrade command is mandatory

It checks all tables in all databases for incompatibilities with the current version of MySQL Server. If a table is found to have a possible incompatibility, it is checked. If any problems are found, the table is repaired

mysql_upgrade
  • allow_call_time_pass_reference is deprecated

there is a warning in log, concerning allow_call_time_pass_reference which is deprecated in php55.

mkdir -p /etc/e-smith/templates-custom/etc/php.ini/
sed -e  "s|allow_call_time_pass_reference|//allow_call_time_pass_reference|g" \
   /etc/e-smith/templates/etc/php.ini/10LanguageOptions > /etc/e-smith/templates-custom/etc/php.ini/10LanguageOptions
expand-template /etc/php.ini
/etc/init.d/httpd-e-smith restart
  • restart the server
signal-event post-upgrade; signal-event reboot
  • check the upgrade

after the reboot verify that the mysqld server is started

service mysqld status

and see which version of php you have

php -v


Important.png Note:
Now each time you will need a dependancies, you will have to use remi,remi-php55 and also probably epel. For example :
yum install --enablerepo=epel,remi,remi-php55,stephdl smeserver-phpMyAdmin_remi

It will be the same if you want to update your server. For example :

yum update --enablerepo=remi,remi-php55,stephdl


  • Installation of smeserver-phpmyadmin

Just indispensable :)

yum install --enablerepo=epel,remi,remi-php55,stephdl smeserver-phpMyAdmin_remi
signal-event console-save