2. Configuration d'un serveur web virtuel ========================================== Pour pouvoir sécuriser un serveur web, il vous faut tout d'abord un serveur web avec un site à sécuriser... Pour cela, vérifiez que vous avez bien un serveur web installé puis créer un serveur web virtuel. 2.1. Installation/démarrage du service web apache2 ------------------------------------------ Installez `apache2` si celui-ci n’est pas disponible puis démarrez le. Pour rappel : dpkg --list 'apache2' # savoir si un paquet est installé. Débute par 'i' si installé et 'u' sinon systemctl status apache2 # savoir si le service est actif sudo apt-get update # mettre à jour la liste des paquets connus par le système sudo apt-get install apache2 # installer le paquet apache2 2.2 Configuration du proxy de votre navigateur client ------------------------------------------ Dans le menu paramétrage/préférence de vos navigateurs web, spécifiez qu'aucun proxy ne doit pas être utilisé pour les noms de domaine (wiki.VOTRENOM.org, wiki.NOMDELAUTRE.org) et IP que vous avez définis. Testez dans votre navigateur les noms de domaine dans le champ url. Cela marche-t-il comme vous voulez ? Si besoin consulter la section 'Généralités' de madoc pour avoir des informations sur la connexion à Internet. 2.3. Debugger votre serveur web ------------------------------------------ ### 2.3.1 Si le processus init est systemd alors... … alors la commande `journalctl` est disponible. Pour consulter les journaux (log) d’apache2 faire : ``` journalctl -u apache2 ``` Pour ne consulter que les messages d’erreurs tout service confondu faire : ``` journalctl -p err ``` Ces options se combinent. Madoc contient un pense-bête plus exhaustifs sur les commandes pour consulter les logs. Cf. la section 'Généralités' de madoc. ### 2.3.2 Sinon... Pour consulter les journaux, dans une console faire : ``` tail -f /var/log/apache2/access.log   ``` Et/ou `error.log` et les autres… en particulier `error_ssl.log` pour la suite du TP quand vous aurez modifié et rechargé la configuration SSL afin de mieux comprendre les problèmes éventuels survenus... N’hésitez pas à modifier le fichier de configuration `/etc/apache2/apache2.conf` pour mettre le LogLevel à "debug" ou "info" à la place de "warn" afin d’avoir plus d’information dans les journaux. 2.4. Configurer un serveur web virtuel ------------------------------------------ La mise en place de serveurs webs virtuels permet de faire cohabiter plusieurs serveurs sur un même hôte. Créez une configuration de site dédiée au sein d'apache. Spécifiez le nom du serveur virtuel (directive `ServerName`) et l'emplacement sur le système de fichiers du contenu de ce serveur (directive `DocumentRoot`). Le `ServerName` correspond généralement à [un nom du domaine](https://httpd.apache.org/docs/2.4/fr/mod/core.html#servername). Pour ce faire, repartez du fichier de configuration par défaut : ``` cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/tp.conf ``` _Note 2015/16_ : ce fichier n'existe pas sur les machines debian de l'IUT. A la place se trouve le fichier `/etc/apache2/sites-available/default` Dans votre `tp.conf`, si vous êtes VOTRENOM indiquez ``` ServerName wiki.VOTRENOM.org DocumentRoot /var/www/html/wiki.VOTRENOM.org ``` N'oubliez pas de créer le répertoire `DocumentRoot` et un fichier pour tester ``` mkdir /var/www/html/wiki.VOTRENOM.org echo "

Salut, je suis VOTRENOM

" > /var/www/html/wiki.VOTRENOM.org/tp.html ``` Autorisez le site (un lien symbolique sera créé dans `/etc/apache2/sites-enabled`) ``` a2ensite tp ``` _Note 2015/16_ : sur la version installée de `a2ensite`, il faut expliciter le nom avec l'extension ``` a2ensite tp.conf ``` Puis rechargez la configuration d'apache ``` systemctl reload apache2 ``` (Suivant la version de init, la commande *old school* suivante devrait fonctionner `/etc/init.d/apache2 reload`. Eventuellement la commande suivante aussi `service apache2 reload`) Pour info, désautoriser un site se fait avec la commande : ``` a2dissite tp ``` Testez dans votre navigateur l'accès à la [page wiki.VOTRENOM.org/tp.html en http](http://wiki.VOTRENOM.org/tp.html). Cela marche-t-il comme vous voulez ? _Note 2020-2021_ Pour une raison que j'ignore, lorsque la config `000-default` est présente, elle prend le dessus sur la config `tp`. Une solution consiste à désactiver `000-default` ``` a2dissite 000-default ``` [Plus d'information sur les serveurs web virtuels ici](http://www.linux-france.org/prj/edu/archinet/systeme/ch22.html)