- Des noms de domaine différents (ou des sous-domaines différents)
- Des fichiers différents
Les étapes suivantes permettent de configurer un serveur Ubuntu afin d'y parvenir.
Les étapes suivantes permettent de configurer un serveur Ubuntu afin d'y parvenir.
Avant de commencer, il faut au préalable s'assurer que les noms de domaine (ou sous-domaines) pointent vers l'adresse IP du serveur.
Note : les étapes suivantes doivent être exécutées avec l'usager root.
La configuration des dossiers
Au départ, le serveur Apache est déjà configuré pour y desservir un site Web. Il ne s'agit donc que d'y déposer les fichiers dans le dossier /var/www/html. Cependant, ce dernier appartient à "www-data" et votre usager SSH pourrait ne pas avoir les permissions adéquates pour modifier le contenu du dossier. Voici donc comment rendre votre usager SSH propriétaire du dossier.
La configuration du serveur Apache
Il est maintenant temps de configurer Apache pour lui permettre de desservir le deuxième site Web. Il faut commencer par dupliquer la configuration du premier site Web.
La configuration des dossiers
Au départ, le serveur Apache est déjà configuré pour y desservir un site Web. Il ne s'agit donc que d'y déposer les fichiers dans le dossier /var/www/html. Cependant, ce dernier appartient à "www-data" et votre usager SSH pourrait ne pas avoir les permissions adéquates pour modifier le contenu du dossier. Voici donc comment rendre votre usager SSH propriétaire du dossier.
# Remplacez "votre-usager-ssh" par le nom de votre usager SSH chown -R votre-usager-ssh /var/www/htmlPar la suite, il faut préparer un dossier pour recevoir les fichiers du deuxième site Web.
mkdir /var/www/site2 # Encore ici, remplacez "votre-usager-ssh" par le nom de votre usager SSH chown -R votre-usager-ssh /var/www/site2 chgrp -R www-data /var/www/site2
La configuration du serveur Apache
Il est maintenant temps de configurer Apache pour lui permettre de desservir le deuxième site Web. Il faut commencer par dupliquer la configuration du premier site Web.
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/001-site2.conf
Ensuite, il faut modifier la configuration du nouveau fichier (001-site2.conf).
Merci à Alexandre G. (H2017) pour la suggestion de créer cet article.
nano /etc/apache2/sites-available/001-site2.confEn utilisant un éditeur de texte (ex: nano, vi) il s'agit de modifier 3 choses:
# Sous <VirtualHost *:80>, ajoutez la ligne suivante. ServerName site2.com # Remplacez site2.com par le domaine/sous-domaine du deuxième site Web. # Modifier le documentRoot, ce qui indique à Apache où seront placés les fichiers. DocumentRoot /var/www/site2 # Modifier /var/www/html pour /var/www/site2 sur la ligne <Directory ... <Directory "/var/www/html">
Lorsque le fichier est configuré, il ne reste qu'à activer le nouveau site Web et sa configuration. Dans le terminal, écrire:
a2ensite 001-site2.conf systemctl restart apache2.service # ou, sur les serveurs Ubuntu plus agés... a2ensite 001-site2.conf service apache2 restartVoilà! Vous devriez maintenant être capable avec vos deux domaines/sous-domaines de desservir des fichiers différents, donc d'avoir deux sites Web distincts. Le premier site desservira les fichiers à partir du dossier var/www/html, et le deuxième, /var/www/site2.
Merci à Alexandre G. (H2017) pour la suggestion de créer cet article.
Bonjour !
Tout d'abord, merci pour ce supper tuto !
J'ai juste une petite question...
Comment faire si l'on a plusieurs bases de données ? Admettons j'ai 3 sites et 2 ont besoin de BDD différentes.
Comment puis-je gerer ça?
D'avance merci
Robodesign
Apres de nombreuses recherches , je ne savais pas comment lier un nom de domaine a un dossier en particulier dans mon WWW
Un grand merci , je ne savais pas vraiment comment faire jusqu' a ce que je tombe sur ton site , c est nickel , clair , bien expliqué et fonctionne parfaitement.
Big UP !!!
Super tuto , m'a permis d'aider un ami pour heberger son site web :)
Continuez comme ça :)
Bonjour,
Votre article m'intéresse beaucoup.
J'ai une question concernant les noms de domaine.
Pour 2 sites distincts, dois-je créer deux alias pointant vers la même adresse ip ?
Je voudrais faire tourner 2 sites Joomla.
Est-ce possible ce système avec Joomla ?
Comment le serveur Apache peut faire la différence avec 2 alias différents ?
Mais peut-être que je suis à côté de la plaque ?
Merci pour les réponses
@Carmelo
Tu pourrais avoir site1.com et site2.com qui pointent vers la même adresse IP (celle de ton serveur). Même avec Joomla, aucun problème.
L'important, sur ton serveur, est de bien définir "ServerName", tel que spécifié plus haut.