Table des matières
Apache : configurer les hôtes virtuels
Nous prendrons pour exemple la création d'un hôte virtuel pour monsite.tld
Adaptez pour vos propres domaines.
En modifiant le fichier /etc/hosts, vous pourrez tester la configuration pour votre ordinateur personnel, mais le contenu ne sera accessible que localement : les autres visiteurs ne pourront pas accéder au site de l'extérieur via le nom de domaine.
Depuis la version 2.4, la syntaxe des fichiers vhosts a changé :
-
Le nom des fichiers doit se terminer par .conf
-
Les directives Allow sont remplacées par Require
Remplacer (ancienne syntaxe) | par | |
---|---|---|
autoriser toutes les requêtes | Order allow,deny Allow from all | Require all granted |
interdire toutes les requêtes | Order deny,allow Deny from all | Require all denied |
Pré-requis
-
avoir installé Apache
Première étape : Créez un répertoire pour votre hôte virtuel
-
Créez le répertoire et réglez ses permissions :
...@...:~ $ sudo mkdir -p /var/www/html/monsite.tld ...@...:~ $ sudo chown -R www-data:www-data /var/www/html ...@...:~ $ sudo chmod -R 755 /var/www/html
Autres étapes
-
Créez avec les droits d'administration le fichier d'hôte virtuel 1) :
- /etc/apache2/sites-available/monsite.tld.conf
<VirtualHost *:80> ServerName monsite.tld ServerAlias www.monsite.tld DocumentRoot /var/www/html/monsite.tld ServerAdmin admin@monsite.tld <Directory /var/www/html/monsite.tld/> Options Indexes FollowSymLinks MultiViews AllowOverride None Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
-
ServerAdmin : adresse électronique par laquelle l'administrateur du site peut recevoir des courriels
-
ServerName : domaine de base de l'hôte virtuel
-
ServerAlias : autres noms synonymes du nom de base
-
DocumentRoot : répertoire de l'hôte virtuel
Activez le nouveau fichier de l'hôte virtuel :...@...:~ $ sudo a2ensite monsite.tld.conf ...@...:~ $ sudo systemctl restart apache2
-
Vérifiez le succès du redémarrage :
...@...:~ $ sudo systemctl status apache2
Éditez avec les droits d'administration le fichier /etc/hosts pour ajouter une ligne comme ceci :- /etc/hosts
... IP_de_votre_serveur monsite.tld
Ainsi, tout appel à monsite.tld depuis le PC renvoie au serveur et permet de tester nos hôtes virtuels même sans posséder ce domaine. Rappel : cela ne fonctionne qu'en local, les appels extérieurs à ce nom de domaine échouent.
Conclusion
Maintenant que vos hôtes virtuels sont configurés, vous pouvez tester votre configuration en ouvrant dans votre navigateur web le domaine que vous avez configuré :http://monsite.tld
Vous devriez voir une page qui affiche :
Succès ! L'hôte virtuel exemple.com fonctionne !
Vous pouvez créer des hôtes virtuels supplémentaires en suivant les mêmes étapes.
Il n'y a pas de limite au nombre de noms de domaine qu'Apache peut gérer.
Problèmes connus
Voir aussi
1)vous pouvez vous inspirer du fichier /etc/apache2/sites-available/000-default.conf