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_html
mkdir -p /var/www/NomDeDomaine
2/public_html

2. On change les autorisations de dossier
chmod -R 755 /var/www

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/NomDeDomaine1/public_html/index.html
Test NomDeDomaine1
On enregistre avec “Ctrl” + “x” , “y” , “Entrer”.

sudo nano /var/www/NomDeDomaine2/public_html/index.html
Test NomDeDomaine2
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/NomDeDomaine1.conf
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/NomDeDomaine2.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

Laisser un commentaire