Chose promise, chose due...
Et voilà ce que j'ai fait après avoir installé, via aptitude, apache2 et mysql pour faire faire fonctionner GD correctement sous UBUNTU 8.04 LTS :
Support GD sous PHP
La mise en place du serveur WEB standard sous Ubuntu pose un problème lors de l'utilisation de la librairie GD. Certaines fonctions ne sont pas implémentées.
Pour remédier à ce problème, il est proposé de re-compiler PHP avec le support natif de GD.
Pour ce faire commencez par installer les outils de compilation :
aptitude install build-essential
Téléchargement et compilation des codes sources FreeType
Au moment où ce document est écrit la version de FreeType est là 2.3.9 et la version de PHP utilisé est la 5.2.11.
Placez-vous dans le répertoire que vous souhaitez, dans cet article il a été créé un répertoire php dans le répertoire home :
mkdir /home/php
cd /home/php
Pour télécharger FreeType, on exécute la commande :
wget http://downloads.sourceforge.net/freetype/freetype-2.3.9.tar.gz
On décompresse les sources :
tar -zxvf freetype-2.3.9.tar.gz
On se place dans le répertoire fraîchement décompressé :
cd /home/php/freetype-2.3.9
On prépare la compilation :
./configure
On compile :
make
On installe la compilation :
make install
Téléchargement et compilation des codes sources PHP5
Au moment où ce document est écrit la version de FreeType est là 2.3.9 et la version de PHP utilisé est la 5.2.11.
On installe les paquets suivants utiles à la compilation de PHP :
apt-get install libpng12-* libjpeg* zlib1g gawk bison flex ^libxml2-* mcrypt libmcrypt-dev apache2-prefork-dev
aptitude install perl libcurl4-gnutls-dev libicu-dev libxslt1-dev libcurl4-openssl-dev
On se place dans le répertoire précédemment créé :
cd /home/php
Pour télécharger PHP, on exécute la commande (cette ligne est valable uniquement pour le 09-20-2009 entre 8:30 et 14:30 😃, il faut aller sur
http://snaps.php.net pour récupérer le "dernier" bon fichier):
wget http://snaps.php.net/php5.2-200909200830.tar.gz
On décompresse les sources :
tar -zxvf php5.2-200909200830.tar.gz
On se place dans le répertoire franchement décompressé :
cd /home/php/php5.2-200909200830
Avant de lancer la ligne de configuration pour la compilation, nous allons rechercher l'emplacement des fichiers suivants : php.ini, mysqld.sock et mysql.h
L'objectif est d'essayer de rester conforme à l'installation d'UBUNTU. Et, théoriquement sur 8.04 LTS, les fichiers devraient se trouver dans les répertoires :
pour php.ini : /etc/php5/apache2/
pour mysqld.sock : /var/run/mysqld/
pour mysql.h : /usr/include/mysql/mysql.h
On installe les sources de mysql pour trouver le mysql.h
la commande pour trouver le fichier : find / -name mysql.h):
pour installer les sources :
aptitude install libmysqlclient-dev
On prépare la compilation par la commande suivante :
./configure --prefix=/usr/ --with-apxs2=/usr/bin/apxs2 --with-config-file-path=/etc/php5/apache2 --disable-ipv6 --enable-inline-optimization --disable-debug --enable-bcmath --enable-calendar --with-curl --enable-ctype --enable-dbase --enable-discard-path --enable-exif --enable-ftp --with-gd --with-freetype-dir --with-jpeg-dir --with-png-dir --enable-gd-native-ttf --enable-magic-quotes --enable-mbstring --with-mcrypt --with-mysql=/usr/bin/ --with-pdo-mysql --enable-soap --with-pear --with-xsl --with-zlib --with-openssl --enable-sockets --with-mysql-sock=/var/run/mysqld/mysqld.sock
(Il est vivement conseillé de faire une sortie vers un fichier)
On compile :
make
On installe la compilation avec :
make install --ignore-errors
Le make install ne fonctionnera pas car sous UBUNTU les fichiers ne sont pas placés dans les répertoires attendus.
Et, on redémarre apache :
/etc/init.d/apache2 restart