GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer PHP 5.6 en tant que PHP-FPM et FastCGI supplémentaires pour ISPConfig 3.1 sur Ubuntu 16.04

Ce tutoriel montre comment construire PHP 5.6 en tant que PHP-FPM et une version FastCGI sur Ubuntu 16.04 (Xenial Xerus). Ubuntu 16.04 est livré avec PHP 7 par défaut, mais il existe encore de nombreux sites Web qui ne prennent pas en charge PHP 7. Ce didacticiel vous montrera comment installer PHP 5.6 en tant que version PHP supplémentaire sur Ubuntu 16.04 afin que vous puissiez basculer entre les deux versions pour chaque site Web individuellement dans ISPConfig.

1 Remarque préliminaire

Je vais installer PHP 5.6 dans /opt afin que le PHP 7 principal d'Ubuntu ne soit pas affecté et que PHP 7 reste le PHP par défaut de notre serveur tandis que PHP 5.6 est disponible en option dans ISPConfig (paramètres du site). Veuillez noter que PHP-FPM peut être utilisé à la fois sur les serveurs Apache et Nginx, tandis que FastCGI n'est disponible que pour les serveurs Apache dans ISPConfig.

Avec les anciennes versions de PHP, PHP-FPM et FastCGI s'excluaient mutuellement, de sorte qu'un binaire FPM et FastCGI devait être construit séparément. Avec PHP 5.6, un seul binaire prenant en charge les modes FPM et FCGI peut être créé.

2 Compiler PHP 5.6 avec PHP-FPM et Fastcgi

Installez les prérequis pour compiler PHP 5.6, wget et l'éditeur nano que j'utiliserai pour éditer les fichiers de configuration :

apt-get install build-essential wget nano
apt-get install libfcgi-dev libfcgi0ldbl libjpeg62-dbg libmcrypt-dev libssl-dev libc-client2007e libc-client2007e-dev libxml2-dev libbz2-dev libcurl4-openssl-dev libjpeg-dev libpng12-dev libfreetype6-dev libkrb5- dev libpq-dev libxml2-dev libxslt1-dev
ln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.a

(La dernière commande est nécessaire si vous construisez PHP avec --with-imap, car sinon ./configure s'arrêtera avec l'erreur suivante :

vérification de crypt dans -lcrypt... oui
configure :erreur :impossible de trouver la bibliothèque imap (libc-client.a). Veuillez vérifier votre installation c-client.
[email protected] :/usr/local/src/php5-build/php-5.6.30#

)

Téléchargez et extrayez PHP 5.6 depuis php.net :

mkdir /opt/php-5.6.30
mkdir /usr/local/src/php5-build
cd /usr/local/src/php5-build
wget http:/ /de.php.net/get/php-5.6.30.tar.bz2/from/this/mirror -O php-5.6.30.tar.bz2
tar jxf php-5.6.30.tar.bz2
cd php-5.6.30/

Configurez et compilez PHP 5.6.30 comme suit (vous pouvez ajuster la commande ./configure à vos besoins, jetez un œil à

./configure --help

pour voir toutes les options disponibles ; si vous utilisez une commande ./configure différente, il est possible que des bibliothèques supplémentaires soient requises ou que le processus de construction échoue) :

./configure --prefix=/opt/php-5.6.30 --with-pdo-pgsql --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml- dir=/usr --enable-soap --enable-calendar --with-curl --with-mcrypt --with-zlib --with-gd --with-pgsql --disable-rpath --enable-inline- optimisation --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with- mhash --enable-zip --with-pcre-regex --with-mysql --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-openssl --with-fpm-user=www-data --with-fpm-group=www-data --with-libdir=/lib/x86_64-linux-gnu --enable-ftp --with-imap --with-imap-ssl --with-gettext --with-xmlrpc --with-xsl --with-kerberos --enable-fpm

La chaîne ci-dessus est juste une longue commande, n'ajoutez pas de saut de ligne. Le dernier commutateur (--enable-fpm) garantit que cette version de PHP fonctionnera avec PHP-FPM.

faire
faire installer

Copiez php.ini et php-fpm.conf aux bons emplacements :

cp /usr/local/src/php5-build/php-5.6.30/php.ini-production /opt/php-5.6.30/lib/php.ini
cp /opt/php-5.6.30/etc/php-fpm.conf.default /opt/php-5.6.30/etc/php-fpm.conf

Créez le répertoire de fichiers de pool php-fpm.d.

mkdir /opt/php-5.6.30/etc/php-fpm.d

Ouvrez /opt/php-5.6.30/etc/php-fpm.conf et ajustez le paramètre suivant (supprimez le ; devant la ligne pid) :

nano /opt/php-5.6.30/etc/php-fpm.conf
[...]pid =run/php-fpm.pid[...]user =www-datagroup =www-data[...]listen =127.0.0.1:8999[...]include=/opt/php-5.6.30/etc/php-fpm.d/*.conf

2.1 Installer l'extension xDebug (facultatif)

Le module xDebug est une extension de débogage pour PHP. L'installation est facultative.

Installez xDebug avec ces commandes.

cd /opt/php-5.6.30/etc
pecl -C ./pear.conf update-channels
pecl -C ./pear.conf install xdebug

Modifiez ensuite le fichier php.ini avec un éditeur :

nano /opt/php-5.6.30/lib/php.ini

et ajoutez la ligne suivante à la fin du fichier :

zend_extension=/opt/php-5.6.30/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so

3 Créer le fichier d'unité systemd

Ubuntu 16.04 utilise systemd comme système d'initialisation. Je vais créer un fichier d'unité systemd pour pouvoir démarrer/arrêter et redémarrer le service PHP-FPM.

nano /lib/systemd/system/php-5.6.30-fpm.service

avec le contenu suivant :

[Unité]
Description=Le gestionnaire de processus PHP 5.6 FastCGI
Après=network.target

[Service]
Type=simple
PIDFile =/opt/php-5.6.30/var/run/php-fpm.pid
ExecStart=/opt/php-5.6.30/sbin/php-fpm --nodaemonize --fpm-config /opt/ php-5.6.30/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

Activez le service et rechargez systemd :

systemctl enable php-5.6.30-fpm.service
systemctl daemon-reload

Lancez enfin PHP-FPM.

systemctl démarrer php-5.6.30-fpm.service

Pour activer Zend OPcache, ouvrez /opt/php-5.6.30/lib/php.ini...

nano /opt/php-5.6.30/lib/php.ini

... et ajoutez la ligne suivante à la fin :

[...]zend_extension=opcache.so

Testez la version PHP :

cd /opt/php-5.6.30/bin
./php --version

Le résultat devrait ressembler à cette capture d'écran.

4 Activer PHP 5.6 dans ISPConfig

Dans ISPConfig 3.1, vous pouvez configurer la nouvelle version PHP sous Système> Versions PHP supplémentaires. Dans l'onglet Nom, il vous suffit de saisir un nom pour la version de PHP (par exemple, PHP 5.6.30) - cette version de PHP sera répertoriée sous ce nom dans les paramètres du site Web dans ISPConfig :

Accédez à l'onglet Paramètres FastCGI et remplissez les champs comme suit :

Chemin vers le binaire PHP FastCGI : /opt/php-5.6.30/bin/php-cgi
Chemin vers le répertoire php.ini : /opt/php-5.6.30/lib

Accédez ensuite à l'onglet Paramètres PHP-FPM et remplissez les champs comme suit :

Chemin d'accès au script d'initialisation PHP-FPM : php-5.6.30-fpm
Chemin vers le répertoire php.ini : /opt/php-5.6.30/lib
Chemin vers le répertoire du pool PHP-FPM : /opt/php-5.6.30/etc/php-fpm.d

  • PHP :http://www.php.net/
  • ISPConfig :http://www.ispconfig.org/
  • Ubuntu :http://www.ubuntu.com/

Ubuntu
  1. Comment installer PHP 7.4 et 8.0 sur Ubuntu 18.04 ou 20.04

  2. Comment installer PHP sur Ubuntu 18.04

  3. Comment installer PHP sur Ubuntu 20.04

  4. Comment installer PHP 8.0 sur Ubuntu 20.04 / Ubuntu 18.04

  5. Comment installer PHP 7.2 sur Ubuntu 16.04

Comment installer ionCube Loader pour PHP dans Ubuntu

Comment installer PHP 8.0 sur Ubuntu 20.04 / 18.04

Comment utiliser plusieurs versions de PHP (PHP-FPM et FastCGI) avec ISPConfig 3 (Ubuntu 13.04)

Comment utiliser plusieurs versions de PHP (PHP-FPM et FastCGI) avec ISPConfig 3 (Ubuntu 12.10)

Comment installer PHP dans Ubuntu 22.04

Comment installer PHP sur Ubuntu 22.04