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

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