Comment configurer les hôtes virtuels Apache sur Ubuntu

Comment configurer des hôtes virtuels Apache sur Ubuntu

Comment configurer les hôtes virtuels Apache sur Ubuntu

Le serveur HTTP Apache est une plate-forme open source largement utilisée qui offre des performances robustes, une flexibilité et un support étendu aux développeurs. Contrairement à d'autres systèmes, la configuration d'Apache n'est pas contenue dans un seul fichier. Au lieu de cela, il utilise une structure modulaire, vous permettant d'ajouter ou de modifier des fichiers de configuration selon vos besoins. Dans ce cadre modulaire, vous pouvez configurer des sites ou des domaines distincts, appelés hôtes virtuels.

Les hôtes virtuels permettent à un seul Apache serveur pour gérer plusieurs sites Web simultanément. Chaque domaine ou site configuré via Apache pointe vers un répertoire spécifique contenant son contenu correspondant. Le plus intéressant est que les utilisateurs visitant ces sites ne se rendront même pas compte qu'ils sont tous hébergés sur le même serveur. Cette méthode est facilement évolutive, sans limitations logicielles inhérentes, tant que le serveur peut gérer le trafic.

Ce didacticiel vous apprend à configurer des hôtes virtuels Apache sur un Serveur UbuntuEn suivant ce guide, vous pouvez proposer un contenu distinct à différents visiteurs en fonction des domaines qu'ils demandent, en configurant deux sites d'hébergement virtuel distincts.

Étape 1 — Configurer la structure du répertoire

La première tâche consiste à établir la structure du répertoire qui hébergera le contenu de vos sites Web.

La racine du document d'Apache (le répertoire principal auquel il fait référence pour rechercher et diffuser du contenu) pointera vers des dossiers spécifiques sous le `/var/www` répertoire. Vous créerez ici un dossier distinct pour chacun de vos hôtes virtuels.

Dans chacun de ces répertoires, vous ajouterez un `public_html` dossier. C'est ici que vous placerez le contenu réel que les visiteurs verront. Les répertoires parents, tels que `votre_domaine_1` et `votre_domaine_2`, stockera les scripts et les fichiers d'application nécessaires pour prendre en charge les fonctionnalités du site Web.

Pour créer vos répertoires, utilisez les commandes suivantes, en remplaçant les espaces réservés par vos noms de domaine réels :

sudo mkdir -p /var/www/your_domain_1/public_html

sudo mkdir -p /var/www/your_domain_2/public_html

Par exemple, si votre domaine est `exemple.com`, la structure du répertoire serait : `/var/www/exemple.com/public_html`.

Étape 2 — Définition des autorisations

Maintenant que vous avez créé les répertoires nécessaires, ils appartiennent actuellement à l'utilisateur root. Pour permettre à votre utilisateur habituel de gérer les fichiers dans ces répertoires Web, vous devez modifier la propriété. Utilisez les commandes suivantes pour ce faire :

sudo chown -R $USER:$USER /var/www/your_domain_1/public_html

sudo chown -R $USER:$USER /var/www/your_domain_2/public_html

`$USER` La variable représentera automatiquement le nom d'utilisateur du compte auquel vous êtes actuellement connecté. Cela garantit que votre utilisateur habituel possède désormais le `public_html` sous-répertoires où le contenu de votre site Web sera stocké.

Voir aussi   Qu'est-ce que PC Over IP ? Explication de la technologie PCoIP

Ensuite, vous devrez ajuster les autorisations pour vous assurer que le serveur Web peut lire correctement les répertoires et leur contenu. Exécutez la commande suivante :

sudo chmod -R 755 /var/www

Cela définit les autorisations de lecture et d'exécution appropriées, permettant à votre serveur Web de diffuser le contenu tout en vous donnant la possibilité de gérer vos fichiers dans les répertoires requis. Une fois cette opération effectuée, vous êtes prêt à passer à la création de contenu pour vos sites d'hébergement virtuel.

Étape 3 — Création de pages par défaut pour chaque hôte virtuel

Une fois la structure du répertoire configurée, il est temps de se concentrer sur la création du contenu de chacun de vos sites d'hébergement virtuel. Commencez par ajouter un `index.html` fichier pour votre premier site, `votre_domaine_1`.

Pour créer ce fichier, ouvrez-le avec votre éditeur de texte préféré. Dans cet exemple, nous utiliserons nano :

nano /var/www/your_domain_1/public_html/index.html

À l'intérieur de ce fichier, ajoutez une structure HTML simple qui affichera un message de bienvenue aux visiteurs, indiquant le site qu'ils ont atteint :

<html>

<head>

<title>Welcome to your_domain_1!</title>

</head>

<body>

<h1>Success! The your_domain_1 virtual host is working!</h1>

</body>

</html>

Pour enregistrer et quitter nano, appuyez sur `CTRL+X`, puis validez en appuyant sur `Y` pour enregistrer le fichier. Enfin, appuyez sur `ENTRER` pour quitter.

Maintenant, pour créer une page similaire pour votre deuxième site, copiez simplement le fichier du premier site vers le deuxième :

cp/var/www/your_domain_1/public_html/index.html/var/www/your_domain_2/public_html/index.html

Ensuite, ouvrez le nouveau fichier et mettez à jour le contenu de `votre_domaine_2`:

nano /var/www/your_domain_2/public_html/index.html

Modifiez le code HTML selon vos besoins pour refléter le deuxième site :

Bienvenue sur votre_domaine_2 !

Succès ! L'hôte virtuel votre_domaine_1 fonctionne !

Enregistrez et fermez le fichier. Vous disposez désormais d'une page d'index unique pour chaque site, prête à tester votre configuration d'hôte virtuel.

Étape 4 — Configuration des fichiers d’hôte virtuel

Les fichiers d'hôtes virtuels sont essentiels pour configurer la manière dont Apache gère les requêtes pour vos différents domaines. Ces fichiers contrôlent les spécificités de vos hôtes virtuels et indiquent au serveur Web comment répondre aux différentes requêtes de domaine.

Par défaut, Apache inclut un fichier de configuration d'hôte virtuel nommé « 000-default.conf ». Vous pouvez facilement dupliquer ce fichier pour créer des fichiers de configuration individuels pour chacun de vos domaines.

Commencez par copier le fichier de configuration par défaut pour créer un nouveau fichier pour votre premier domaine :

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/your_domain_1.conf

Gardez à l’esprit que sur Ubuntu, les fichiers d’hôte virtuel doivent se terminer par `.conf`.

Ensuite, ouvrez le fichier nouvellement copié dans votre éditeur de texte préféré avec les privilèges root :

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

Le fichier ressemblera initialement à ceci, sans les commentaires :

apache

<VirtualHost *:80>

ServerAdmin webmaster@localhost

DocumentRoot /var/www/html

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Maintenant, personnalisons cette configuration pour votre premier domaine en effectuant quelques modifications et en ajoutant quelques directives utiles. Cette configuration gérera les requêtes effectuées sur le port 80 (le port HTTP par défaut).

Voir aussi   Comment trouver un fichier sous Linux

Commencez par mettre à jour le `ServerAdmin` directive à l'adresse email où l'administrateur du site doit recevoir les emails :

apache

ServerAdmin admin@votre_domaine_1

Ensuite, ajoutez deux directives importantes : `Nom du serveur` et `ServerAlias`L’ `Nom du serveur` la directive définit le nom de domaine de base pour l'hôte virtuel, tandis que `ServerAlias` vous permet d'inclure des noms supplémentaires qui pointeront vers le même serveur. Par exemple, `exemple.com` pourrait avoir `www.exemple.com` en tant qu'alias, ce qui permet aux deux noms de domaine de se résoudre sur le même serveur.

Insérez ces directives juste après la ligne « ServerAdmin » :

apache

Nom du serveur votre_domaine_1

Alias ​​du serveur www.votre_domaine_1

Ensuite, mettez à jour la directive « DocumentRoot » pour refléter le répertoire réel dans lequel vous stockez le contenu de ce site :

apache

DocumentRoot /var/www/your_domain_1/public_html

Voici à quoi ressemblera le fichier hôte virtuel mis à jour :

apache

<VirtualHost *:80>

ServerAdmin admin@your_domain_1

ServerName your_domain_1

ServerAlias www.your_domain_1

DocumentRoot /var/www/your_domain_1/public_html

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Une fois ces modifications effectuées, enregistrez et fermez le fichier.

Pour votre deuxième domaine, commencez par copier la configuration du premier hôte virtuel :

sudo cp /etc/apache2/sites-available/your_domain_1.conf /etc/apache2/sites-available/your_domain_2.conf

Ensuite, ouvrez le nouveau fichier dans votre éditeur de texte :

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

Modifiez maintenant toutes les références à « votre_domaine_1 » pour refléter le deuxième domaine. Une fois que vous avez terminé, votre configuration devrait ressembler à ceci :

apache

<VirtualHost *:80>

ServerAdmin admin@your_domain_2

ServerName your_domain_2

ServerAlias www.your_domain_2

DocumentRoot /var/www/your_domain_2/public_html

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Enregistrez et fermez ce fichier une fois les modifications terminées.

Étape 5 — Activation de vos fichiers d’hôte virtuel

Une fois les fichiers de configuration de votre hôte virtuel en place, l'étape suivante consiste à les activer. Apache fournit un outil pratique à cet effet.

Vous utiliserez le `a2ensite` pour activer chacun de vos domaines. Pour plus de détails sur le fonctionnement de ce script, vous pouvez vous référer à sa documentation officielle. Exécutez les commandes suivantes pour activer vos sites d'hébergement virtuel :

sudo a2ensite your_domain_1.conf

sudo a2ensite your_domain_2.conf

Vous devriez voir une sortie comme celle-ci pour chaque domaine, vous rappelant de recharger Apache pour appliquer les modifications :

Activation du site votre_domaine_1.

Pour activer la nouvelle configuration, vous devez exécuter:

systemctl reload apache2

Avant de recharger le serveur, vous devez désactiver le site par défaut défini dans `000-default.conf` à l'aide de la commande `a2dissite` :

sudo a2dissite 000-default.conf

La sortie confirmera l'action :

Site 000-désactivé par défaut.

Pour activer la nouvelle configuration, vous devez exécuter:

systemctl reload apache2

Ensuite, vérifiez les éventuelles erreurs de configuration en exécutant :

sudo apache2ctl configtest

Si tout est configuré correctement, vous devriez voir :

Syntax OK

Maintenant, redémarrez Apache pour appliquer les modifications :

sudo systemctl restart apache2

Pour vérifier qu'Apache fonctionne correctement avec les nouveaux paramètres, vous pouvez vérifier l'état du serveur :

sudo systemctl status apache2

À ce stade, votre serveur doit être prêt à servir deux sites Web différents. Si vous utilisez des noms de domaine réels, vous pouvez passer à l'étape 7. Toutefois, si vous effectuez des tests en local, suivez l'étape 6 pour savoir comment tester votre configuration sur votre machine locale.

Voir aussi   Installer OpenSSL sur le serveur Windows 2016 Un guide étape par étape

Étape 6 — (Facultatif) Modification du fichier d'hôtes locaux pour les tests

Si vous n'utilisez pas de noms de domaine enregistrés réels pour les tests et que vous vous êtes basé sur des exemples de domaines, vous pouvez toujours simuler le comportement de vos sites d'hébergement virtuel en modifiant le fichier hôte sur votre ordinateur local. Ce réglage dirigera toutes les demandes pour les domaines configurés vers votre serveur privé virtuel (VPS), tout comme le ferait le système DNS avec des domaines réels. Gardez à l'esprit que ce changement n'affectera que votre machine locale et est uniquement destiné à des fins de test.

Assurez-vous de modifier le fichier hôte sur votre ordinateur local, et non sur votre VPS. Vous aurez besoin de privilèges administratifs pour continuer.

Pour les utilisateurs Mac ou Linux, ouvrez le terminal et utilisez la commande suivante pour modifier le fichier hôte :

sudo nano /etc/hosts

Les utilisateurs de Windows doivent ouvrir l’invite de commande et taper :

notepad %windir%\system32\drivers\etc\hosts

Dans le fichier host, ajoutez l'adresse IP publique de votre serveur suivie des noms de domaine que vous souhaitez utiliser pour les tests. En utilisant les exemples de domaines de ce guide et en remplaçant « your_server_IP » par l'adresse IP réelle de votre serveur, le fichier devrait ressembler à ceci :

127.0.0.1   localhost

127.0.1.1   guest-desktop

your_server_IP your_domain_1

your_server_IP your_domain_2

Cela garantira que toutes les demandes adressées à « votre_domaine_1 » ou « votre_domaine_2 » depuis votre machine locale seront redirigées vers votre VPS.

Une fois que vous avez ajouté les entrées nécessaires, enregistrez et fermez le fichier.

Étape 7 — Vérification de votre configuration

Vos hôtes virtuels étant désormais configurés, il est temps de tester votre configuration. Ouvrez votre navigateur Web et accédez aux domaines que vous avez configurés :

http://your_domain_1

Vous devriez voir la page que vous avez créée pour votre premier site, confirmant que tout fonctionne correctement.

Ensuite, vérifiez votre deuxième domaine en visitant :

http://your_domain_2

Cela devrait charger la page que vous avez configurée pour votre deuxième hôte virtuel.

Si les deux domaines s'affichent comme prévu, félicitations ! Vous avez configuré avec succès deux hôtes virtuels sur un seul serveur.

Remarque : si vous modifiez le fichier hôte de votre ordinateur local à l'étape 6 à des fins de test, vous souhaiterez peut-être supprimer ces entrées maintenant que votre configuration est confirmée. Cela permettra de conserver le fichier hôte propre et exempt de configurations inutiles.

Conclusion

Votre serveur est désormais capable de gérer deux noms de domaine distincts. Vous pouvez facilement étendre cette configuration en suivant le même processus pour ajouter d'autres hôtes virtuels. Étant donné qu'Apache n'impose aucune limite au nombre de domaines qu'il peut gérer, vous pouvez continuer à en ajouter autant que votre serveur peut en gérer.

5/5 - (1 voix)

Postez votre commentaire

Ce site utilise Akismet pour réduire les spams. Découvrez comment vos données de commentaire sont traitées.

Accélérez avec Wilivm VPS

Haute performance. Contrôle total. Évolutivité à la demande.

Wilivm fournit des VPS et des serveurs dédiés dans des centres de données de premier plan dans le monde entier, offrant une infrastructure fiable et performante pour les utilisateurs professionnels.

Contactez-Nous

Payez avec toutes les crypto-monnaies, Paypal, carte de crédit