Compilation d’Apache 2.0 sous Solaris 9

Logo

Introduction

Cet article décrit les étapes et les problèmes rencontrés lors de la compilation d’Apache 2.0 sous Sun Solaris SPARC 2.9. Cette compilation est réalisée dans le contexte de la mise en place d’Insite Portal sous Solaris.

Dans le contexte de la compilation réalisée, la machine Solaris dispose déjà des compilateurs nécessaires (gcc, make, etc.). Pour plus d’informations sur l’installation des compilateurs, se reporter à la documentation : Compilation de PHP 5 sous Solaris 2.9.

Options Apache 2.0

Pour les futurs besoins de l’utilisation d’Apache 2, aucune option spécifique n’est envisagée (mod_ssl, mod_cache, etc.).

Dans une première phase (avant rencontre des erreurs), la ligne de commande de configuration de la compilation d’Apache 2.0 sous Solaris est alors la suivante :

./configure --prefix=/Software/apache/apache-2.0

L’option --prefix=/Software/apache/apache-2.0 spécifie une installation d’Apache 2.0 dans le répertoire /Software/apache/apache-2.0.

Téléchargement des sources Apache 2.0.54

Les sources Apache 2.0.x httpd-2.0.54.tar.gz sont téléchargées à partir du site Apache et installées dans le répertoire /export/home/compilation/apache2 avec le compte root :

root@SRVUNXFR1 > cd /export/home/compilation/apache2
root@SRVUNXFR1 > gunzip httpd-2.0.54.tar.gz
root@SRVUNXFR1 > tar xvf httpd-2.0.54.tar

À l’issue de la commande tar sur l’archive httpd-2.0.54.tar, les sources pour la compilation sont alors décompressées dans le répertoire /export/home/compilation/apache2/httpd-2.0.54.

Pour retrouver toutes les options de compilation d’Apache 2.0 (mod_ssl, mod_cache, etc.), utiliser l’option --help avec la commande configure

root@SRVUNXFR1 > cd /export/home/compilation/apache2/httpd-2.0.54
root@SRVUNXFR1 > ./configure --help

Compilation et installation d’Apache 2.0.54

Méthodologie de la compilation Apache 2.0.54 (configure, make, make install)

Pour réaliser la compilation d’Apache 2.0.54, il faut se positionner dans le répertoire racine des sources Apache 2.0.54 /export/home/compilation/apache2/httpd-2.0.54, ensuite bien affecter respectivement les répertoires /usr/local/bin et /usr/local/lib dans les variables d’environnement PATH et LD_LIBRARY_PATH pour retrouver les packages nécessaires lors de la compilation :

root@SRVUNXFR1 > cd /export/home/compilation/apache2/httpd-2.0.54
root@SRVUNXFR1 > export PATH=/usr/local/bin:$PATH
root@SRVUNXFR1 > export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

puis la compilation est exécutée en lançant successivement les 3 étapes configure, make et make install ci-dessous :

Étape 1 : configuration de la compilation avec configure

./configure --prefix=/Software/apache/apache-2.0

Étape 2 : construction des binaires avec make

./make

Étape 3 : installation d’Apache 2.0.54 dans le répertoire spécifié avec l’option --prefix (/Software/apache/apache-2.0) grâce à make install

./make install

Toutes les erreurs rencontrées et contournées lors de la compilation sont décrites dans le paragraphe qui suit.

Erreurs de compilation Apache 2.0.54 rencontrées (binaire ar nécessaire)

Le binaire ar est indispensable pour la compilation d’Apache, ce dernier compile les librairies .a nécessaires et sans précautions, la compilation est en échec car le binaire ar n’est pas installé dans des répertoires standards comme /usr/local/bin, etc.

/export/home/compilation/apache2/httpd-2.0.54/srclib/apr/libtool: ar:
command not found
make[3]: *** [libapr-0.la] Error 127
make[3]: Leaving directory
`/export/home/compilation/apache2/httpd-2.0.54/srclib/apr'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/export/home/compilation/apache2/httpd-2.0.54/srclib/apr'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/export/home/compilation/apache2/httpd-2.0.54/srclib'
make: *** [all-recursive] Error 1

Pour résoudre ce problème, il faut s’assurer que le binaire ar existe dans le répertoire /usr/ccs/bin (dans le cas contraire une installation de /usr/ccs est nécessaire) et d’autre part avant la compilation le répertoire /usr/css/bin doit être référencé dans la variable d’environnement PATH.

Ligne de commande configure définitive

Les lignes de commande définitives pour la compilation d’Apache 2.0.54 sans erreurs sont alors les suivantes :

#!/bin/ksh

export PATH=/usr/ccs/bin:/usr/local/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

./configure --prefix=/Software/apache/apache-2.0

./make

./make install

Vérification de l’installation d’Apache 2.0.54

À l’issue de la compilation d’Apache 2.0 et l’étape make install, toute la distribution Apache 2.0.54 a été installée dans le répertoire /Software/apache/apache-2.0. Il est nécessaire d’affecter alors le bon propriétaire au répertoire /Software/apache/apache2.0 car par défaut toute la distribution a été installée avec le user Unix root.

Par défaut dans un environnement Unix/linux, le fichier de configuration httpd.conf est alors dans le répertoire install_apache_dir/conf (/Software/apache/apache-2.0).

Une fois le paramétrage du serveur Apache effectué dans le fichier httpd.conf, le démarrage du serveur peut être testé avec la ligne de commande apachectl :

/Software/apache/apache-2.0/apachectl start