Manuel PHP
Précédent |  | Suivant

# Chapitre 5. Installation sous UNIX

Cette section va vous guider lors du processus d'installation et de configuration de PHP sous Unix. Commencez par étudier les sections spécifiques à votre plate-forme ou à votre serveur web avant de passer à l'installation.

Comme ce que nous avons écrit dans le manuel dans la section Considérations générales sur l'installation, nous traiterons de l'installation de PHP sur des serveurs web dans cette section, bien que nous couvrirons également la configuration de PHP pour l'utilisation en lignes de commande.

Il y a plusieurs manières d'installer PHP sur des plateformes Unix, soit avec un processus de compilation / configuration, soit avec des paquets pré-compilés. Cette documentation est particulièrement focalisée sur le processus de compilation / configuration. Beaucoup de systèmes basés sur Unix ont plusieurs sortes de paquets d'installation pour leur système. Ils permettent de vous assister dans une configuration standart mais si vous avez besoin d'avoir des fonctionnalités différentes (comme un serveur sécurisé ou un driver différent de bases de données), vous aurez besoin de construire PHP et/ou votre serveur web. Si vous n'êtes pas familiarisé avec la construction et la compilation de vos propres logiciels, il sera plus simple de vérifier si quelquepart, personne n'a déjà construit une version de paquet de PHP avec les fonctionnalités dont vous avez besoin.

Pré-requis :

- Connaissance de base d'UNIX (savoir faire un "make" et compiler en C, si besoin).

- Un compilateur ANSI C (pour les codes sources)

- flex (pour compiler)

- bison (pour compiler)

- Un serveur web

- Tous les composants nécessaires aux extensions (bibliothèque GD, PDF, etc)

La configuration initiale de PHP et le processus de configuration sont contrôlés par l'utilisation du fichier `configure` et de ces options en lignes de commande. Notre manuel documente les différentes options séparemment. Vous pouvez trouver les options internes en annexe, bien que les différentes options spécifiques à chaque extension sont décrites sur les pages de référence.

Lorsque PHP est configuré, vous êtes prêt à construire le module et/ou l'exécutable. La commande make devrait s'occuper de celà. Si elle échoue et que vous ne savez pas pourquoi, lisez la section Problèmes.

# 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à du utiliser Portage. L'nstallation 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 5-1. 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-<your PHP version>/mod_php-<your PHP version>.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. Celà n'est pas forcemment 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 5-2. 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 à celà :

Exemple 5-3. 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

- Si vous voyez les sources de PHP au lieu de ce que devrait produire votre script, vous avez certainement oublié d'éditer le fichier `/etc/conf.d/apache`. Apache doit être démarrer avec le flag -D PHP4. Pour voir si le flag est présent, vous devriez être en mesure de le voir lorsque vous utilisez la commande ps ax | grep apache pendant que Apache fonctionne.

- En raison de problèmes de localisation, vous pourriez avoir des soucis avec plus d'une version de PHP d'installée sur votre système. Dans ce cas, vous devez supprimer les anciennes versions manuellement en utilisant la commande emerge unmerge mod_php-<old version>.

- Si vous ne pouvez pas émerger PHP à cause de Java, essayez en exécutant la commande -* au début des flags USE comme dans l'exemple précédent.

- Si vous avez des soucis de configuration Apache et PHP, vous pouvez toujours chercher sur les forums Gentoo. Essayez d'y rechercher les mots clés "Apache PHP".

Précédent | Sommaire | Suivant
Compilation pour les clients MacOs | Niveau supérieur | Installation sous HP-UX