Installation complète d'un serveur web sous Debian


précédentsommairesuivant

III. Configuration d'Apache 2

III-A. Introduction

Pour commencer, il faut installer un serveur web au sens premier. C'est lui qui va nous permettre d'interpréter nos pages HTML, PHP, etc. Apache 2 est le serveur http le plus utilisé sur les serveurs. Il dispose d'un bon niveau de sécurité et de beaucoup de documentations disponibles sur le net.

D'autre part, il permet de gérer des sites virtuels. Et c'est de cette manière que nous allons le configurer. En effet, le but étant de disposer de plusieurs sites sur notre serveur, il nous faut pouvoir les contacter directement avec une URL propre. Notre serveur ne dispose évidemment pas d'une adresse IP pour chaque site installé. Ce serait beaucoup trop complexe du point de vue physique à mettre en place. Et surtout, avec le système d'IPV4 utilisé actuellement, c'est impensable. Pour la petite histoire, le système IPV4 utilise 4 nombres de 0 à 255 sous la forme xxx.xxx.xxx.xxx. Cette série de nombres représente de manière unique chaque ordinateur connecté physiquement à Internet.

Certaines plages IP sont réservées pour des réseaux locaux (192.168.x.x ou 10.x.x.x par exemple). Mais ce souci va être prochainement résolu avec l'utilisation de l'IPV6 qui est en train de s'implémenter. Cette nouvelle notation permet de passer de 232 à 2128 IP différentes. Ce qui permettra d'en attribuer plusieurs à un même serveur, dans le futur.

Comme actuellement, c'est le protocole IPV4 qui est le plus utilisé, nous ne disposons en conséquence qu'une seule adresse IP pour 10 ou 100 sites à héberger sur notre serveur. Lorsqu'une requête HTTP est envoyée à notre serveur, le nom de domaine est transformé en adresse IP. La seule façon de différencier une demande venant de site1-cpnv.com ou de site2-cpnv.com, qui renvoient la même IP, passe par l'en-tête http, qui elle contiendra toujours le nom de domaine initialement demandé.

Lorsque la requête que nous désirons a atteint notre serveur http, celui-ci va regarder dans ses règles afin de trouver dans quel répertoire il doit se diriger. C'est là que la gestion des virtualhosts va intervenir. En conséquence, nous créerons une entrée pour chaque site hébergé sur notre serveur. Cette entrée contiendra le domaine prévu, et le répertoire de redirection.

III-B. 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 à vos sites par ip_du_server/~nom_user
  • Vous n'avez qu'une seule IP pour tous vos sites
  • Vous allez configurer BIND

Dans cette première partie, nous allons modifier un 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.

III-C. Configuration d'apache2.conf

On édite le fichier de configuration principal d'apache2 :

 
Sélectionnez

# nano /etc/apache2/apache2.conf
				

On vérifie les utilisateur et groupe d'apache (autour de la ligne 100 environ) :

 
Sélectionnez

User www-data
Group www-data
				

On modifie les fichiers que l'on désire par défaut (ligne 210 environ. A vous de choisir ce que vous désirez obtenir) :

 
Sélectionnez

DirectoryIndex index.html index.php index.xhtml
				

On décommente cette ligne pour autoriser les connexions des utilisateurs :

 
Sélectionnez

UserDir public_html
				

On vérifie la présence de ces lignes à la fin du fichier:

 
Sélectionnez

# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/[^.#]*
				

On sauve les modifications, et on ferme le fichier.

A ce niveau-là, un /etc/init.d/apache2 restart permet déjà d'accéder aux répertoires privés de chacun de ses utilisateurs (penser à rajouter un dossier public_html dans ceux-ci pour voir quelque chose !).

Pour accéder directement à la configuration de VSFTPD : iciParamétrage de VSFTPD

III-D. Installation des virtualhosts

On va maintenant créer nos hôtes virtuels. Par défaut, je les appellerai test1.com et test2.com. A vous de mettre les noms que vous désirez. Mais avant de s'attaquer aux utilisateurs, on commence par modifier le squelette de la création des nouveaux users. L'avantage ? Ne pas avoir besoin à chaque fois de devoir créer le répertoire public_html et logs quand on crée un nouvel utilisateur, mais aussi d'avoir directement une page d'accueil.

 
Sélectionnez

# mkdir /etc/skel/public_html
# mkdir /etc/skel/logs
# echo "&#160;<h1>Nouvel espace web crée</h1>&#160;" > /etc/skel/public_html/index.html

Une fois le squelette créé, on peut créer un nouvel utilisateur :

 
Sélectionnez

# useradd -g www-data -m test1

On copie le contenu ci-dessous :

# nano /etc/apache2/sites-available/test1.com
Sélectionnez

<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 rend le domaine créé disponible.

 
Sélectionnez

# ln -s /etc/apache2/sites-available/test1.com /etc/apache2/sites-enabled/test1.com

On redémare apache2 :

 
Sélectionnez

/etc/init.d/apache2 restart

Et on peut accéder à notre répertoire :

 
Sélectionnez

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 !


précédentsommairesuivant

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

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.