Construire PHP 5.4 à partir des sources sur Debian Squeeze
Version 1.0.0
Pour ISPConfig : 3.0.5.1
Auteur :Michel Käser
Ce tutoriel décrit comment compiler PHP 5.4 à partir des sources sur Debian Squeeze. Plus tard, nous installerons plus de modules via PECL et l'ajouterons en tant que version PHP supplémentaire à la liste déroulante d'ISPConfig.
À la fin, vous aurez une installation PHP 5.4 entièrement fonctionnelle qui peut être sélectionnée dans l'interface ISPConfig et un package .deb pouvant également être utilisé sur d'autres serveurs.
Je n'émets aucune garantie que cela fonctionnera pour vous !
1 Exigences
Pour suivre ce tutoriel, vous aurez besoin des éléments suivants :
- un serveur parfait exécutant Debian Squeeze
- une installation ISPConfig (3.0.5 ou ultérieure)
- environ 45 minutes pour lire attentivement
2 Notes préliminaires
Je recommande fortement de compiler les packages sur un serveur séparé, car cela nécessite l'installation de nombreux packages dont nous n'avons pas besoin autrement. Si vous n'avez pas plus d'un serveur, il peut être judicieux de louer un VPS bon marché quelque part pour quelques heures/jours.
La commande/les paramètres de configuration que nous allons utiliser sont aussi proches que possible de ceux qui sont utilisés pour construire les packages PHP Debian standard, qui sont disponibles dans les dépôts officiels.
Enfin, la plupart de ces informations se trouvent dans le Manuel ISPConfig - tu sais ce que j'essaie de te dire, n'est-ce pas ?;)
3 prérequis
(sur un serveur séparé)
Avant de pouvoir commencer le processus de construction, vous devez installer quelques packages supplémentaires. Certains d'entre eux sont simplement parce que je les préfère (par exemple nano) :
apt-get -y install nano build-essential checkinstall zip
checkinstall nous aidera à créer des packages .deb. Vérifiez la source depuis Crédits section si vous souhaitez en savoir plus.
4 Téléchargement de PHP
(sur un serveur séparé)
Avant de commencer à télécharger et à compiler notre version personnalisée de PHP, nous allons créer quelques répertoires :
mkdir -p /opt/php/5.4.12
mkdir /usr/local/src/php5-build
et commencez à télécharger les sources PHP dès que vous avez terminé :
cd /usr/local/src/php5-build
wget http://ch1.php.net/distributions/php-5.4.12.tar.gz
tar -xzvf php-5.4.12. tar.gz
cd php-5.4.12/
Comme nous devons récupérer les dépendances de PHP, assurez-vous d'avoir une ligne deb-src dans votre /etc/apt/sources.list :
nano /etc/apt/sources.list
deb-src http://ftp.debian.org/debian squeeze main contrib non-free
et mettre à jour le cache du package :
apt-obtenir la mise à jour
5 Construire PHP
(sur un serveur séparé)
En suivant les étapes ci-dessus, nous avons préparé notre système pour qu'il soit prêt à compiler. Maintenant, d'abord, nous devons récupérer/installer les dépendances :
apt-get build-dep php5
et installez quelques autres packages :
apt-get -y install libfcgi-dev libfcgi0ldbl libjpeg62-dbg libmcrypt-dev libssl-dev
Enfin, nous sommes prêts à compiler PHP. Comme d'habitude, la première étape consiste à lancer la commande configure. Pour obtenir une liste de toutes les options disponibles, utilisez ./configure --help :
./configure \
--prefix=/opt/php/5.4.12 \
--with-zlib-dir \
--with-freetype-dir \
- -enable-cgi \
--enable-mbstring \
--with-libxml-dir=/usr \
--enable-soap \
--enable-calendar \
--with-curl \
--with-mcrypt \
--with-zlib \
--with-gd \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable- sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--with-mhash \
--enable- zip \
--avec-pcre-regex \
--avec-mysql \
--avec-pdo-mysql \
--avec-mysqli \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--enable-gd-native-ttf \
--with-openssl \
--with-libdir=lib64 \
--with-libxml-dir=/usr \
--enable-exif \
--enable-dba \
--with-gettext \
--enable-shmop \
--enable-sysvmsg \
--enable-wddx \
--with-imap \
--avec-imap-ssl \
--avec-kerberos \
--enable-bcmath \
--enable-ftp \
--enable-intl \
--with-pspell
Si tout s'est bien passé et que vous n'avez reçu aucun message d'erreur, continuez avec :
faire
pour réellement compiler.
6 Créer un package
(sur un serveur séparé)
Normalement, nous utiliserions maintenant make install pour installer les sources compilées sur le système. Cependant, comme nous aimerions avoir un fichier .deb, nous utilisons l'outil checkinstall :
checkinstall -D make install
Dès le début, il vous demandera de créer des documents -> choisissez oui (y) et entrez un bref résumé de votre package, par exemple
PHP 5.4.12 compilé à partir des sources sur l'architecture Debian Squeeze (6.0.7) amd64
L'écran suivant vous permet également de manipuler de nombreuses autres valeurs. Je recommande de changer au moins :
0 :par ex. Services Internet Rackster
2 :php-5.4.12
11 :php-5.4.12
Appuyez sur Entrée lorsque vous avez terminé. checkinstall générera alors le package pour vous.
Cependant, le package résultant ne contient pas les fichiers .ini, nous créons donc une archive .zip :
zip /root/php-5.4.12.zip *.deb *.ini-*
Fait. Génial !
7 Installer le paquet
Tout jusqu'ici a été fait (ou aurait dû être fait) sur son propre serveur. Cette partie se déroule sur votre système ISPConfig. Assurez-vous d'avoir transféré/copié le fichier .zip résultant ici.
Décompressez l'archive :
décompressez php-5.4.12.zip
installez le paquet :
dpkg -i php-*.deb
et copiez les fichiers .ini :
cp *.ini-* /opt/php/5.4.12/lib
cp /opt/php/5.4.12/lib/php.ini-production /opt/php/5.4.12/lib/php. ini
8 Ajout de modules supplémentaires
Autre que la version PHP installée via le gestionnaire de packages de votre choix, notre version personnalisée ne pourra pas utiliser les modules installés via par exemple. apt - mais il existe une alternative simple.
PEAR et PECL sont comme des gestionnaires de paquets pour PHP - installez-les :
apt-get -y install php-pear
et changer de répertoire :
cd /opt/php/5.4.12/etc
8.1 Installer APC
pecl -C ./pear.conf update-channels
pecl -C ./pear.conf install apc
Acceptez les valeurs par défaut partout. Une fois terminé, nous n'avons qu'à l'ajouter à notre php.ini :
nano /opt/php/5.4.12/lib/php.ini
extension=apc.so
8.2 Installer uploadprogress
pecl -C ./pear.conf install uploadprogress
Acceptez les valeurs par défaut partout. Une fois terminé, nous n'avons qu'à l'ajouter à notre php.ini :
nano /opt/php/5.4.12/lib/php.ini
extension=uploadprogress.so
9 Ajout de PHP à ISPConfig
Dans ISPConfig 3.0.5, 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, 5.4.12) - cette version de PHP sera répertoriée sous ce nom dans les paramètres du site Web dans ISPConfig :
Server: Select the server where the PHP version is installed. Client: If this PHP version should be available for just for one specific client, select that client here. Otherwise, this PHP version will be available for all clients. PHP Name: 5.4.12
Accédez aux Paramètres FastCGI tab et remplissez les champs comme suit :
Path to the PHP FastCGI binary: /opt/php/5.4.12/bin/php-cgi Path to the php.ini directory: /opt/php/5.4.12/lib
10 liens / crédits
- http://www.ispconfig.org/ispconfig-3/ispconfig-3-manual/
- http://www.falkotimme.com/howtos/checkinstall/index.php
- https://www.rackster.ch/