Apache2 et VirtualHosts pour multi-site

Aujourd’hui nous allons voir comment installer et configurer proprement plusieurs VirtualHosts pour du multi-site sur un environnement dédié en utilisant Apache 2.

Connaître l’architecture du site

Pour une installation optimale “best-practice”, il est conseillé de créer vos sites dans le dossier /var/www, en nommant chaque site avec leur nom de domaine respectifs.

1. Architecture multi-site recommandée :

Pour les nouveaux sites édités sur frameworks comme Symfony ou Laravel, on retrouve bien souvent la structure suivante :

/var/www
--/monsite1.fr
----/dossiers-moteur-du-site
----/public_html
--/monsite2.fr
----/dossiers-moteur-du-site
----/public_html

Tout d’abord, chaque site comprend un ou plusieurs dossiers moteur. Ces dossiers sont utilisés pour le fonctionnement du site en lui-même : Controllers, Modèles, Vues (MVC), etc… Et ne sont pas / ne doivent pas être visibles en public.

Ensuite, on retrouve généralement un dossier public_html (ou équivalent) dans lequel on va plutôt retrouver cette fois-ci les assets Javascript, CSS ainsi que les images et médias. Ce dossier est publiquement visible puisque l’ont souhaite bien souvent faire des liens vers ces ressources :

Exemple : monsite1.fr/img/mon-image.png

Cependant tous les sites ne sont pas construits via des frameworks MVC, et il existe aussi d’autres sites “faits maison” plus ou moins anciens, et ayants leur propres structures.

2. Architecture multi-site simple

Ici, dans des sites simples plus classiques, on va bien souvent retrouver une structure plus minimaliste composée uniquement d’un dossier racine et de plusieurs dossiers / fichiers mis “en vrac” :

/var/www
--/monsite1.fr
----/dossiers-moteur-fichiers-et-assets-du-site
--/monsite2.fr
----/dossiers-moteur-fichiers-et-assets-du-site

D’un point de vue sécurité, ce n’est pas la solution que je recommande puisque tous vos fichiers sont accessibles en public. Il faudra jouer sur les .htaccess, VirtualHosts et robots.txt pour interdire l’accès à certains dossiers sensibles et éviter l’exploration / indexation de toutes vos ressources.

Néanmoins cette architecture a l’avantage d’être plus simple et plus rapide si vous devez migrer des sites ayants déjà cette structure, ou si votre site n’a pas de fonctionnalités à risques. Par exemple les sites ayant un contenu “vitrine” comme les one-page, ou sites possédant quelques pages statiques en HTML.

3. Architecture multi-site atypique et plus ancienne

Enfin un dernier cas de multi-site plus atypique qui possède un site web principal et en son sein, des sous-dossiers contenant l’ensemble des sites enfants :

/var/www
--/siteprincipal.com
----/dossiers-fichiers-et-assets-du-site
----/dossiers-moteur-du-site
----/monsite1.fr
------/dossiers-fichiers-et-assets-du-site
----/monsite2.fr
------/dossiers-fichiers-et-assets-du-site

Auteur : Pierre Viéville

Diplômé d'un D.U.T informatique en 2012, je me suis lancé en freelance durant décembre de cette même année. C'est avec succès que je vous propose aujourd'hui mes services et mon expérience afin de vous accompagner vous, entreprises, associations, indépendants, dans la promotion de votre activité sur le net.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.