Developpez.com - Linux
X

Choisissez d'abord la catégorieensuite la rubrique :


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:

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
    1. nano /etc/apache2/apache2.conf
    2. On vérifie les utilisateurs et groupe d'apache (autour de la ligne 100 environ)
    3. User www-data
      Group www-data
    4. On modifie les fichiers qu'on désirent par défaut (ligne 210 environ. A vous de choisir ce que vous désirez obtenir):
    5. DirectoryIndex index.html index.php index.xhtml
    6. On décommente cette ligne pour autoriser les connexion des utilisateurs
    7. UserDir public_html
    8. On vérifie la présence de ces lignes a la fin du fichier:
    9. NameVirtualHost *
      # Include the virtual host configurations:
      Include /etc/apache2/sites-enabled/[^.#]*
    10. 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 ;)



    Valid XHTML 1.1!Valid CSS!

    Copyright © 2007 Onet. Aucune reproduction, même partielle, ne peut être faite de ce site et 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.

    Contacter le responsable de la rubrique Linux