Configurer un sous-domaine Apache

Ça fait déjà plusieurs fois que je voulais ajouter un sous-domaine à mon site, mais je n’ai jamais trouvé d’explication ou de tutoriel simple pour le faire, et pourtant ce n’est pas si compliqué.

Ce tutoriel sert donc à la fois de mémo mais aussi d’aide pour ceux qui souhaitent configurer un sous-domaine sans se prendre la tête.

Pour ce tuto vous devrez avoir :

  • Un accès root en SSH à votre serveur ou VPS
  • Apache comme serveur web
  • Un accès à votre nom de domaine chez votre registrar
  • Connaître l’IP de votre serveur

Prenons un exemple : je souhaite que le sous domaine « site.angristan.fr » pointe sur « /var/www/lesite« 

> Configuration du domaine et des DNS

Mon nom de domaine est chez OVH, je vais donc sur l’interface de mon nom de domaine, dans la zone DNS, puis j’ajoute une entrée de type A.

Un CNAME marche aussi mais je préfère A puisque cela fait une requête DNS en moins. Si vous souhaitez faire pointer sur un domaine choisissez CNAME et si vous voulez faire pointer sur une IP choisissez A.

Configurer un sous-domaine Apache

Configurer un sous-domaine Apache

Il se peut que le sous-domaine ne soit pas actif de suite, vous devez attendre la propagation des DNS.

> Configuration d’Apache

Pour que Apache prenne en compte votre sous-domaine, il faut lui rajouter un VirtualHost.

Connectez-vous en SSH et tapez :

sudo nano /etc/apache2/sites-available/site.conf

Et rajoutez ces lignes  :

<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName  site.angristan.fr
        DocumentRoot /var/www/site

        ErrorLog ${APACHE_LOG_DIR}/site-error.log
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/site-access.log combined
</VirtualHost>

Ce sont les données de base d’un VirtalHost. Je vous laisse rajouter les lignes supplémentaires (ex: les logs) qui correspondent à votre configuration (vous pouvez vous inspirer de votre site principal).

Ensuite, activez votre site et redémarrez Apache:

sudo a2ensite site
sudo service apache2 restart

Pour désactiver le site si besoin :

sudo a2dissite site

Et normalement, votre sous-domaine devrait bien pointer là ou vous l’avez indiqué 🙂

Dernière modification le 27 octobre 2016.

Angristan

Stanislas - 17 ans - Lycéen passionné d'informatique, de technologie et de high-tech. Sysadmin junior, adepte des logiciels libres, de GNU/Linux et d'Android. Music addict.

Poster un Commentaire

6 Commentaires sur "Configurer un sous-domaine Apache"

avatar
Guimax
Visiteur
Guimax

Salut, merci pour ton tuto mais pour ma part sa n’as pas marcher du premier coup tu a oublié de rajouter ( et ) au début et à la fin.

ServerName dossier.angristan.fr
DocumentRoot « /var/www/angristan.fr/lesite/mondossier »

skc
Visiteur
skc

Bonjour,

Je donne juste la méthode officielle de configuration d’Apache sous Debian (et probablement Ubuntu), qui pourra éviter des surprises à ceux qui tombent sur cet article:

1- Créer un nouveau fichier dans tc/apache2/sites-available/de avec les lignes données (les balises virtualHost), le fichier default correspond au virtualhost par défaut.
2- Activer le nouveau virtualHost avec « a2ensite nomDuFichier ». De même on peut désactiver un virtualHost avec la commande a2dissite. Ces commandes gèrent des liens symboliques de /etc/apache2/sites-enabled/ vers /etc/apache2/sites-available/
3- Redémarrer Apache

Ensuite il peut être utile de créer de nouveaux fichiers de logs correspondant à ces virtualHost, avec les directives CustomLog et ErrorLog. On peut définir plusieurs noms pour l’accès grâce à ServerAlias. Toutes ces directives se placent entre les balises VirtualHost.

Simon
Visiteur

Il est préférable de créer un fichier par virtualhost (exemple : /etc/apache2/sites-available/monsite.com.conf) avec un « # a2ensite monsite.com.conf && service apache2 reload » sous Debian ou bien « ln -s /etc/apache2/sites-available/monsite.com.conf /etc/apache2/sites-enabled/monsite.com.conf && service apache2 reload) sur un autre système.

wpDiscuz