Nous allons installer un serveur Web: Apache. C'est juste celui que je connais le mieux. Nginx est une possible alternative très prisée et guère plus compliquée à mettre en oeuvre.
root@aijan:/etc/bind# apt install apache2
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
The following additional packages will be installed:
apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0
etc ...
Test de notre serveur:
C'est bon, voilà une image de la page d'acceuil :
Ne pas oublier d'ouvrir les ports du firewall: port 80 et 443 en TCP et UDP.
Lignes à rajouter à firewall.sh:
# HTTP + HTTPS Out
$IPT -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
$IPT -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
$IP6T -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
$IP6T -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
# HTTP + HTTPS In
$IPT -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
$IPT -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
$IP6T -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
$IP6T -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
root@aijan:#cd /home/ericadmin/bin/
root@aijan:/home/ericadmin/bin#./firewall.sh restart
root@aijan:/home/ericadmin/bin#service netfilter-persistent save
3 hôtes virtuels à créer:
Créez 2 fichiers d'hôtes virtuels. Exemple de fichier:
Virtualhost: www.yojik.net
<VirtualHost *:80>
ServerAdmin webmaster@yojik.net
ServerName www.yojik.net
DocumentRoot /var/www/html/yojiknet/
<Directory "/var/www/html/yojiknet/index.html">
Options Indexes MultiViews
AllowOverride FileInfo AuthConfig Indexes
Order allow,deny
allow from all
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
LogLevel warn
</VirtualHost>
Virtualhost: yazik.yojik.net
<VirtualHost *:80>
ServerAdmin webmaster@yojik.net
ServerName yazik.yojik.net
DocumentRoot /var/www/html/yaziknet/
<Directory "/var/www/html/yaziknet/index.html">
Options Indexes MultiViews
AllowOverride FileInfo AuthConfig Indexes
Order allow,deny
allow from all
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
LogLevel warn
</VirtualHost>
Validez-les avec:
a2ensite le_nom_du_fichier (a2ensite site1 site2 (pour moi))
On recharge apache2 pour la prise en compte de nos 2 sites.
service apache2 reload
Créez 2 répertoires sous /var/www/html:
mkdir /var/www/html/yojiknet /var/www/html/yaziknet
cd /var/www/html
On crée un fichier index.html sous chaque répertoire créé:
Exemple de fichier de base:
/var/www/html/yojiknet/index.html
<!DOCTYPE html>
<html>
<head>
<title>The Yojik.net home page</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<h1>The Yojik Net home page</h1>
<p>Nothing interesting at the moment .. comming soon!</p>
</body>
</html>
/var/www/html/yaziknet/index.html
<!DOCTYPE html>
<html>
<head>
<title>The Yazik.net home page</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<h1>The Yazik Net home page</h1>
<p>Nothing interesting at the moment .. comming soon!</p>
</body>
</html>
Dans le répertoire /var/www/html/ on lance la commande suivante pour ajuster les droits et propriétaires des fichiers (pour apache et Debian, c'est www-data.)
chown -Rv www-data.www-data *
On relance apache
service apache2 restart
On teste avec un navigateur.
adresse 1: www.yojik.net
adresse 2: yazik.yojik.net
Vous vous apercevrez que la deuxième ne fonctionne pas: il vous faut ajouter le domaine yazik.yojik.net à votre fichier de zone de bind et relancer bind ensuite:
yazik IN CNAME atom.yojik.net.
Re-testez: tout marche :)