Installation sous Gentoo

Cette section contient des notes et astuces spécifiques à l'installation de PHP sous Gentoo Linux.

Utilisation de Portage (emerge)

Au lieu de télécharger les sources de PHP et de les compiler vous-même, l'utilisation du système de paquet de Gentoo est la méthode la plus simple et la plus propre pour installer PHP. Si vous n'êtes pas familié avec la compilation de logiciel sous Linux, c'est la voix à suivre.

Si vous avez compiler votre système Gentoo jusqu'ici, vous avez déjà dû utiliser Portage. L'installation de Apache et de PHP n'est pas différente que n'importe quel utilitaire système.

La première décision à prendre est de choisir entre Apache 1.3.x et Apache 2.x. Bien que les deux peuvent être utilisés avec PHP, les instructions qui suivent utiliseront Apache 1.3.x. Une autre chose à considérer est si votre arborescence local de Portage est à jour ou non. Si vous ne l'avez pas mise à jour récemment, vous devez exécuter la commande emerge sync avant de faire quoi que ce soit d'autre. De ce fait, vous serez en mesure d'utiliser la version la plus récente d'Apache et de PHP.

Maintenant que tout est en place, vous pouvez utiliser l'exemple suivant pour installer Apache et PHP :

Exemple 4-11. Exemple d'installation avec Apache 1.3 sous Gentoo

# emerge \<apache-2
# USE="-*" emerge php mod_php
# ebuild /var/db/pkg/dev-php/mod_php-<votre version de PHP>/mod_php-<votre version de PHP>.ebuild config
# nano /etc/conf.d/apache
  Add "-D PHP4" to APACHE_OPTS
  
# rc-update add apache default
# /etc/init.d/apache start

Vous pouvez trouver plus d'informations sur emerge dans l'excellent manuel Portage issus du site web de Gentoo.

Si vous devez utiliser Apache 2, vous pouvez simplement exécuter la commande emerge apache dans l'exemple précédent.

Meilleur contrôle de la configuration

Dans la section précédente, PHP a été émergé sans aucun module d'activé. A l'heure de l'écriture de cette documentation, le seul module activé par défaut avec Portage est XML, qui est nécessaire pour PEAR. Cela n'est pas forcément ce que vous voulez et vous devriez découvrir rapidement que vous avez besoin de plus de modules, comme MySQL, gettext, GD, etc.

Lorsque vous compilez PHP depuis les sources vous-même, vous devez activer les modules en utilisant la commande configure. Avec Gentoo, vous pouvez simplement définir des flags USE qui seront passés au script de configuration automatiquement. Pour voir les tags USE à utiliser avec emerge, vous pouvez essayer :

Exemple 4-12. Récupération de la liste des flags USE

# USE="-*" emerge -pv php

[ebuild  N    ] dev-php/php-4.3.6-r1  -X -berkdb -crypt -curl -debug -doc 
-fdftk -firebird -flash -freetds -gd -gd-external -gdbm -gmp -hardenedphp 
-imap -informix -ipv6 -java -jpeg -kerberos -ldap -mcal -memlimit -mssql 
-mysql -ncurses -nls -oci8 -odbc -pam -pdflib -png -postgres -qt -readline 
-snmp -spell -ssl -tiff -truetype -xml2 -yaz  3,876 kB

Comme vous pouvez le voir dans l'affichage précédant, PHP admet beaucoup de flags USE. Regardez les et choisissez ce dont vous avez besoin. Si vous choisissez un flag et que vous n'avez pas la bonne bibliothèque, Portage la compilera pour vous. C'est une bonne idée d'utiliser la commande emerge -pv encore une fois pour voir ce que Portage va compiler en accord avec les flags que vous avez placer. Par exemple, si vous n'avez pas d'installation de X et que vous choisissez d'inclure X dans les flags USE, Portage compilera X en priorité par rapport à PHP, ce qui peut prendre un certain nombre d'heures.

Si vous choisissez de compiler PHP avec le support MySQL, CURL et GD, la commande devrait ressembler à ceci :

Exemple 4-13. Installation de PHP avec les flags USE

# USE="-* curl mysql gd" emerge php mod_php

Tout comme dans le dernier exemple, n'oubliez pas d'émerger PHP tout comme mod_php. "php" ici signifie la version de PHP en ligne de commande, alors que "mod_php" correspond au module Apache.

Problèmes fréquents