Configurer les virtualhost d'apache2
Par
Olivier Lange ()
Configurer les virtualhost d'apache2 pour permettre a plusieurs URL de pointer sur le meme serveur, et donc de disposer de plusieurs sites disponibles.
I. Pré-requis
II. Configuration d'apache2.conf
III. Installation des virtualhost
I. Pré-requis
Une fois que le serveur est installé de base, nous allons créer et configurer nos espaces d'hébergements. Tout d'abord, ce tutorial part des principes suivants:
- Vous désirez pouvoir accéder a vos sites par ip_du_server/~nom_user
- Vous n'avez qu'une seule IP pour tout vos sites
- Vous allez configurer BIND (voir tuto un peu plus loin)
Dans cette première partie, nous allons modifier 1 fichier: /etc/apache2/apache2.conf, et créer des fichiers dans les répertoires /etc/apache2/sites-available et /etc/apache2/sites-enabled. Mais allons-y par étapes.
II. Configuration d'apache2.conf
ON édite le fichier de configuration principal d'apache2
nano /etc/apache2/apache2.conf |
- On vérifie les utilisateurs et groupe d'apache (autour de la ligne 100 environ)
User www-data
Group www-data |
- On modifie les fichiers qu'on désirent par défaut (ligne 210 environ. A vous de choisir ce que vous désirez obtenir):
DirectoryIndex index.html index.php index.xhtml |
- On décommente cette ligne pour autoriser les connexion des utilisateurs
- On vérifie la présence de ces lignes a la fin du fichier:
NameVirtualHost *
# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/[^.#]* |
- On sauve les modifs, et on ferme le fichier.
A ce niveau-là, un /etc/init.d/apache2 restart permet déjà d'accéder a ses répertoires privés de chacun de ses users (penser à rajouter un dossier public_html dans ceux-ci pour voir qqch!)
III. Installation des virtualhost
On va maintenant créer nos hôtes virtuels. Par défaut, je les appellerai test1.com et test2.com. A vous de mettre vos noms que vous désirez. Mais avant de s'attaquer aux users, on commence par modifier le squelette de la création des nouveaux users. L'avantage? Ne pas avoir besoin a chaques fois de devoir créer le répertoire public_html et logs quand on crée un nouvel user, mais aussi d'avoir directement une page d'accueil.
# mkdir /etc/skel/public_html
# mkdir /etc/skel/logs
# echo « <h1>Nouvel espace web créer</h1> » >> /etc/skel/public_html/index.html |
Une fois le squelette créer, on peut créer un nouvel user
# useradd -g www-data -m test1 |
# nano /etc/apache2/sites-available/test1.com |
On copie le contenu ci-dessous (Description complète sous peu, pour compléter ce fichier):
<VirtualHost *>
ServerAdmin postmaster@test1.com
ServerName www.test1.com
ServerAlias test1.com *.test1.com
DocumentRoot /home/test1/public_html/
<Directory /home/test1/public_html/>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
</Directory>
ErrorLog /home/test1/logs/error.log
LogLevel warn
CustomLog /home/test1/logs/access.log combined
ServerSignature Off
</VirtualHost> |
On valide et on ferme le fichier.
On rends le domaine créer disponible
# ln -s /etc/apache2/sites-available/test1 /etc/apache2/sites-enabled/test1.com |
On redémare apache2
/etc/init.d/apache2 restart |
Et on peut accéder a notre répertoire
http://xxx.xxx.xxx.xxx/~test1 |
Et on devrait voir une page web! Il ne reste plus qu'à informer les visiteurs de la présence de ce site sur ce serveur. Et cela, c'est Bind qui s'en charge! Rendez-vous sur le éprochain tutoriel ;)
Copyright © 2007 Onet.
Aucune reproduction, même partielle, ne peut être faite
de ce site ni de l'ensemble de son contenu : textes, documents, images, etc.
sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à
trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.