Mon but est de publier sur mon serveur web Apache local le dossier /home/user/dossier1/dossier2/. Ce dossier doit être accessible à l'adresse http://localhost/dossier2/.

J'ai créé un fichier dossier2.conf dans le dossier /etc/httpd/conf.d/. Ce fichier contient :
Alias /dossier2/ "/home/user/dossier1/dossier2/"

Après cette première configuration, lorsque j'ouvre mon navigateur à cette page, j'ai un message 403 Forbidden. Je me suis connecté avec l'utilisateur root, dans le fichier /var/log/httpd/error_log je trouve le message (13)Permission denied: access to /dossier2/ denied puis dans le fichier /var/log/messages je trouve, à la même heure que le premier message, le message kernel: audit(9999999999.999:9): avc: denied { getattr } for pid=9999 comm="httpd" name="/" dev=dm-5 ino=2 scontext=root:system_r:httpd_t tcontext=user_u:object_r:user_home_t tclass=dir.

Pour modifier les paramètres de sécurité j'ai créé le fichier my_apache.fc qui contient :
/home/user/dossier1/dossier2/web(/.*)? user_u:object_r:httpd_user_content_t
/home/user/dossier1 user_u:object_r:httpd_user_content_t
/home/user/dossier1/dossier2 user_u:object_r:httpd_user_content_t

Ensuite je me suis connecté avec l'utilisateur root et j'ai exécuté la commande setfiles -vv -F my_apache.fc /home/user/dossier1/dossier2. L'option -vv permet d'afficher le détail et l'option -F permet de forcer la mise à jour si les fichiers ont déjà été modifiés. En cas de recopie ou déplacement des fichiers il est nécessaire d'exécuter de nouveau cette commande.

Mon PC est installé avec Linux Fedora Core 4, SELinux 1.23.10 (en mode enforced et type targeted) et Apache 2.0.54.