Je suis en train de créer une installation de trac sur mon serveur privé afin de l'utiliser pour la gestion de projets. J'ai suivi les instructions d'installation et de connexion au serveur apache qui se trouvent dans le guide officiel d'installation de trac mais lorsque j'essaie d'accéder à trac, j'obtiens une erreur 404. Lorsque je désactive ScriptAlias, j'obtiens une erreur 403 Accès refusé. Voici les détails:
Ma configuration est la suivante: ArchLinux i686 fonctionnant en mode sans interface graphique (je m'y connecte via ssh) et connecté sans fil au routeur de mon réseau domestique. J'ai choisi de connecter trac et apache avec FastCGI
Un utilisateur trac pour contenir tout ce qui concerne trac.
$ sudo ls /home/trac
cgi-bin env htdocs
env est l'endroit où se trouvent les projets cgi-bin et htdocs ont été générés avec la commande trac-admin $TARGET $DESTINATION deploy
.
Un utilisateur httpd pour contenir le DocumentRoot du serveur apache:
$ sudo ls /home/httpd
ftp http
J'ai donné la propriété de tout dans /home/trac, de manière récursive, à httpd et au groupe http (non sécurisé, je sais, mais je voulais d'abord le tester de la manière la plus simple possible):
sudo chown -R http.httpd /home/trac
J'ai apporté les modifications suivantes à httpd.conf:
Ajouté:
LoadModule fcgid_module modules/mod_fcgid.so
Modifié:
User httpd
Group http
Changé DocumentRoot à ceci partout:
DocumentRoot "/home/httpd/http"
Et enfin, j'ai activé les hôtes virtuels:
# Hôtes virtuels
Include conf/extra/httpd-vhosts.conf
Voici le httpd-vhosts.conf:
ServerAdmin myemail@email.com
DocumentRoot "/home/trac/"
ServerName SERVER_IP
ErrorLog "/var/log/httpd/trac.error.log"
CustomLog "/var/log/httpd/trac.access.log" combined
Order deny,allow
Deny from all
Allow from 192.168.0.0/16 127.0.0.1
Order deny,allow
Allow from all
AuthName "Trac Projects"
AuthType Basic
AuthUserFile /home/trac/.htpasswd
Satisfy Any
Require valid-user
ScriptAlias /env /home/trac/cgi-bin/trac.fcgi
À noter que j'ai donné la propriété de trac.fcgi à http ainsi que défini explicitement les autorisations pour le rendre exécutable.
Lorsque ScriptAlias est commenté, j'obtiens une erreur 403 Accès refusé pour le root, SERVER_IP, ainsi que SERVER_IP/env ou tout autre répertoire dans le chemin. Lorsque la ligne n'est pas commentée, j'obtiens une erreur 403 Accès refusé pour le root et 404 Objet non trouvé pour tout le reste.
Les sources que j'ai utilisées pour en arriver à ce point sont d'abord le guide d'installation de trac puis le guide d'installation arch linux obsolète lorsque le premier n'a pas fonctionné (produit les mêmes résultats que je décris, seulement j'ai pu atteindre la page factice dans le DocumentRoot, et même avec l'alias de script activé, SERVER_IP/env était Accès refusé 403). Voici le httpd.conf car il est trop volumineux pour le poster ici: httpd.conf
Je pense qu'il s'agit d'un problème de permission mais en raison de ma faible expérience avec apache, je n'arrive pas à trouver de solution.
Merci d'avance.
P.S. Étant donné que je contrôle le tout via ssh, connecté en tant qu'un utilisateur différent, j'ai dû donner la propriété de httpd à ses répertoires http et ftp après les avoir créés. Je ne suis pas sûr si cela a une importance cependant.