Apache : problèmes de permissions
Le
Samy Mezani

Bonjour,
Je "gère" (de loin) un site web pour une petite asso auto-hébergé sur un
serveur web Debian avec Apache, mis à jour récemment de jessie en wheezy.
J'ai fait la mise à jour il y a environ 1 mois via une connexion ssh.
Tout s'est a priori bien passé mais, depuis, certains sites web ne
répondent plus.
Spip (http://domain.tld/yyyy)
"Forbidden
You don't have permission to access /yyyy/ on this server."
Dokuwiki (http://domain.tld/dokuwiki)
aucun souci
ownCloud (http://domain.tld/owncloud)
aucun souci
phpMyAdmin (http://domain.tld/phpmyadmin)
aucun souci
phpPgAdmin (http://domain.tld/phppgadmin/"
"Forbidden
You don't have permission to access /phppgadmin/ on this server."
J'ai regardé les permissions des dossiers :
/var/lib/
drwxr-xr-x 8 root root 4096 mars 16 22:16 spip
drwx 6 www-data root 4096 juil. 26 2011 dokuwiki
drwxr-xr-x 6 root root 4096 août 12 2014 owncloud
drwxr-xr-x 3 root root 4096 mai 10 2013 phpmyadmin
Ça ne m'aide pas vraiment. Je ne sais pas par où attaquer le problème.
Si quelqu'un a une idée, merci.
Samy
Je "gère" (de loin) un site web pour une petite asso auto-hébergé sur un
serveur web Debian avec Apache, mis à jour récemment de jessie en wheezy.
J'ai fait la mise à jour il y a environ 1 mois via une connexion ssh.
Tout s'est a priori bien passé mais, depuis, certains sites web ne
répondent plus.
Spip (http://domain.tld/yyyy)
"Forbidden
You don't have permission to access /yyyy/ on this server."
Dokuwiki (http://domain.tld/dokuwiki)
aucun souci
ownCloud (http://domain.tld/owncloud)
aucun souci
phpMyAdmin (http://domain.tld/phpmyadmin)
aucun souci
phpPgAdmin (http://domain.tld/phppgadmin/"
"Forbidden
You don't have permission to access /phppgadmin/ on this server."
J'ai regardé les permissions des dossiers :
/var/lib/
drwxr-xr-x 8 root root 4096 mars 16 22:16 spip
drwx 6 www-data root 4096 juil. 26 2011 dokuwiki
drwxr-xr-x 6 root root 4096 août 12 2014 owncloud
drwxr-xr-x 3 root root 4096 mai 10 2013 phpmyadmin
Ça ne m'aide pas vraiment. Je ne sais pas par où attaquer le problème.
Si quelqu'un a une idée, merci.
Samy
Le mardi 19 avril 2016 à 15:28, Samy Mezani a écrit :
Ces permissions ne sont pas problématiques, puisque l’utilisateur « www-data »
peut accéder en lecture aux dossiers. On ne peut pas conclure grand-chose de ce
point.
Que disent les logs d’Apache (dossier « /var/log/apache2 ») ?
Comment sont configurés les différents hôtes virtuels (tu devrais trouver des
éléments dans « /etc/apache2/sites-enabled ») ? (si je pose cette question,
c’est parce que le dossier dans lequel tu sembles avoir mis tes sites
— « /var/lib/ » — est plutôt inhabituel)
Apparemment, ces différents sites ont été installés manuellement (pas par
installation des paquets fournis par Debian). Est-ce le cas et est-ce voulu ?
Sébastien
Le 19/04/2016 16:22, Sébastien NOBILI a écrit :
Pour les logs des erreurs de connexion à Apache, voici un extrait pour
spip et phppgadmin :
[Wed Apr 20 11:17:30.675745 2016] [authz_core:error] [pid 30982] [client
XX.XX.XX.XXX:ZZZZ] AH01630: client denied by server configuration:
/var/lib/spip/
[Wed Apr 20 11:19:58.968011 2016] [authz_core:error] [pid 31832] [client
XX.XX.XX.XXX:ZZZZ] AH01630: client denied by server configuration:
/usr/share/phppgadmin/
Contenu de /etc/apache2/sites-enabled/000-default.conf :
<VirtualHost *:80>
ServerName mondomain.tld
ServerAdmin
DocumentRoot /var/www
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
C'est tout ce que j'ai dans /etc/apache2/sites-enabled/
C'est bizarre ça car à part owncloud les autres ont été installés via
les paquets Debian. Bien-sûr j'ai d'autres dossiers dans /var/www où
j'ai installé par exemple piwigo, pmb et des dossiers contenant des
fichiers à télécharger mais pour le reste je ne m'aventure pas dans des
installations manuelles alors que les paquets Debian le font très bien.
Merci pour vos réponses.
Samy
Le mercredi 20 avril 2016 à 11:31, Samy Mezani a écrit :
Ma remarque n’était peut-être pas très pertinente… Deux raisons à ça :
— j’ai l’habitude que ça se passe dans « /var/www/ »,
— en général les paquets Debian installent dans « /usr/share/ ».
Mais visiblement (dans le cas de Spip), il y a aussi des choses dans
« /var/lib/ » [1].
1: https://packages.debian.org/jessie/all/spip/filelist
Ne te préoccupe donc pas trop de ce que j’ai écrit ci-dessus.
Le mercredi 20 avril 2016 à 12:00, Eric a écrit :
C’est normal que le « DocumentRoot » pointe sur ce dossier. Il doit y avoir une
directive de conf qui définit un alias.
Tu devrais lire les fichiers « README.Debian » contenus dans les dossiers
« /usr/share/doc/<ton-site-qui-ne-marche-pas>/ ». Par exemple, pour Spip, on
trouve ça :
Global configuration
===================
There is an Apache configuration file at /etc/spip/apache.conf and
a file for Cherokee too.
This file is included in your webserver configuration if you requested it
during package configuration.
Le fichier « /etc/spip/apache.conf » a donc dû être copié au moment de
l’installation dans le dossier « /etc/apache2/conf.d/ » (c’était le chemin
valide du temps d’Apache-2.2).
Il me semble que maintenant (Apache-2.4), ce fichier devrait être déplacé dans
le dossier « /etc/apache2/conf-available/ » et activé en créant un lien
symbolique qui pointe dessus dans le dossier « /etc/apache2/conf-enabled/ ».
Peut-être qu’un simple « dpkg-reconfigure spip » te donnera le même résultat…
Sébastien
Mise à jour Wheezy -> Jessie donc apache 2.2 vers 2.4
Quelques pistes :
* Tous les fichiers de configuration apache doivent se terminer par
.conf en 2.4
* Les options doivent commencer par + ou -
http://httpd.apache.org/docs/2.4/upgrading.html
Les logs apache /var/log/apache2/ sont très parlant pour les erreurs de
configuration des virtualhosts
Si ça peut aider
Cordialement
--
Jean Louis Mas