Multisite sur un VPS
|
Pour hébergez plusieurs sites sur un VPS, on utilise les fichiers d’hôte virtuel d’Apache pour indiquer quel domaine doit être servi.
Les hôtes virtuels basés sur le nom sont l’une des méthodes utilisées pour résoudre les demandes de site. Cela signifie que lorsque quelqu’un consultera le site la demande se rendra au serveur qui à son tour déterminera les fichiers du site à afficher en fonction du nom de domaine.
En utilisant cette méthode, on peut héberger plusieurs sites sur un serveur avec la même IP.
1. Créez un répertoire pour chaque site
On va créer un répertoire pour chaque site qu’on veut héberger dans le dossier /var/www
.
Ce chemin sera utiliser plus tard dans le fichier de configuration.mkdir -p /var/www/
NomDeDomaine1
/public_htmlmkdir -p /var/www/
NomDeDomaine
2
/public_html
2. On change les autorisations de dossierchmod -R 755 /var/www/html/(NomDossier)
sudo chown -R www-data:www-data /var/www/html/(NomDossier)
3. Page d’index de test
Pour etre sur que le site fonctionne, on va créer un fichier html pour chaque site:sudo nano /var/www/
1/public_html/index.htmlNomDeDomaine
Test
1NomDeDomaine
On enregistre avec “Ctrl” + “x” , “y” , “Entrer”.
sudo nano /var/www/
NomDeDomaine
2
/public_html/index.htmlTest
NomDeDomaine
2
On enregistre avec “Ctrl” + “x” , “y” , “Entrer”.
4. Copie du fichier de configuration VirtualHost pour chaque site
On fais la copie du fichier de configuration par défaut “000-default.conf
” pour chaque site, ceci garantira qu’on aura toujours une copie par défaut pour la création future de chaque site.sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/
1.confNomDeDomaine
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/
NomDeDomaine
2
.conf
5. Modification du fichier de configuration pour chaque site
On va éditer le contenu du premier fichier VitualHost avec la commande suivante:sudo nano /etc/apache2/sites-available/NomDeDomaine1.conf
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName NomDeDomaine1 DocumentRoot /var/www/html/NomDeDomaine1/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www/html/NomDeDomaine1/> AllowOverride All </Directory> </VirtualHost>
On répète la même procédure pour le deuxième fichier VitualHost.sudo nano /etc/apache2/sites-available/NomDeDomaine2.conf
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName NomDeDomaine2 DocumentRoot /var/www/html/NomDeDomaine2/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www/html/NomDeDomaine2> AllowOverride All </Directory> </VirtualHost>
6. Configurer le fichier des hôtes locaux
Facultatif? peut être pas. Sur certain VPS, lorsque que deuxième site est installé, une des deux adresse affichera le mauvais site. La modification suivante interceptera toutes les demandes des domaines que vous avez configurés et les dirigera vers le bon domaine comme le ferait le système DNS. Avec la commande suivante, on va éditer le fichier “hosts“:sudo nano /etc/hosts
On doit ajouter l’adresse IP publique du VPS suivie du domaine avec lequel on souhaite accéder au VPS:127.0.0.1 localhost
127.0.1.1 guest-desktop
IP_VPS domain1.com
IP_VPS domain2.com
Voici un exemple d’un VPS OVH: 127.0.0.1 localhost
The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
127.0.1.1 vps-xxxxxxxx.vps.ovh.net vps-xxxxxxxx
13x.xxx.xxx.xxx NomDeDomaine1
13x.xxx.xxx.xxx NomDeDomaine2
On enregistre avec “Ctrl” + “x” , “y” , “Entrer”.
mes sources: https://httpd.apache.org/docs/2.4/vhosts/
https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-18-04-de