Les hôtes virtuels (VirtuaHost)
Lorsque vous utilisez le serveur Web Apache, vous pouvez utiliser des hôtes virtuels (similaires aux blocs des serveurs dans Nginx) pour encapsuler les détails de configuration et héberger plusieurs domaines à partir d’un seul serveur. Nous allons mettre en place un domaine appelé votre_domaine, mais vous devez le remplacer par votre propre nom de domaine. Si vous configurez un nom de domaine avec DigitalOcean, veuillez vous référer à notre documentation réseau.
Apache sur Ubuntu 20.04 a un bloc de serveur activé par défaut qui est configuré pour servir des documents à partir du répertoire racine. Bien que cela fonctionne bien pour un seul site, cela peut devenir lourd si vous hébergez plusieurs sites.
Au lieu de modifier , nous allons créer la structure de répertoires dans un site votre_domaine, tout en laissant en place le répertoire par défaut ( /var/www/html/ ) qui sera servi si une demande du client ne correspond à aucun autre site. Ensuite, attribuer la propriaité du répertoire à la variable d’environnement :$USER
, par défaut $USER = www-data.
créez le répertoire pour votre_domaine comme suit :
sudo mkdir /var/www/votre_domaine sudo chown -R $USER:$USER /var/www/votre_domaine sudo chmod -R 755 /var/www/votre_domaine
Les autorisations de vos racines Web doivent être correctes si vous n’avez pas modifié votre valeur umask, qui définit les autorisations de fichier par défaut. Pour vous assurer que vos autorisations sont correctes et permettre au propriétaire (www-data) de lire et d’écrire et d’exécuter les fichiers tout en accordant uniquement les autorisations de lecture et d’exécution aux groupes et aux autres. Créez en suite un exemple de page dans le fichier d’index, à l’aide de votre éditeur préféré : /var/www/html/index.html.
sudo nano /var/www/index.html
<!-- le fichier index.html doit contenir ce qui suit: --> <html> <head> <title>Welcome to Your_domain!</title> </head> <body> <h1>Success! The your_domain virtual host is working!</h1> </body> </html>
Enregistrez et fermez le fichier.
Pour qu’apache serve ce contenu, il est nécessaire de créer un fichier hôte virtuel avec les directives correctes. Au lieu de modifier le fichier de configuration par défaut, créez en un nouveau comme suit :
sudo nano /etc/apache2/sites-available/votre_domaine.conf
Collez le bloc de configuration illustré ci-dessous et qui est similaire à la valeur par défaut, sauf qu’il est mis à jour pour répondre aux exigences imposées par apache pour bien servir le nouveau répertoire de domaine:
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName votre_domaine ServerAlias www.votre_domaine DocumentRoot /var/www/votre_domaine ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Remarquez que nous avons préciser des valeurs aux directives suivantes :
ServerAdmin : Généralement une valide adresse e-mail d’un Administrateur.
ServerName : le nom du serveur, en générale il s’agit du nom du votre_domaine, (exemple.com).
ServerAlias : le nom d’un sous domaine www.votre_domaine. (www.exemple.com)
DocumentRoot : le nom du dossier racine du site «/var/www/votre_domaine»
Enregistrez et fermez le fichier.
Activez le fichier de configuration avec la commande: a2ensite
et désactivez le fichier de configuration par défaut 000-default.conf
. Ensuite, testez les erreurs de configuration , vous devriez recevoir la sortie suivante : Syntax OK
sudo a2dissite 000-default.conf sudo a2dissite 000-default.conf sudo apache2ctl -t
Redémarrez Apache pour implémenter vos modifications
sudo systemctl restart apache2
Apache devrait maintenant servir votre nom de domaine. Vous pouvez tester cela en affichant la page d’index en tapant l’adresse URL, comme ceci :http://votre_domaine.
Merci de votez pour cet article :
Vous pouvez aussi tester la configuration d’apache2 comme suit:
sudo apache2ctl -t