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
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
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 :
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.
Bonjour,
Cette evolution de php ne casse t-elle pas la release ?
Peut-on toujours faire les mises à jour de le release comme avant en utilisant la commande « sh patch-all-release-3.sh » ?
J’ai la même question que Vinzter…
Esque cela ne casse pas la release d’ovh ?
Merci d’avance
Je me répond,
On perd la config postfix !
Ça n’a pas fonctionné chez moi sur une release 3 OVH clean, Apache refuse de redémarrer indiquant que NameVirtualHost *:443 has no VirtualHosts et NameVirtualHost *:80 has no VirtualHosts.
Il s’est produit un problème avec l’installation de php-pecl-memcache 3.0.5-4 qui requiert zend-abi et zend-api de la version php 5.3.
Bonsoir,
les *:443 et *:80 sont des warnings pour moi, apache démarre mais les sites font une « error 500 Internal server error »
avez vous résolu le problème de votre coté!
Merci d’avance
Great guide, but for fastcgi?
After PHP is updated access to phpMyAdmin generates 403 Forbidden error