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