L'hébergement virtuel est utilisé pour héberger plusieurs sites Web sur un seul serveur Web. Le serveur Web peut être n'importe quoi du serveur Web HTTP Apache , Microsoft IIS , Lighttpd , openLiteSpeed , etc. Ce guide vous montrera comment configurer les hôtes virtuels Apache sur Debian 9 / Ubuntu 16.04 /LinuxMint 18 .
Types d'hébergement virtuel
Il existe deux types d'hébergement virtuel dans le serveur Web Apache,
1. Hébergement virtuel basé sur le nom
2. Hébergement virtuel basé sur IP
Avec l'hébergement virtuel basé sur le nom, nous pouvons configurer plusieurs sites Web sur une seule adresse IP, alors qu'en mode IP ; nous ne pouvons configurer qu'un seul site Web sur une seule adresse IP.
Hypothèses
Pour une démonstration, nous hébergerons deux sites Web nommés "www.itzgeek1.local et "www.itzgeek2.local " sur un seul serveur Web.
Nom d'hôte du serveur :server.itzgeek.local
Adresse IP :192.168.12.3
Installer le serveur Web Apache
Avant d'installer Apache, mettez à jour l'index du référentiel.
sudo apt-get update
Installez le serveur Web Apache à l'aide de la commande suivante.
sudo apt-get install apache2
Une fois installé, le système démarrera automatiquement le service Apache.
Pour tester votre installation, ouvrez un navigateur Web et pointez sur l'URL.
http://localhostOU
http://votre.adresse.ip.ress
Vous obtiendrez la page par défaut quelque chose comme ci-dessous. L'image ci-dessous vous montre la page par défaut d'Apache2 sur Debian 9.
Configurer les hôtes virtuels Apache
Créer des répertoires publics
Maintenant, nous allons créer un répertoire pour contenir nos documents Web, c'est-à-dire les fichiers .html. Utilisez la commande suivante pour créer un répertoire pour chaque site Web, "www.itzgeek1.local ” et “www.itzgeek2.local ".
sudo mkdir -p /var/www/html/www.itzgeek1.localsudo mkdir -p /var/www/html/www.itzgeek2.local
Créer une page de démonstration pour les hôtes virtuels
Maintenant, nous allons mettre un fichier index.html dans les deux répertoires pour vérifier si l'hébergement virtuel basé sur le nom fonctionne ou non.
Créez un fichier index.html pour "www.itzgeek1.local ” hôte virtuel.
sudo nano /var/www/html/www.itzgeek1.local/index.html
Placez le contenu ci-dessous dans le fichier.
www.itzgeek1.local Bienvenue sur le site Web www.itzgeek1.local
Créez un index.html pour "www.itzgeek2.local ” hôte virtuel.
sudo nano /var/www/html/www.itzgeek2.local/index.htmlPlacez le contenu ci-dessous dans le fichier.
www.itzgeek2.local Bienvenue sur le site wwww.itzgeek2.local
Configuration de la propriété et des autorisations du répertoire
Par défaut, le service apache s'exécute en tant qu'utilisateur www-data. Maintenant, les deux répertoires virtuels que nous avons créés précédemment appartiennent à root, et nous devons changer la propriété en www-data afin que ce serveur apache puisse y écrire et y lire des données.
sudo chown -R www-data:www-data /var/www/htmlEn outre, vous pouvez rendre les répertoires virtuels lisibles par le monde entier.
sudo chmod 755 /var/www/html/Nous sommes maintenant prêts à créer un fichier de configuration pour les hôtes virtuels.
Créer des fichiers d'hôte virtuel
Maintenant, créez un fichier d'hôte virtuel "www.itzgeek1.local.conf pour l'hôte virtuel « www.itzgeek1.local. Le fichier de configuration de l'hôte virtuel doit se terminer par une extension .conf.
sudo nano /etc/apache2/sites-available/www.itzgeek1.local.confAjoutez le contenu suivant au fichier.
ServerAdmin [email protected] www.itzgeek1.localDocumentRoot /var/www/html/www.itzgeek1.localErrorLog ${APACHE_LOG_DIR}/www.itzgeek1.local_error.logCustomLog ${APACHE_LOG_DIR}/www .itzgeek1.local_ccess.log combiné De la même manière, créez un deuxième fichier d'hôte virtuel.
sudo nano /etc/apache2/sites-available/www.itzgeek2.local.confPlacez le contenu suivant dans le fichier.
ServerAdmin [email protected] www.itzgeek2.localDocumentRoot /var/www/html/www.itzgeek2.localErrorLog ${APACHE_LOG_DIR}/www.itzgeek2.local_error.logCustomLog ${APACHE_LOG_DIR}/www .itzgeek2.local_ccess.log combiné Après avoir créé les fichiers de l'hôte virtuel, activez les nouveaux hôtes virtuels que nous venons de créer en créant un lien symbolique vers le sites-enabled répertoire.
sudo ln -s /etc/apache2/sites-available/www.itzgeek1.local.conf /etc/apache2/sites-enabled/sudo ln -s /etc/apache2/sites-available/www.itzgeek2.local .conf /etc/apache2/sites-enabled/Redémarrez le service apache.
redémarrage du service sudo apache2Vérification des hôtes virtuels
Si vous n'avez pas de serveur DNS dans votre environnement, modifiez "/etc/hosts ” fichier.
sudo nano /etc/hostsAjoutez les entrées ci-dessous.
192.168.12.3 www.itzgeek1.local192.168.12.3 www.itzgeek2.localSi vous utilisez des machines Windows, modifiez "hosts " dans "C:\Windows\System32\drivers\etc ” répertoire.
Ouvrez votre navigateur et pointez vers l'URL http://www.itzgeek1.local ou http://www.itzgeek2.local . Vous devriez voir les pages de démonstration que nous avons créées précédemment.
Page de démonstration www.itzgeek1.local :
Page de démonstration www.itzgeek2.local :
C'est tout.