Installation d'un serveur web

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 :

Le serveur apache

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

Sauvegarde de notre nouvelle configuration

root@aijan:#cd /home/ericadmin/bin/
root@aijan:/home/ericadmin/bin#./firewall.sh  restart
root@aijan:/home/ericadmin/bin#service netfilter-persistent save

Création des hôtes virtuels (virtual hosts)

3 hôtes virtuels à créer:

  • yojik.net
  • www.yojik.net
  • yazik.yojik.net

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éation des fichiers html

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 :)