Le serveur HTTP Apache, anciennement connu sous le nom de serveur Web Apache, est un logiciel gratuit et open source développé et maintenu par Apache Software Foundation. C'est un serveur Web puissant et l'un des plus populaires au monde.
Dans ce didacticiel, nous vous guiderons dans la configuration des hôtes virtuels Apache sur Ubuntu 18.10. Généralement, Virtual Host est utilisé pour héberger un certain nombre de sites Web sur le même serveur Web. Si vous souhaitez configurer le serveur HTTP Apache, consultez notre guide étape par étape sur la configuration du serveur Web HTTP Apache sur Ubuntu.
Configuration des hôtes virtuels Apache sur Ubuntu
Il existe deux types d'hôtes virtuels que nous pouvons configurer sur Apache.
- Serveur Apache unique, une adresse IP et plusieurs sites Web => hôtes virtuels basés sur le nom
- Serveur Apache unique et IP unique pour chaque site Web => Hébergement virtuel basé sur IP
Hôte virtuel basé sur IP, nous ne pouvons configurer qu'un seul site Web sur une seule adresse IP. Si vous devez héberger plusieurs sites Web, vous devez disposer de plusieurs adresses IP pour ce serveur Web. L'hôte virtuel basé sur le nom est couramment utilisé pour héberger plusieurs sites Web sur un seul serveur.
Dans ce didacticiel, nous allons discuter de la création d'hôtes virtuels basés sur le nom.
Configuration des hôtes virtuels Apache basés sur le nom
La racine du document est un répertoire pour stocker les fichiers du site Web d'un nom de domaine à servir en réponse aux demandes.
1. Définition de la structure du répertoire
Dans notre guide, nous utiliserons la structure de répertoires suivante, mais vous pouvez choisir de la modifier à l'emplacement de votre choix.
/var/www/
├── fosslinuxexample1.com
│ └── public_html
├── fosslinuxexample2.com
│ └── public_html
Puisque nous allons héberger deux sites Web, nous devrons créer deux répertoires sous /var/www répertoire.
Lancez le terminal et commençons à créer un répertoire pour fosslinuxexample1.com
sudo mkdir -p /var/www/html/fosslinuxexample1.com/public_html
Créez un répertoire pour fosslinuxexample2.com
sudo mkdir -p /var/www/html/fosslinuxexample2.com/public_html
Changer la propriété du répertoire en utilisateur apache (www-data)
sudo chown -R www-data: /var/www/html/fosslinuxexample1.com/public_html sudo chown -R www-data: /var/www/html/fosslinuxexample2.com/public_html
2. Définition des autorisations de dossier
sudo chmod -R 755 /var/www/html/fosslinuxexample1.com/public_html sudo chmod -R 755 /var/www/html/fosslinuxexample2.com/public_html
3. Création de pages Web
Maintenant, créons des pages Web pour chaque hôte. Dans mon exemple, je vais créer une page Web pour fosslinuxexample1.com
sudo vim /var/www/html/fosslinuxexample1.com/public_html/index.html
Ajouter le contenu suivant à l'index.html dossier. Il s'agit essentiellement d'un contenu HTML.
<html> <head> <title>fosslinuxexample1.com Test Page</title> </head> <body> <h1>Hello, This is a test page for fosslinuxexample1.com website</h1> </body> </html>
Il est temps d'enregistrer et de fermer le fichier.
De même, nous allons créer une page Web pour le fosslinuxexample2.com.
sudo vim /var/www/html/fosslinuxexample2.com/public_html/index.html
Ajoutez le contenu suivant au fichier.
<html> <head> <title>fosslinuxexample2.com Test Page</title> </head> <body> <h1>Hello, This is a test page for fosslinuxexample2.com website</h1> </body> </html>
Enregistrez et fermez le fichier.
4. Création d'hôtes virtuels
Généralement, les fichiers de configuration des hôtes virtuels Apache sont stockés dans /etc/apache2/sites-available répertoire et /etc/apache2/sites-enabled annuaire. Commencez par créer un hôte virtuel pour fosslinuxexample1.com.
sudo vim /etc/apache2/sites-available/fosslinuxexample1.com.conf
Ajoutez le contenu ci-dessous au fichier.
<VirtualHost *:80> ServerName fosslinuxexample1.com ServerAlias www.fosslinuxexample1.com ServerAdmin [email protected] DocumentRoot /var/www/html/fosslinuxexample1.com/public_html <Directory /var/www/html/fosslinuxexample1.com/public_html> Options -Indexes +FollowSymLinks AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/fosslinuxexample1.com-error.log CustomLog ${APACHE_LOG_DIR}/fosslinuxexample1.com-access.log combined </VirtualHost>
Enregistrez et quittez le fichier. Dans les lignes similaires, créez un hôte virtuel pour fosslinuxexample2.com
sudo vim /etc/apache2/sites-available/fosslinuxexample2.com.conf
Ajoutez le contenu ci-dessous au deuxième site Web.
<VirtualHost *:80> ServerName fosslinuxexample2.com ServerAlias www.fosslinuxexample2.com ServerAdmin [email protected] DocumentRoot /var/www/html/fosslinuxexample2.com/public_html <Directory /var/www/html/fosslinuxexample2.com/public_html> Options -Indexes +FollowSymLinks AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/fosslinuxexample2.com-error.log CustomLog ${APACHE_LOG_DIR}/fosslinuxexample2.com-access.log combined </VirtualHost>
Enregistrez et quittez le fichier.
5. Activation des fichiers de configuration de l'hôte virtuel
Il existe différentes façons d'activer les hôtes virtuels. Le moyen le plus simple est d'activer l'hôte virtuel en utilisant le a2ensite commande. Vous pouvez également l'activer en créant des liens symboliques vers le répertoire /etc/apache2/sites-enabled.
Nous devons maintenant désactiver 000-default.conf et activer les fichiers d'hôtes virtuels nouvellement créés
Utilisez cette ligne de commande pour désactiver l'hôte virtuel par défaut.
sudo a2dissite 000-default.conf
Les commandes suivantes activeront de nouveaux hôtes virtuels.
sudo a2ensite fosslinuxexample1.com.conf sudo a2ensite fosslinuxexample2.com.conf
Activer l'hôte virtuel créant des liens symboliques.
Si vous avez activé l'hôte virtuel à l'aide de a2ensite commande inutile d'exécuter les commandes ci-dessous :
sudo ln -s /etc/apache2/sites-available/fosslinuxexample1.com.conf /etc/apache2/sites-enabled/ sudo ln -s /etc/apache2/sites-available/fosslinuxexample2.com.conf /etc/apache2/sites-enabled/
Vérifiez la syntaxe des fichiers de configuration.
sudo apachectl configtest
Redémarrez Apache pour activer la nouvelle configuration.
sudo systemctl restart apache2
6. Test des hôtes virtuels
Avant de tester les pages Web, nous devons modifier /etc/hosts fichier pour configurer l'IP du serveur.
sudo vim /etc/hosts
Ajoutez la ligne suivante au fichier hosts. N'oubliez pas de remplacer 10.94.12.217 dans les lignes de commande ci-dessous par l'adresse IP de votre serveur. Lorsque vous avez terminé, enregistrez et fermez le fichier.
10.94.12.217 fosslinuxexample1.com 10.94.12.217 fosslinuxexample2.com
Enfin, lancez votre navigateur Web préféré et commencez à parcourir les sites !
fosslinuxexample1.com
fosslinuxexample2.com
Si vous pouvez voir les pages Web que vous avez créées, félicitations, vous avez créé avec succès les hôtes virtuels. Vous avez des questions ? Comment cela a-t-il fonctionné pour vous ?