Gérer plusieurs sites sous Apache

I.Présentation :

Apache uniquement d'un site lorsque vous l'installez, un site accessible sur le port 80 (HTTP) dont la racine est le répertoire /var/www/. Cependant, est fort heureusement, il est possible de gérer plusieurs sites sous Apache sinon imaginez s'il faudrait un serveur par site... Cela est possible grâce aux hôtes virtuels, appelées VirtualHost dans Apache. Ce tutoriel vous apprend à créer et configurer un hôte virtuel supplémentaire jusqu'à sa mise en ligne.

II. Emplacement des fichiers de configuration d’Apache

L’ensemble des fichiers de configuration d’Apache se trouve dans le répertoire suivant :

/etc/apache2/

III. Indiquer le nom du serveur web Apache – ServerName

Par défaut, le fichier httpd.conf d’Apache est vierge et lorsque vous redémarrez votre serveur Apache il vous indique l’erreur suivante :

apache1

Ce qui signifie qu’il ne connait le nom FQDN c'est-à-dire le nom pleinement qualifié utilisé par le serveur. Pour corriger cela il faut modifier le fichier httpd.conf et indiquer une valeur à l’option ServerName :

ServerName serveur.nom.domaine
ServerName srvweb.neoflow.fr (par exemple)

Ensuite redémarrez votre serveur avec la commande suivante et vous verrez que vous n’avez plus l’erreur :

/etc/init.d/apache2 restart

ou

/etc/init.d/apache2 reload

apache2

IV. Les VirtualHosts

Les VirtualHosts ou serveurs virtuels permettent de faire fonctionner plusieurs sites web sur un seul et unique serveur Apache.

V. Déclarer l’adresse et le port d’écoute d’un VirtualHost

Pour déclarer un VirtualHost supplémentaire c'est-à-dire ajouter un second site sur un serveur Apache, il faut éditer le fichier :

/etc/apache2/ports.conf

Ensuite, ajoutez les deux lignes suivantes en adaptant à votre configuration :

NameVirtualHost *:800
Listen 800

Par exemple dans le cas ci-dessus, on accédera à cet hôte virtuel quand on accédera au serveur sur le port 800.

VI. Paramétrer le VirtualHost

Le fichier de configuration de chaque VirtualHost se situe dans le répertoire « sites-available » qui se situe dans :

/etc/apache2/sites-available

Créez un nouveau fichier dans ce répertoire pour que l’on paramètre notre nouveau site (qui correspond à un VirtualHost). Dans cet exemple, nous avons appelé le fichier du site "admin" et le répertoire de ce site sera "/var/admin", un site auquel on accède sur le port 800. Le contenu à ajouter au fichier est le suivant :

DocumentRoot /var/admin

Toutes les options concernant ce site doivent être renseignées dans le VirtualHost (entre la balise d'ouverture et de fermeture). Ensuite, pour ajouter la gestion des journaux pour ce site, ajouter ces lignes à l'intérieur du VirtualHost :

# Pour les journaux :
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined

En ce qui concerne les différentes options d'Apache, vous pouvez reprendre les options du site par défaut et les compléter si besoin (à ajouter également dans le VirtualHost) :

Options FollowSymLinks
AllowOverride None
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<directory "="" usr="" lib="" cgi-bin"="">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
  • DocumentRoot /var/admin : Indiquez le chemin vers le répertoire du site (par exemple pour le site par défaut le répertoire est /var/www).
  • Allow from all : Indique que tout le monde peut accéder au répertoire (donc au site).
  • AllowOverride : Donner la priorité ou non au fichier .htaccess si il y en a un.
  • FollowSymLinks : Indique au serveur qu'il doit suivre les liens symboliques.
  • +ExecCGI : L'exécution des scripts utilisant le module mod_cgi est permise.

VII. Activer le site

Maintenant que la partie création et configuration du site est terminée, il ne reste plus qu'à l'activer pour pouvoir y accéder. Pour cela on utilise la commande "a2ensite" suivie du nom du site à activer, donc dans notre cas "admin".

a2ensite admin

VIII. Recharger la configuration d'Apache

Pour que les modifications soient prise en compte rechargez la configuration d'Apache avec la commande :

service apache2 reload

Les deux sites sont maintenant en lignes, le site par défaut est accessible sur le port 80 et le second que nous venons d'ajouter est accessible sur le port 800 de notre serveur :

apache3

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian BURNEL

Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.

Nombre de posts de cet auteur : 5556.Voir tous les posts

One thought on “Gérer plusieurs sites sous Apache

  • Bonjour,

    Grand merci pour vos partages, mais moi je suis a la recherche de tuto permettant de faire la redirection de port par exemple:

    j’ai une application qui tourne sur le port 9000 donc je suis obligé d’écrire MON_ADRESSE_IP:9000, ce que je cherche c’est de cacher ce port 9000 et le rediriger au port 80 et par exemple j’écris MON_ADRESSE_IP/admin pour me connecter.

    (MON_ADRESSE_IP:9000 ==> MON_ADRESSE_IP/admin)

    Merci

    Répondre

Répondre à rakoto Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.