peLmeL.org
Accueil du site > peLmeL Blog > Coté serveur > Mise en place du Virtual Hosting de Masse, ou comment se simplifier la vie (...)

Mise en place du Virtual Hosting de Masse, ou comment se simplifier la vie lors de la création d’un projet.

lundi 22 juin 2009, par Brice Favre


Désolé de ce titre un peu long, mais Virtual Hosting de Masse ne parle pas à tout le monde. En quelques mots nous allons voir dans ce post comment utiliser une technique bien connu des hébergeurs pour déployer facilement un nouveau projet.

Objectifs et problématique

Comme tout geek qui se respecte, vous avez certainement plusieurs projets web en route et aimeriez facilement les mettre en oeuvre sur votre serveur pour les tester. La première solution consiste à mettre un répertoire par projet sur votre espace web. Une autre solution, plus évoluée, consiste créer un hôte virtuel pour chaque projet ce qui permet de tester votre site en conditions d’hébergement avec son adresse locale. Pour vous simplifier encore la vie, il est possible d’automatiser la création d’hôtes virtuel en utilisant un système de virtual hosting de masse configurable sous Apache.

Virtual Hosting de Masse quézaco ?

Le principe est simple et utilisé chez quasiment tous les hébergeurs mutualisés. En gros, apache va faire le lien entre le nom de domaine et un répertoire situé sur votre serveur qui devra porter le même nom (pour faire simple).

Pour commencer, créez un répertoire dans votre répertoire utilisateur qui accueillera vos site.

Exemples :

  1. $ mkdir Sites

Ensuite il faut bien prendre en compte que le nom de vos répertoires à l’intérieur de celui-ci devront prendre l’adresse de votre site. En pratique si vous voulez créer un drupal.local ou un zf.app vous devrez créer les répertoires suivants :

  1. $ mkdir Sites/drupal.local
  2. $ mkdir Sites/zf.app

Autre subtilité, le nom du répertoire public (celui accessible par le réseau) doit être identique à tous vos sites, donc vous devrez placer vos scripts PHP dans le même. Par défaut j’ai choisi public. Dans le cas d’un projet Zend Framework créé par Zend_Tool vous n’aurez rien à faire, pour le site Drupal il faudra créer ce répertoire :

  1. $ mkdir Sites/drupal.local/public

Vos répertoires étant maintenant en place vous pouvez éditer la configuration et utiliser la directive VirtualDocumentRoot d’apache permettant de mettre en place votre virtual hosting. Editez votre fichier httpd.conf et ajoutez y la directive suivante :

  1. VirtualDocumentRoot /home/brice/Sites/%0/public

En rédémarrant apache, la liaisons nom de domaine -> répertoire serveur est faite. Il suffit pour le vérifier en association l’adresse ip de votre VM avec un nom de domaine (ex drupal.local). Pour le moment, pour des raisons de sécurité, vos sites ne sont pas accessibles. La dernière opération consiste donc à les rendre tous accessibles. Pour cela il convient de définir les paramètres de votre répertoire d’accueil dans un bloc Directory comme ceci :

  1. <Directory "/home/brice/Sites">
  2.     Options Indexes FollowSymLinks
  3.     AllowOverride All
  4.     Order allow,deny
  5.     Allow from all
  6. </Directory>

On autorise ainsi l’accès et la possibilité de mettre en place des fichiers .htaccess de toutes sortes.

Voilà votre VM est en place et la création d’un nouvel accès ne vous demandera qu’une ou deux ligne de commandes. Merci Apache !

Tour d'horloge

Répondre à cet article

4 Messages de forum


Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | SPIP | squelette