Installation de deux sites web sur UBUNTU en utilisant APACHE

Pour l’installation je vais utiliser Ubuntu 18.04 installé sur  VMWare Workstation, carte réseau je vais configurer en mode bridge pour avoir accès à partir de MobaXterm. Pour vérifier l’accès aux sites web je vais utiliser Raspberry Pi qui est dans le même réseau.  Pour installer quelques sites sur un serveur on va configurer les virtual hosts sur Apache.

Premièrement il faut  faire une mise à jour de votre système:

olex@ubuntu:~$ sudo apt update && sudo apt upgrade -y

Installation d’apache

olex@ubuntu:~$ sudo apt-get install apache2

Pour installer quelques sites web sur le même serveur il faut créer quelques dossiers. Je vais créer 2: site 1 et site 2.

olex@ubuntu:~$ sudo mkdir -p /var/www/site1.com/public_html 

olex@ubuntu:~$ sudo mkdir -p /var/www/site2.com/public_html

Il faut changer droit d’accès pour curent user

olex@ubuntu:~$ sudo chown -R $USER:$USER /var/www/site1.com/public_html 
olex@ubuntu:~$ sudo chown -R $USER:$USER /var/www/site2.com/public_html

Pour faire les sites accessibles aux utilisateurs dans le navigateur, vous devez autoriser la lecture des fichiers dans ces répertoires

olex@ubuntu:~$ sudo chmod -R 755 /var/www

On va créer deux  index.html pour faire la vérification et bien identifier chaque site.

olex@ubuntu:~$ sudo vim /var/www/site1.com/public_html/index.html

Et ajouter le texte suivant:

 <html>
   <body>
       This is our site1.com website
   </body>
</html>

Pour site2.com il faut faire même chose:

olex@ubuntu:~$ sudo vim /var/www/site2.com/public_html/index.html

Et ajouter le texte suivant:

<html>
   <body>
       This is our site2.com website
   </body>
</html>

Création de nouveaux virtual hosts files.

Après l’installation, Apache crée le configuration file par défaut dans le dossier /etc/apache2/sites-available/000-default.conf

On va copier se file pour chaque site avec extension .conf

olex@ubuntu:~$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/site1.com.conf

olex@ubuntu:~$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/site2.com.conf

On va configurer ses files:

olex@ubuntu:~$ sudo vim /etc/apache2/sites-available/site1.com.conf

Il faut ajouter/corriger l’information suivante:

    ServerAdmin [email protected]
    ServerName site1.com
    ServerAlias www.site1.com
    DocumentRoot /var/www/site1.com/public_html

Pour site2.com il faut faire même chose

olex@ubuntu:~$ sudo vim /etc/apache2/sites-available/site2.com.conf

Il faut ajouter/corriger l’information suivante:

    ServerAdmin [email protected]
    ServerName site2.com
    ServerAlias www.site2.com
    DocumentRoot /var/www/site2.com/public_html

Nous avons créé des fichiers de configuration pour les hôtes virtuels. Maintenant, vous devez les activer:

sudo a2ensite site1.com.conf
sudo a2ensite site2.com.conf

Restart Apache

olex@ubuntu:~$ sudo service apache2 restart

Vérification de firewall

Vous devez vérifier que votre pare-feu autorise le trafic HTTP et HTTPS:

olex@ubuntu:~$ sudo ufw app list

Vérification du profil Apache Full, il devrait autoriser le trafic pour les ports 80 et 443 :

olex@ubuntu:~$ sudo ufw app info “Apache Full”

Vérification d’apache

Pour vérifier Apache  il faut taper adresse IP dans votre browser

Si vous voyez cette page, votre serveur Web est correctement installé et accessible via un pare-feu.

Vérification  d’accès de site1.com et site2.com

Parce que ses sites sont créés pour le test et on n’a pas enregistré les domain names, pour vérification on va configurer hosts file d’ordinateur local. Si vous utiliser Windows:

C:\windows\system32\drivers\etc\hosts

Pour Linux il faut corriger:

/etc/hosts

Il faut ajouter:

xxx.xxx.xxx.xxx site1.com
xxx.xxx.xxx.xxx site2.com

(xxx.xxx.xxx.xxx adresse IP votre serveur web)

Dans mon cas cela:

192.168.0.49 site1.com
192.168.0.49 site2.com

Si vous utilisez un serveur DNS comme  Pi-Hole, vous pouvez faire des modifications dans Local DNS Records pour accéder aux sites à partir de tous les ordinateurs du réseau local.

Et les résultats:

et