14 oct 2011

Sur Centos 6, je télécharge un module (pathauto, par exemple) dans Drupal avec Drush, je l'active et .... il n'apparaît pas dans la liste des modules. Par contre, pas de problème, si je le télécharge directement sur drupal.org sans passer par Drush. Si cela vous est arrivé, voici la solution : Tout d'abord, voyons les permissions et file labels de ce module avec la commande ls -Z (ou ls --context), executée dans le dossier /modules de Drupal :

$ ls -Z

Cela affiche :

drwxr-xr-x. virtualandscape virtualandscape unconfined_u:object_r:user_tmp_t:s0 pathauto

Il nous faut changer le contexte Selinux avec la commande :

 $ chcon -Rt httpd_sys_content_t pathauto/

On vérifie :

$ ls -Z drwxr-xr-x. virtualandscape virtualandscape unconfined_u:object_r:httpd_sys_content_t:s0 pathauto 

Maintenant Apache reconnaît ces fichiers qui vont apparaître dans la liste des modules. Cette opération est évidemment inutile pour ceux qui ont déactivé Selinux.