Permissions sur l'arborescence du répertoire de Drupal

Si les permission dans le répertoire qui contient les sources PHP sont mauvaises (soit trop permissives, soit trop restrictives), ça ne marche pas. Vous obtenez alors des messages d'erreur PHP dans l'interface d'administration Drupal (typiquement : "Le dossier ou le fichier n'existe pas", ou encore "permissions inssufusantes", ou encore "Impossible d'écrire", etc.). Parfois même vous ne pouvez plus vous connecter à l'interface d'administrateur du site.
Par ailleurs, si vous souhaitez supprimer un fichier (image, CSS, etc.) ou un répertoire créé par drupal (lors d'un upload par exemple), ce fichier ou répertoire aura l'utilisateur www-data pour propriétaire. Impossible alors pour l'utilisateur toto de modifier ou supprimer le fichier !!!! Pas de panique !
Ne jamais mettre les permissions 777 !!!!!!!

1) Sur les machines du département Informatique de l'IUT :
Connectez vous sur hina par SSH (commande ssh monlogin@hina) et relancez le script mkdrupal.
Point, c'est tout !!! Pas de chmod.

2) Sur votre ordinateur personnel :
Tout d'abord, assurez-vous que votre site web, comme tous les sites web, est bien configuré au niveau des droits pour en faire un site web public :
  • Sur votre home directory : permissions rwx--x--x (soit 711) (prenez soin de protéger les données à l'intérieur votre HOME en lecture vis à vis des autres utilisateurs...)
  • Sur le répertoire racine de votre site Drupal : permissions rwxr-xr-x (soit 755)
  • Sur votre fichier $HOME/drupal7/settings.php(et sur tous les sources PHP si nécessaire)  : permissions rw-r--r-- (soit 644)
Ensuite, si Drupal a besoin d'écrire dans un dossier (par exemple le dossier siteDrupal/mon/sous/dossier/), il faut rendre le dossier et son contenu accessible en écriture pour Apache par les commandes suivantes (en supposant qu'on est à la racine du site) :
   $ sudo chgrp -R www-data siteDrupal/mon/sous/dossier/
   $ chmod -R g+w mon/sous/dossier/