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
    
  • Dans VirtualBox (configuration de la carte réseau) mettez en place une redirection du port 9080 de votre machine physique vers le port 80 de votre machine virtuelle. Vous pouvez maintenant tester votre serveur WEB à partir de votre machine physique (Cette opération ne fonctionne pas).
  • 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 de votre VM :
    # création de pages personnelles
    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.univ-amu.fr" >> /etc/hosts
    ping app1.idl.univ-amu.fr
    
  • Créez le fichier de configuration /etc/httpd/conf.d/app1.conf avec
    <VirtualHost *>
        ServerName app1.idl.univ-amu.fr
        DocumentRoot /var/www/app1
    </VirtualHost>
    
  • Vérifiez la configuration et relancez le serveur
    apachectl configtest && apachectl graceful
    
  • Testez l'adresse http://app1.idl.univ-amu.fr