Le serveur Web Httpd

httpd : le serveur Web Apache

  • N'oubliez pas d'arrêter un éventuel processus thttpd.
  • Faites démarrer le service httpd et vérifiez son bon fonctionnement. Il doit normalement publier sa propre documentation.
    dnf install -y httpd
    systemctl start httpd
    
  • Le service httpd est configuré par le fichier /etc/httpd/conf/httpd.conf.
  • Activez la fonctionnalité permettant à des utilisateurs de publier leur site Web (fichier /etc/httpd/conf.d/userdir.conf).
  • Testez la configuration et rechargez le serveur :
    # tester la configuration
    apachectl configtest
    # prise en compte de la configuration
    apachectl graceful
    
  • Testez cette fonctionnalité en créant des pages personnelles (dans $HOME/public_html) pour l'utilisateur ordinaire etud de votre VM :
    # création de pages personnelles (pour etud)
    mkdir -p $HOME/public_html
    echo "<p>Hello</p>" > $HOME/public_html/index.html
    # ouverture des droits de lecture
    chmod -R a+rX $HOME/public_html
    chmod a+X $HOME
    echo Fini
    
  • Testez l'URL http://localhost/~votre-login

Contrôler les accès

Utilisez la clause Directory ci-dessous pour limiter (ou autoriser) l'accès à un répertoire particulier à partir d'une machine particulière. Démarche :

  1. Observez dans le fichier de trace l'accès au répertoire (fichier /var/log/httpd/access_log). En déduire l'adresse IP du client.
  2. Créez un fichier de configuration (/etc/httpd/conf.d/ma-config.conf) avec
    <Directory "/home">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        Allow from all
        Deny from 127.0.0.1
    </Directory>
    
  3. Tentez l'URL précédente et observez l'erreur générée dans le fichier de trace des erreurs (/var/log/httpd/error_log).
  4. Vérifiez que les pages personnelles sont toujours accessibles sur l'adresse publique 10.0.2.15.

Monter un serveur virtuel

  • Créez un nouveau site WEB statique :
    mkdir /var/www/app1
    echo "<p>Application 1</p>" > /var/www/app1/index.html
    chmod -R a+rX /var/www/app1/
    
  • Créez un nom pour ce site WEB :
    echo "10.0.2.15    app1.idl.fr" >> /etc/hosts
    ping app1.idl.fr
    
  • Créez le fichier de configuration /etc/httpd/conf.d/app1.conf avec
    <VirtualHost *>
        ServerName app1.idl.fr
        DocumentRoot /var/www/app1
    </VirtualHost>
    
  • Vérifiez la configuration et relancez le serveur
    apachectl configtest && apachectl graceful
    
  • Testez l'adresse http://app1.idl.fr