OVH Release 3 : Migrer la version de PHP 5.3.3 vers 5.6.3

Ayant récemment acquis un serveur tournant sous la release 3 d’OVH, j’avais besoin de migrer vers une version supérieure de php. Si vous êtes dans le même cas de figure voici comment faire.

L’OVH release 3 est basée sur la distribution linux CentOS 6.6 et est livrée par défaut avec la version 5.3.3 de php, et nous allons installer la version php 5.6.3.

Pour connaitre la version actuelle de php, il faut se connecter en ssh et taper :

php -v

version-php-initiale

Désinstallation de PHP

Nous allons tout d’abord commencer par désinstaller la version actuelle de php pour éviter d’eventuels conflits entre les versions de paquet. On sauvegarde nos fichiers de configurations par précaution.

mkdir /root/configphp
cp -Rf /etc/php* /root/configphp

Puis on supprime la version installée sur le serveur avec la commande

yum remove php php-cli php-common && yum clean all

remove-php-5.3.3

Téléchargement des dépôts et installation de PHP 5.5

Installons par la suite les dépôts de la dernière version de php qui peut être différente de celle qui est référencé par défaut.

yum install -y http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/epel-release-6-5.noarch.rpm
yum install -y http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/ius-release-1.0-11.ius.centos6.noarch.rpm

Par la suite on va installer à proprement parler la version de php 5 avec quelques extensions nécessaires pour le bon fonctionnement de vos sites.

yum install php-common php-gd php-mcrypt php-pear php-soap -y
yum install php-pecl-memcache php-mysql php-xml php -y
yum install php-mcrypt php-mbstring php-devel gcc pcre-devel -y

Maintenant en regardant la version de php installée sur le serveur avec la commande php -v on obtient :

version-php-5.6.3

Installation de suPHP

Nous devons aussi installer mod_suphp qui va permettre à php d’exécuter les scripts en fonctions des utilisateurs.

rpm -Uvh https://www.dootech.fr/lab/rpm/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
yum install mod_suphp

Editer le fichier de configuration de suphp

nano /etc/suphp.conf
[global]
logfile=/var/log/httpd/suphp_log
loglevel=info
webserver_user=apache
docroot=/
env_path=/bin:/usr/bin
umask=0077
min_uid=500
min_gid=500

; Security options
allow_file_group_writeable=false
allow_file_others_writeable=false
allow_directory_group_writeable=false
allow_directory_others_writeable=false

;Check wheter script is within DOCUMENT_ROOT
check_vhost_docroot=true

;Send minor error messages to browser
errors_to_browser=true

[handlers]
;Handler for php-scripts
x-httpd-php="php:/usr/bin/php-cgi"

;Handler for CGI-scripts
x-suphp-cgi="execute:!self"

Ensuite modifier le fichier /etc/httpd/conf.d/php.conf

nano /etc/httpd/conf.d/php.conf

Et ajouter les lignes suivantes :

# Cause the PHP interpreter to handle files with a .php extension.
AddHandler x-httpd-php .php .php4 .php3 .phtml
AddType text/html .php

# SuPHP configuration for PHP5
LoadModule suphp_module modules/mod_suphp.so
suPHP_Engine on

Modifier le fichier de configuration de php.ini avec les paramètres suivants :

short_open_tag = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE
display_errors = Off
log_errors = On
session.save_path = "/tmp/"

Relancez enfin le service Apache 2 :

/etc/init.d/httpd restart

Et voila vous disposez enfin de la version la plus récente (à l’heure actuelle 5.6.3) de PHP.