23.8. Serveur HTTP Apache

Contribution de Murray Stokely.

23.8.1. Généralités

FreeBSD est utilisé pour faire tourner certains des sites les plus chargés au monde. La majorité des serveurs web sur l'Internet utilisent le serveur HTTP Apache. Les versions pré-compilées d'Apache devraient se trouver sur le support d'installation de FreeBSD que vous avez utilisé. Si vous n'avez pas installé Apache à l'installation de FreeBSD, alors vous pouvez installer le serveur à partir du logiciel porté www/apache13 ou www/apache2.

Une fois qu'Apache a été installé avec succès, il doit être configuré.

Note : Cette section traite de la version 1.3.X du serveur HTTP Apache étant donné que c'est la version la plus largement utilisée sous FreeBSD. Apache 2.X introduit de nombreuses nouvelles technologies mais elles ne sont pas abordées ici. Pour plus d'informations concernant Apache 2.X veuillez consulter http://httpd.apache.org/.

23.8.2. Configuration

Le fichier principal de configuration du serveur HTTP Apache est, sous FreeBSD, le fichier /usr/local/etc/apache/httpd.conf. Ce fichier est un fichier texte de configuration UNIX® typique avec des lignes de commentaires débutant par un caractère #. Une description complète de toutes les options de configuration possibles dépasse le cadre de cet ouvrage, aussi seules les directives les plus fréquemment modifiées seront décrites ici.

ServerRoot "/usr/local"

Indique le répertoire d'installation par défaut pour l'arborescence Apache. Les binaires sont stockés dans les sous-répertoires bin et sbin de la racine du serveur, et les fichiers de configuration dans etc/apache.

ServerAdmin you@your.address

L'adresse électronique à laquelle tous les problèmes concernant le serveur doivent être rapportés. Cette adresse apparaît sur certaines pages générées par le serveur, comme des pages d'erreur.

ServerName www.example.com

La directive ServerName vous permet de fixer un nom de machine qui est renvoyé aux clients de votre serveur si le nom est différent de celui de la machine (i.e, utilisez www à la place du véritable nom de la machine).

DocumentRoot "/usr/local/www/data"

DocumentRoot est le répertoire où se trouvent les documents que votre serveur diffusera. Par défaut, toutes les requêtes sont prises en compte par rapport à ce répertoire, mais des liens symboliques et des alias peuvent être utilisés pour pointer vers d'autres emplacements.

C'est toujours une bonne idée de faire des copies de sauvegarde de votre fichier de configuration d'Apache avant de faire des modifications. Une fois que vous êtes satisfait avec votre configuration, vous êtes prêt à lancer Apache.

23.8.3. Exécuter Apache

Apache n'est pas lancé à partir du ``super-serveur'' inetd comme pour beaucoup d'autres serveurs réseau. Il est configuré pour tourner de façon autonome pour de meilleures performances à la réception des requêtes HTTP des navigateurs web. Une procédure est fournie pour rendre le démarrage, l'arrêt, et le redémarrage du serveur aussi simple que possible. Pour démarrer Apache pour la première fois, exécutez:

# /usr/local/sbin/apachectl start

Vous pouvez arrêter le serveur à tout moment en tapant:

# /usr/local/sbin/apachectl stop

Après avoir effectué des modifications dans le fichier de configuration, vous devez redémarrer le serveur:

# /usr/local/sbin/apachectl restart

Pour redémarrer Apache sans faire échouer les connexions en cours, exécutez:

# /usr/local/sbin/apachectl graceful

Des informations supplémentaires sont disponibles dans la page de manuel d' apachectl(8).

Pour lancer Apache au démarrage du système, ajoutez la ligne suivante au fichier /etc/rc.conf:

apache_enable="YES"

Si vous désirez passer des options en ligne de commande supplémentaires au programme httpd d'Apache lancé au démarrage du système, vous pouvez les spécifier à l'aide d'une ligne dans rc.conf:

apache_flags=""

Maintenant que le serveur web tourne, vous pouvez voir votre site web en pointant votre navigateur sur http://localhost/. La page web affichée par défaut est /usr/local/www/data/index.html.

23.8.4. Serveurs virtuels

Apache supporte deux types différents de serveurs virtuels. Le premier type est celui des serveurs virtuels basés sur les noms. Ce type de serveurs virtuels utilise les entêtes HTTP/1.1 pour déterminer le nom de la machine. Cela autorise le partage de la même adresse IP entre plusieurs domaines différents.

Pour configurer Apache à l'utilisation de serveurs virtuels basés sur les noms, ajoutez une entrée comme la suivante à votre fichier httpd.conf:

NameVirtualHost *

Si votre serveur web est appelé www.domain.tld et que vous voulez mettre en place un domain virtuel pour www.someotherdomain.tld alors vous ajouterez les entrées suivantes au fichier httpd.conf:

<VirtualHost *>
ServerName www.domain.tld
DocumentRoot /www/domain.tld
<VirtualHost>

<VirtualHost *>
ServerName www.someotherdomain.tld
DocumentRoot /www/someotherdomain.tld
</VirtualHost>

Remplacez les addresses avec celles que vous désirez utiliser et le chemin d'accès des documents avec celui que vous utilisez.

Pour plus d'informations sur la mise en place de serveurs virtuels, veuillez consulter la documentation officielle d'Apache à l'adresse http://httpd.apache.org/docs/vhosts/

23.8.5. Modules Apache

Il existe de nombreux modules Apache disponibles en vue d'ajouter des fonctionnalités au serveur de base. Le catalogue des logiciels portés offre une méthode simple d'installation d'Apache avec certains des modules les plus populaires.

23.8.5.1. mod_ssl

Le module mod_ssl utilise la bibliothèque OpenSSL pour offrir un chiffrement solide à l'aide des protocoles ``Secure Sockets Layer'' (SSL v2/v3) et ``Transport Layer Security''. Ce module fourni tout ce qui est nécessaire à la demande de certificats signés auprès d'une autorité de certification connue de façon à pouvoir faire tourner un serveur web sécurisé sous FreeBSD.

Si vous n'avez pas déjà installé Apache, alors une version d'Apache 1.3.X comprenant mod_ssl peut être installée à l'aide du logiciel porté www/apache13-modssl. Le support SSL est également disponible pour Apache 2.X avec le logiciel porté www/apache2, où il est activé par défaut.

23.8.5.2. mod_perl

Le projet d'intégration Apache/Perl réuni la puissance du langage de programmation Perl et le serveur HTTP Apache. Avec le module mod_perl il est alors possible d'écrire des modules Apache entièrement en Perl. De plus, la présence d'un interpréteur intégré au serveur évite la surcharge due au lancement d'un interpréteur externe et le délai pénalisant du démarrage de Perl.

Si vous n'avez pas encore installé Apache, une version d'Apache comprenant le module mod_perl peut être installée avec le logiciel porté www/apache13-modperl.

23.8.5.3. PHP

PHP, qui signifie ``PHP: Hypertext Preprocessor'' est un langage de script ``Open Source'' très utilisé qui est tout particulièrement adapté au développement Web et peut être intégré à du HTML. Sa syntaxe est dérivée du C, du Java™ et du Perl, et est facile à apprendre. L'objectif principal de ce langage est de permettre aux développeurs Web d'écrire rapidement des pages au contenu généré dynamiquement, mais vous pouvez faire bien plus avec PHP.

PHP peut être installé à partir du logiciel porté lang/php5.

Ce document, ainsi que d'autres peut être téléchargé sur ftp.FreeBSD.org/pub/FreeBSD/doc/.

Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:13