Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
tutoriel:reseau:http:serveur:apache:vhost:start [2024/09/21 10:12] – supprimée - modification externe (Unknown date) 127.0.0.1 | tutoriel:reseau:http:serveur:apache:vhost:start [2024/09/21 10:12] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. admin | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ====== Configuration des hôtes virtuels Apache sous Ubuntu (20.04) ====== | ||
+ | |||
+ | La configuration du serveur Apache se fait par une approche modulaire qui permet d' | ||
+ | |||
+ | Les hôtes virtuels permettent à une même instance d' | ||
+ | |||
+ | Ce guide explique comment configurer des hôtes virtuels Apache sur un serveur Ubuntu 20.04. Vous apprendrez comment servir des contenus différents à des visiteurs différents selon les domaines demandés en créant deux hôtes virtuels. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | Nous supposons que : | ||
+ | * **nous possédons les domaines exemple.org et test.org** (noms de domaine pour l' | ||
+ | * **mais pas exemple.loc ni test.loc** (noms de domaine pour l' | ||
+ | |||
+ | Nous allons créer un hôte virtuel pour example.com et un autre pour test.com. Il y sera fait référence tout au long du guide, mais vous devrez y substituer vos propres domaines ou valeurs tout en suivant le guide. | ||
+ | |||
+ | Nous allons créer un hôte virtuel avec le nom de domaine monsite.loc, | ||
+ | ===== Pré-requis ===== | ||
+ | |||
+ | * Un serveur Ubuntu 20.04 doté d'un utilisateur non root avec les privilèges sudo. Vous pouvez utiliser notre guide **[[tutoriel: | ||
+ | * **Apache ou un environnement LAMP** (Linux/ | ||
+ | ===== Première étape : Création de la structure des répertoires ===== | ||
+ | |||
+ | Chacun des répertoires (nommés ici exemple.org et test.org) contiendra les fichiers du site web. | ||
+ | |||
+ | < | ||
+ | - **créez les répertoires des sites web et attribuez les permissions** : La racine (root) de chaque site (le répertoire qu’Apache consulte pour trouver le contenu à servir) sera placée dans des sous-répertoires du répertoire / | ||
+ | USER@MACHINE: | ||
+ | USER@MACHINE: | ||
+ | / | ||
+ | | | ||
+ | +--exemple.org | ||
+ | +--test.org | ||
+ | </ | ||
+ | Les dossiers des sites se nomment **exemple.org** et **test.org** (noms de domaine pour l' | ||
+ | |||
+ | Pour faciliter le nommage du dossier projet et des fichiers de configuration, | ||
+ | |||
+ | Cette pratique de nommage n'est pas une obligation, mais reste toutefois une bonne pratique. | ||
+ | </ | ||
+ | - | ||
+ | </ | ||
+ | |||
+ | ==== En modifiant le fichier /etc/hosts ==== | ||
+ | |||
+ | |||
+ | **Éditez avec les droits d' | ||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | Chaque ligne définit l' | ||
+ | # site web local exemple | ||
+ | 127.0.0.1 exemple.loc | ||
+ | |||
+ | # Autres sites web locaux | ||
+ | 127.0.0.1 mon-projet-personnel.loc | ||
+ | 127.0.0.1 un-autre-site-web-local.loc | ||
+ | 127.0.0.1 test.loc | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ==== Avec un serveur DNS ==== | ||
+ | |||
+ | ===== Autres étapes ===== | ||
+ | |||
+ | < | ||
+ | - **Créez des pages HTML pour chaque hôte virtuel** informant les visiteurs du site auquel ils sont connectés : | ||
+ | - **exemple.org** : <cli prompt=' | ||
+ | - **test.org** : <cli prompt=' | ||
+ | - **Rétablissez les droits** :<cli prompt=' | ||
+ | - **Créez les fichiers d' | ||
+ | - **exemple.org** : | ||
+ | - **Copiez la configuration par défaut** :<cli prompt=' | ||
+ | Notez que le nom de domaine de production **exemple.org** est repris aussi bien pour le répertoire du site que pour le nom du fichier de configuration et que l' | ||
+ | </ | ||
+ | - **Éditez avec les droits d' | ||
+ | * **ServerAdmin** : admin@exemple.org (adresse électronique de l’administrateur du site) | ||
+ | * **ServerName** : exemple.org (domaine de base pour cet hôte virtuel) | ||
+ | * **ServerAlias** : www.exemple.org (autres noms qui doivent correspondre comme s’ils étaient le nom de base ; utile pour faire correspondre les hôtes que vous avez définis, comme www) | ||
+ | * **DocumentRoot** : / | ||
+ | < | ||
+ | # e-mail de l' | ||
+ | ServerAdmin admin@exemple.org | ||
+ | | ||
+ | # Associer le nom de domaine au dossier du projet | ||
+ | ServerName exemple.loc | ||
+ | ServerAlias www.exemple.loc | ||
+ | DocumentRoot / | ||
+ | | ||
+ | # fichiers journaux | ||
+ | ErrorLog ${APACHE_LOG_DIR}/ | ||
+ | CustomLog ${APACHE_LOG_DIR}/ | ||
+ | |||
+ | < | ||
+ | AllowOverride All | ||
+ | Require all granted | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | - **test.org** : | ||
+ | - **copiez l' | ||
+ | - **Éditez avec les droits d' | ||
+ | < | ||
+ | # e-mail de l' | ||
+ | ServerAdmin admin@test.org | ||
+ | | ||
+ | # Associer le nom de domaine au dossier du projet | ||
+ | ServerName test.loc | ||
+ | ServerAlias www.test.loc | ||
+ | DocumentRoot / | ||
+ | | ||
+ | # fichiers journaux | ||
+ | ErrorLog ${APACHE_LOG_DIR}/ | ||
+ | CustomLog ${APACHE_LOG_DIR}/ | ||
+ | |||
+ | < | ||
+ | AllowOverride All | ||
+ | Require all granted | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | - **Activez les nouveaux hôtes virtuels** :<cli prompt=' | ||
+ | USER@MACHINE: | ||
+ | Enabling site exemple.org. | ||
+ | To activate the new configuration, | ||
+ | systemctl reload apache2 | ||
+ | USER@MACHINE: | ||
+ | Enabling site test.org. | ||
+ | To activate the new configuration, | ||
+ | systemctl reload apache2</ | ||
+ | si vous avez besoin de les désactiver, | ||
+ | USER@MACHINE: | ||
+ | USER@MACHINE: | ||
+ | </ | ||
+ | </ | ||
+ | - **Vérifiez qu'il n'y a pas d' | ||
+ | . . . | ||
+ | Syntax OK</ | ||
+ | - **Redémarrez Apache et vérifiez le succès du redémarrage** :<cli prompt=' | ||
+ | USER@MACHINE: | ||
+ | - **(Facultatif) Modification du fichier local / | ||
+ | - Éditez le fichier **/ | ||
+ | ... | ||
+ | 127.0.0.1 exemple.org | ||
+ | 127.0.0.1 test.org | ||
+ | </ | ||
+ | - **Testez vos résultats** : | ||
+ | - **Ouvrez [[http:// | ||
+ | - **Ouvrez [[http:// | ||
+ | - Il ne reste plus qu'à installer les sites dans leurs emplacements. | ||
+ | </ | ||
+ | |||
+ | <WRAP center round tip 60%> | ||
+ | Si vous avez modifié le fichier hosts de votre ordinateur local, vous pouvez supprimer les lignes ajoutées une fois vérifiée la configuration. | ||
+ | |||
+ | Vous éviterez ainsi de surcharger votre fichier hosts avec des entrées devenues inutiles. | ||
+ | </ | ||
+ | |||
+ | ===== Conclusion ===== | ||
+ | |||
+ | Désormais, un seul serveur gère deux noms de domaine distincts. | ||
+ | |||
+ | Pour étendre ce processus, il suffit de suivre les mêmes étapes pour ajouter d' | ||
+ | |||
+ | Il n'y a pas de limite au nombre de noms de domaine gérables par Apache, alors n' | ||
+ | |||
+ | ===== Problèmes connus ===== | ||
+ | |||
+ | ===== Voir aussi ===== | ||
+ | |||
+ | * **(en)** [[https:// | ||
+ | * **(fr)** [[https:// | ||
+ | |||
+ | ---- | ||
+ | //Basé sur << [[https:// |