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:

[email protected]:~$ sudo apt update && sudo apt upgrade -y

Installation d’apache

[email protected]:~$ 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.

[email protected]:~$ sudo mkdir -p /var/www/site1.com/public_html
[email protected]:~$ sudo mkdir -p /var/www/site2.com/public_html

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

[email protected]:~$ sudo chown -R $USER:$USER /var/www/site1.com/public_html
[email protected]:~$ 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

[email protected]:~$ sudo chmod -R 755 /var/www

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

[email protected]:~$ 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:

[email protected]:~$ 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

[email protected]:~$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/site1.com.conf

[email protected]:~$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/site2.com.conf

On va configurer ses files:

[email protected]:~$ 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

[email protected]:~$ 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

[email protected]:~$ sudo service apache2 restart

Vérification de firewall

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

[email protected]:~$ sudo ufw app list

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

[email protected]:~$ 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