Permissions dans Apache

Bonjour,
Je souhaite mettre à jour mon forum phpbb vers sa nouvelle version. Ce forum est auto - hébergé. Je place donc le fichier de mise à jour /install à la racine, sauf que lorsque je souhaite y accéder, via un www.forum-plugcomputer.net/install ou adresseenlocalduserveur/install je me retrouve avec une erreur 403, je ne vois pas pourquoi… J’ avais mis des restrictions, mais je les ai retirée pour cette opération justement, voyant que cela bloquait. Voici mon fichier de configuration d’ apache2 /etc/apache2/sites-available/default :

[code]
<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/www
<Directory />
	Options FollowSymLinks
	AllowOverride None
</Directory>
<Directory /var/www/>
	Options Indexes FollowSymLinks MultiViews
	AllowOverride None
	Order allow,deny
	allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
	AllowOverride None
	Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
	Order allow,deny
	Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

[/code]

J’ ai fais un reload d’ apache2, un restart même…

Vous avez une idée ?
Merci d’ avance

L’utilisateur d’apache (www-data) as-til les droits suffisant pour lire /var/www et exécuter install ?
Quand tu obtiens l’erreur 403, as-tu un message dans /var/log/apache2/errors.log ?

Salut et merci de t’ intéresser à mon problème.
Effectivement il y a un message d’ erreur :

[Sat Jan 01 19:47:54 2011] [error] [client 192.168.XXXX] (13)Permission denied: access to /install/index.htm denied

Ce n’ est pas dans /etc/apache2/sites-available/default que l’ on peut regler cela ? Car je ne vois dans mon fichier aucune restriction…

Bonne soirée !

Dans /etc/apache2/sites-available/default, tu règles les permissions d’accès de tes clients. Ici, le Allow from all autorisera tout le monde à accéder à /var/www

Mais pour que apache envoie les fichiers demandés aux clients autorisés, il faut que lui-même puisse les lire (ou exécuter les scripts php qui les génèreront).
Sous debian, apache est lancé par l’utilisateur www-data, il faut donc que www-data ait les droits systèmes suffisants sur les fichiers du site.

Ok,
Si je fais un

Est ce que c’ est ce qu’ il faut faire ?

Les bons droits pour apache2 sont 644 pour les fichiers, 755 pour les dossiers.
J’utilise ce script pour les rétablir facilement.

#!/bin/sh chown -R www-data:www-data /var/www find /var/www -name "*" -type d -exec chmod 755 {} \; find /var/www -name "*" -type f -exec chmod 644 {} \;

Merci pour ton aide.
Mon idée de faire :

Etait elle bonne ? (J’ aimerais comprendre !)

Bonne nuit…

Oui, mais si t’as pas les bons droits (par exemple, si t’as fait un chmod -R 622 /var/www), ça marchera toujours pas.
Si tu remarques bien, c’est la première ligne de mon script.

Salut, oui j’ avais vu, à part que j’ avais oublié le "R"
Je comprends tout à fait ton script, mais une chose m’ échappe :
On parle de l’ utilisateur www-data. Si on fait un chown comme la première ligne de ton script, on lui attribue bien en tant que propriétaire le dossier /www ? Pourquoi n’ est ce pas suffisant ? En tant que propriétaire on peut bien faire ce que l’ on veut de ses dossiers ?
Merci pour tes explications.

Salut,
Être propriétaire ne suffit pas il faut aussi que les droits soient suffisants.

Par exemple, ces deux répertoires m’appartiennent :

$ vdir
total 8
d--------- 2 laurent laurent 4096  2 janv. 09:54 DEBIAN
drwxr-xr-x 3 laurent laurent 4096 22 mai    2009 usr[/code]

Mais sur l'un, le "mode" est à 400... Je ne peut pas y entrer... L'autre est bien à 755; j'y entre, je l'efface, etc...

[code]$ cd DEBIAN 
cd: permission non accordée: DEBIAN

Ok, et bien tu vois j’ étais persuadé jusqu’ à aujourd’ hui qu’ étant propriétaire tu avais tous les droits !
J’ ai lancé le script de Glorf et cela fonctionne désormais, pas encore sur mon serveur mais en local sur mon portable, je considère le problème reglé, au cas ou si mon serveur me posait problème, je ré - ouvrirai le post.

Merci à tous du coup de main !

Merci à Glorf

Les bons droits pour apache2 sont 644 pour les fichiers, 755 pour les dossiers.
J’utilise ce script pour les rétablir facilement.
Code:
#!/bin/sh
chown -R www-data:www-data /var/www
find /var/www -name “" -type d -exec chmod 755 {} ;
find /var/www -name "
” -type f -exec chmod 644 {} ;

Mon problème à été résolu en utilisant ce script…
Bonne soirée à tous.

Merci !