Apache et PHP

© Christian PAULUS. Document créé le 22 décembre 2000 , mis à jour le 13 mars 2007.

Un problème sans solution est un problème mal posé. Albert Einstein

Accueil du site > Astuces > PHP > Apache et PHP

Apache 1.3.14 / PHP 3

Installation d’un serveur ApachePHP accompagné des services de connexions “ Bases de données”

Avertissements : Ce guide n’est peut-être pas le mieux approprié à vos besoins. Il s’adresse à des administrateurs chevronnés. Si vous n’avez pas de compétences dans le domaine Unix et sur les bases de données, notamment sur les commandes d’installation comme make, tar, etc, n’utilisez pas ce guide. Des erreurs ont pu s’y glisser. Sans ces compétences, vous risqueriez au mieux de perdre votre temps, au pire de mettre en péril votre environnement de travail.

Remarques

Svp, si vous êtes débutant, sachez que j’ai très peu de temps de libre, je ne pourrai guère vous aider. Commencez par lire les documentations disponibles en ligne, les manuels fournis avec les sources. Utilisez les moteurs de recherche ( www.google.org est mon préféré ). Il existe de nombreux documents en français. Vous trouverez quelques références en fin de ce document.

Description de l’environnement utilisé

Cette documentation illustre l’installation des outils sous FreeBSD, 4. Vous devriez pouvoir sans problème l’adapter à votre environnement Unix. Création du compte d’exploitation

Afin de sécuriser au mieux l’environnement, il est conseillé de créer un compte d’exploitation pour chacun des services que vous mettez en place. Ainsi, en cas d’erreur d’installation ou de paramétrage, vous minimisez les risques d’incidents. Attention, minimiser ne veut pas dire supprimer.

Les services installés dans ce mémo sont HTTPD pour le service du WEB, SLAPD pour l’accès à la base LDAP, MYSQLD pour l’accès à la base MySQL. Ces comptes sont à rajouter dans votre fichier /etc/passwd. Chaque ligne ajoutée sera du style :

httpd:*:1006:1006::0:0:Apache PHP admin:/usr/local/ApachePHP:/bin/date

Dans cet exemple, le compte utilisateur httpd a pour ID le numéro 1006. Ce numéro est également celui du groupe. Le fichier /etc/group doit aussi être paramétré. Chaque ligne ajoutée sera du style :

httpd :* :1006 :httpd

Environnement de destination

Tous les utilitaires et les données seront installés dans le répertoire /usr/local de la machine. Il sera ainsi plus facile de maintenir les différents éléments sans se mélanger les pinceaux dans la longue liste d’outils et de documents partagés, installés au fur et à mesure de la vie du serveur. Les différents répertoires de destination sont :

/usr/local/ApachePHP pour les outils Apache, PHP 3 et 4
/usr/local/ pour tous les outils partagés, les librairies et les fichiers .h

L’installation présentée ici a é té réalisée manuellement et entièrement à partir des sources disponibles sur les serveurs publics. Libre à vous bien sûr de les installer par les commandes pkg (BSD), rpm (Linux) ou tout autre commande qui vous permettent d’installer les produits plus aisément.

Pourquoi installer à partir des sources au lieu d’installer des paquetages ? Tout simplement parce qu’il est très rare que les paquetages soient à jour des dernières versions, surtout sur des produits complexes comme l’est l’ensemble de ce qui est présenté ici.

Pourquoi toujours les dernières versions ? Tout simplement parce qu’il s’agit ici d’une solution à priori destinée à être mise en exploitation sur Internet dont la réputation de haut lieu de convivialité ou ne règnent qu’amour, respect et liberté mais où les mots pirates se conjuguent quotidiennement à l’amateur comme au professionnel.

Détail : désolé, je ne peux pas vous dire pourquoi le site public contenant le source est parfois indisponible et je ne peux pas non plus vous envoyer une copie du source en question.

Extensions PHP compilées pour cette version :

GD support de la librairie GD pour le génération de graphiques aux formats PNG, JPEG et WBMP. WBMP est utilisé pour les " sans fil ". FreeType, pour la génération de fontes TrueType à la volée, a également été ajouté à ce module. ZLIB a été ajoutée à la liste. DB support Berkeley DB 2 et DB 3 FTP support protocole FTP pour échange de fichiers. IMAP support IMAP pour l’échange de courrier électronique. MySQL support base de données MySQL. OpenLDAP support LDAP OpenLDAP. PDFLIB support pdflib pour la génération à la volée de fichiers au format PDF. XML support du format XML. Liste des modules compilés pour cette version Auth_LDAP authentification par LDAP

A noter : Perl 5 doit être présent sur la machine.

Récupérer les sources des produits utilisés

Cette documentation a été réalisée le 28 octobre 2000. Les numéros de versions présentés sont ceux des versions stables des produits concernés à cette date. Il se peut qu’au moment où vous lisiez ces lignes, les produits concernés aient évolué. Il vous faudra, si vous le désirez, adapter cette documentation aux versions des produits que vous allez installer.

ATTENTION : lisez les conditions d’utilisation pour chacun de ces produits. Ils ne sont pas tous utilisables dans toutes les conditions. Ces conditions d’utilisations se trouvent en général dans un fichier README ou LICENSE.

— Apache : LE serveur HTTP
— - Version : 1.3.14
— - Origine : http://httpd.apache.org/dist/

— Auth_LDAP : module d’authentification LDAP
— - Version : 1.4.5
— - Origine : http://www.rudedog.org/auth_ldap/

— BerkeleyDB :
— - Version : 2.7.7 et 3.1.17
— - Origine : http://www.sleepycat.com/update

— MySQL : base de données SQL
— - Version : 3.22.32
— - Origine : http://download.sourceforge.net/mysql/

— OpenLDAP : serveur LDAP/SLAPD
— - Version : 1.2.11
— - Origine : http://www.openldap.org

— PHP
— - Version : 3.0.17 et 4.0.3pl1
— - Origine : http://www.php.net/downloads.php

Récupérez les fichiers sources et rassemblez tous les éléments dans le répertoire /usr/local/src de la machine destination ou une machine de test. Décompressez le fichier récupéré. Par exemple :

cd /usr/local/src
gzip -d apache_1.3.14.tar.gz
tar xvf apache_1.3.14.tar

Il vous faut ensuite créer un lien symbolique pour chacune des archives. Par exemple :

ln -s ./apache_1.3.14 APACHE

Cette pratique de liens symboliques peut paraître curieuse à certains, mais d’une part elle est demandée dans certains sources concernés par cette installation, d’autre part elle vous permettra de gagner du temps lors des mises à jours. Déplacez les fichiers *tar en lieu sûr.

Une fois tous les fichiers décompressés, un ls -l du /usr/local/src ressemble à ceci :

lrwxr-xr-x 1 root wheel 15 Oct 28 21:32 APACHE -> ./apache_1.3.14
lrwxr-xr-x 1 root wheel 17 Oct 28 21:25 Auth_LDAP -> ./auth_ldap-1.4.5
lrwxr-xr-x 1 root wheel 17 Oct 30 10:38 GetText -> ./gettext-0.10.35
lrwxr-xr-x 1 root wheel 17 Nov 4 21:02 LIBCRYPT -> ./libmcrypt-2.2.6
-rw-r--r-- 1 root wheel 7344 Nov 11 21:16 Makefile
lrwxr-xr-x 1 root wheel 12 Oct 28 21:25 PHP3 -> ./php-3.0.17
lrwxr-xr-x 1 root wheel 14 Oct 28 21:26 PHP4 -> ./php-4.0.3pl1
drwxr-xr-x 8 root wheel 512 Nov 11 13:32 apache_1.3.14
lrwxr-xr-x 1 root wheel 12 Oct 29 09:36 bison -> ./bison-1.28
drwxr-xr-x 6 501 100 1024 Nov 8 07:56 bison-1.28
drwxr-xr-x 41 bin man 1024 Aug 31 1999 db-2.7.7
drwxr-xr-x 50 100 100 1024 Jul 31 22:15 db-3.1.17
lrwxr-xr-x 1 root wheel 10 Oct 29 09:14 db2 -> ./db-2.7.7
lrwxr-xr-x 1 root wheel 11 Nov 6 09:40 db3 -> ./db-3.1.17
lrwxr-xr-x 1 root wheel 14 Nov 9 03:39 expat -> ./expat-1.95.1
drwxr-xr-x 7 root wheel 512 Nov 9 03:41 expat-1.95.1
lrwxr-xr-x 1 root wheel 16 Oct 29 10:40 freetype -> ./freetype-1.3.1
drwxr-xr-x 9 root staff 1024 Nov 8 07:57 freetype-1.3.1
lrwxr-xr-x 1 root wheel 10 Oct 29 10:02 gd -> ./gd-1.8.3
drwxr--r-- 3 root wheel 2048 Nov 8 07:58 gd-1.8.3
lrwxr-xr-x 1 root wheel 9 Oct 29 10:19 jpeg -> ./jpeg-6b
drwxr-xr-x 3 root wheel 6144 Nov 8 07:57 jpeg-6b
lrwxr-xr-x 1 root wheel 17 Nov 9 13:57 libmcrypt -> ./libmcrypt-2.2.6
drwxr-xr-x 5 500 tty 1024 Nov 9 13:58 libmcrypt-2.2.6
lrwxr-xr-x 1 root wheel 14 Nov 6 01:57 libpng -> ./libpng-1.0.8
drwxr-xr-x 6 620 96 1536 Nov 8 07:16 libpng-1.0.8
lrwxr-xr-x 1 root wheel 15 Oct 28 21:25 mysql -> ./mysql-3.22.32
drwxr-xr-x 21 510 101 1024 Nov 11 15:28 mysql-3.22.32
lrwxr-xr-x 1 root wheel 17 Oct 28 21:25 openldap -> ./openldap-1.2.11
drwxr-xr-x 10 root wheel 512 Nov 8 09:16 openldap-1.2.11
lrwxr-xr-x 1 root wheel 13 Oct 29 12:21 pdflib -> ./pdflib-2.01
drwxr-xr-x 9 root wheel 512 Nov 8 07:57 pdflib-2.01
drwxr-xr-x 16 root wheel 3584 Nov 11 13:36 php-3.0.17
drwxr-xr-x 16 root wheel 2048 Nov 11 13:55 php-4.0.3pl1
lrwxr-xr-x 1 root wheel 10 Nov 9 13:22 xpm -> ./xpm-3.4k
drwxr-xr-x 8 root wheel 512 Nov 9 13:49 xpm-3.4k
lrwxr-xr-x 1 root wheel 12 Oct 31 00:57 zlib -> ./zlib-1.1.3
drwxr-xr-x 7 6154 118 1536 Nov 8 07:57 zlib-1.1.3

Tous les exécutables seront placés dans un sous dossier de /usr/local. On remarquera à la lecture du script Makefile (voir ci-dessous) que le dossier /usr/local/www est le seul dossier devant contenir les pages HTML. Il n’est pas placé dans /usr/local/ApachePHP afin de faciliter la maintenance du serveur HTML. Vous pouvez ainsi, si besoin, modifier les exécutables et fichiers de configuration sans être obligé de modifier la hiérarchie de vos pages.

Compilation et installation des programmes

Les manipulations sont nombreuses ici. Je vous propose de charger et lancer le Makefile disponible ici.

GZ - 1.7 ko

Il suffit de le recopier dans le dossier des source (/usr/local/src dans ce mémo) et de le décompresser avant utilisation par la commande make.

ATTENTION : vérifiez avec soin ce script avant d’exécuter la commande make, il peut remettre en cause la configuration de votre système. Toute l’installation dépend ensuite de la bonne conformité des liens symboliques précités. Ce script compile un à un les programmes concernés et les installe dans les répertoires de destination. Ceci peut prendre quelques heures. Soyez patient. Une fois l’installation terminée, un make clean vous permettra de récupérer de la place disque.

Configuration pour PHP3

Editez le fichier /usr/local/ApachePHP/conf/httpd.conf et validez la ligne de configuration :

AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php .php .php4 .phtml

Normalement, ces lignes sont déjà présentes à l’installation. Il faut retirer le # qui se trouve en début de ligne et redémarrer le serveur par la commande :

/usr/local/Apache/bin/apachectl restart

Documentation complémentaire : http://www.php.net/manual/fr/migration4.php

Paramètrages pour Auth_LDAP. La documentation complète est disponible sur http://www.rudedog.org/auth_ldap/1.4/auth_ldap.html

Références

— http://www.apache.org
— http://www.php.net
— http://www.rudedog.org/auth_ldap

Plussoyez !

Les forums sont fermés.