01 septembre 2009 ~ 0 Commentaire

[Tuto]Le Name VirtualHosting avec Apache 2

Suite à la requête de mon ami Glabenwitt, j’ai décidé de finir ce tuto que j’avais commencé et mis de coté depuis déjà plusieurs mois. Et pourtant il n’est pas long, en fait c’est juste un baobab qui me pousse au milieu de la main. Tout est dans le titre en fait, aujourd’hui je vais vous expliquer comment créer des Name VirtualHost.

Name VitualHost, c’est quoi ?

Comme toujours avant de commencer, il faut définir le terme principale ! Le Name VirtualHosting, est l’un des trois types de VirtualHosting et de loin le plus utilisé. Il permet, comme son nom l’indique, d’héberger sur une même adresse IP plusieurs applications web en se servant de différents nom de domaines. Chaque application web disposera de son propre dossier.

Avant le VirtualHost, le Name !

Commençons donc, mais avec du concret ! Dans le tutoriel précédent sur la mise en place d’une SeedBox nous avons conclu sur la problématique d’un accès au fichiers téléchargés sans passer par TorrentFlux (pour des questions d’authentifications pouvant être gênantes). Pour résoudre ce problème, nous avons créer un lien symbolique entre le dossier contenant les téléchargement et un le dossier racine du serveur web. On avais donc accès à la fin à TorrentFlux et aux téléchargement en tapant dans le navigateur: http://[IPduServeur]/torrentflux ou http://[IPduServeur]/downloads.

C’est pas super jolie hein :S . Qu’à cela ne tienne ! En général, lorsqu’on a un serveur, on a un nom de domaine qui va avec. MonSite.fr par exemple ou un nom de domaine attribué par l’hébergeur (chez OVH, avec un serveur Kimsufi, on obtient un nom de domaine du type: « ksXXXXX.ovh.com »). Créons donc des sous domaines nous permettant d’accéder à nos application web. Pour cela, il faut faire la demande auprès de son registrar de nom de domaine et faire pointer les sous domaines créés vers l’IP du serveur web.

On obtient donc:

  • TF.MonSite.fr qui pointe vers mon serveur web à l’adresse 123.123.123.123
  • downloads.MonSite.fr qui pointe vers mon serveur web à l’adresse 123.123.123.123

Et Apache dans tout ça ?!

Pour le moment, tout nos sous domaine pointe vers la racine du serveur web. On arrive donc au même endroit en tapant les deux adresse. Le but c’est quand même d’arriver sur TF en tapant la première adresse et sur les fichiers téléchargés en tapant la deuxième ! C’est donc de ça que va s’occuper Apache2, notre serveur web.

Dans ce tuto, comme dans le tuto sur TorrentFlux, on utilise Apache2 que l’on a installer au préalable sur une bécane tournant sous Debian.

Connectons-nous en root sur notre serveur et commençons la configuration. Le principe est simple, nous allons créer un fichier de directives de VirtualHost par sous domaine que nous allons mettre dans le dossier des sites disponibles (site-available). Puis nous allons activer ces VirtualHost en créant un lien avec le dossier des sites actifs (site-enabled).

Créons notre fichier de directives pour le premier sous domaine (TF.MonSite.fr) et éditons le avec notre éditeur préféré (Vim ça a pas changé…):

touch /etc/apache2/site-available/tf.monsite.fr
 
vim /etc/apache2/site-available/tf.monsite.fr

Maintenant ajoutons nos directives:

NameVirtualHost *:80
<VirtualHost>
ServerName TF.MonSite.fr
DocumentRoot /var/www/torrentflux
</VirtualHost>

Expliquons les directives:

NameVirtualHost: Cette directive permet de spécifier au serveur web qu’il utilisera le Name VitualHosting. Dans notre cas, cette directive est suivis de « *:80″. Cela veut dire que le serveur écoutera sur toute ces interfaces (donc sur toutes les IP qu’il possède) sur le port 80. si je souhaite écouter seulement sur l’IP XX.XX.XX.XX, il aurait fallut spécifier: XX.XX.XX.XX:80. Le symbole « * » équivaut à l’ensemble: « Toutes les valeurs possible pour le champs ».

La balise <VirtualHost></VirtualHost>: Cette balise sert à délimiter les directives du VirtualHost

ServerName: Cette directive permet de spécifier le nom de domaine associé au VirtualHost (TF.MonSite.Fr)

DocumentRoot: Cette directive permet de spécifier vers quel dossier seront redirigés les requêtes reçues pour le nom de domaine « TF.MonSite.fr » (dossier TorrentFlux).

On enregistre et on quitte notre fichier.

Note site est maintenant disponible, il reste plus qu’à l’activer. Pour cela, on utilise la commande Apache:

a2ensite tf.monsite.fr

On recharge le serveur Apache afin que les modifications soient prisent en compte:

/etc/init.d/apache2 reload

Et voilà le tour est joué ! Votre interface TorrentFlux est désormais disponible à l’adresse: http://TF.MonSite.fr

Pour le deuxième sous domaine menant vers les fichiers téléchargés, la démarche est la même:

  1. On créé notre fichier de directives (en modifiant bien sûr en fonction du nom de domaine et en redirigeant vers notre dossier de fichiers téléchargés)
  2. On active le site avec la commande « a2ensite »
  3. On recharge le serveur Apache

Remarque: Il existe un tas de directives que je ne peux pas détailler ici sous réserve d’écrire un livre en 7 volumes… Allez voir du coté de la doc. officiel ;) .

N.B: Si un warning apparait durant le reload de votre Apache et que rien ne se passe directement après, vérifiez que le fichier /etc/apache2/ports.conf no contient pas de directive NameVirtualHost. Si c’est le cas, supprimer cette directive et rechargez le serveur web.

Thèmes : , ,


Version Imprimable de l'article


Télécharger au format PDF


Faire un rétrolien



S'aboner aux flux RSS du blog


Tags: , ,

Laisser un commentaire