Howto : Drupal derrière un proxy avec authentification

drupal blog Howto : Drupal derrière un proxy avec authentification

Si vous utilisez Drupal derrière un proxy sans ou avec authentification, comme par exemple pour un intranet.

Vous allez être confronté à un gros problème d’utilisation. L’accès à l’interface d’administration est très lent, car il fait des recherches pour savoir les mises à jours disponible, du socle drupal et de ses modules…

Voici comment contourner le problème :

Ajoutez dans le fichier settings.php :

$conf = array(

‘update_fetch_url’ => ‘http://localhost:80/release-history/’

);

Le port 80 est le port surlequel mon apache tourne, vous pouvez bien sur en mettre un autre icon wink Howto : Drupal derrière un proxy avec authentification

Puis autorisez sur votre serveur Apache le mod_proxy (debian-like) :

# ln -s /etc/apache2/mods-available/proxy.* /etc/apache2/mods-enabled/
# ln -s /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled/

# /etc/init.d/apache restart

Ensuite autorisez le mod_proxy pour le localhost : (Afin d’éviter ce message d’erreur : client denied by server configuration: proxy)

# vi /etc/apache2/mods-enabled/proxy.conf

<IfModule mod_proxy.c>
ProxyRequests Off
<Proxy *>
Order deny,allow
Deny from all
Allow from localhost
</Proxy>
ProxyVia On
</IfModule>

Puis ajoutez ces quelques règles au niveau d’Apache :

ProxyPass /release-history/ http://updates.drupal.org/release-history/
ProxyPassReverse /release-history/ http://updates.drupal.org/release-history/
ProxyRemoteMatch ^.*/release-history/.*$ http://localhost:4444/

Et enfin il faut utiliser cntlm afin de gérer l’authentification avec le proxy qui vous empêche de faire les mises à jour Drupal. CNTLM est un proxy d’authentification comme NTLMaps

CNTLM est disponible sous Ubuntu, un simple « aptitude install cntlm » et le tour est joué.

Il faut maintenant le configurer, pour cela :

# vi /etc/cntlm.conf

Voici les paramètres à changer :

Username        votre-user
Domain          votre-domaine
Password        votre-mot-de-passe             # Use hashes instead (-H)
#Workstation    netbios_hostname        # Should be auto-guessed

Proxy           votre-proxy:8080
#Proxy          10.217.112.42:8080

#
# This is the port number where Cntlm will listen (Ceci est le port d’écoute de CNTLM)
#
Listen          4444

On retrouve d’ailleurs ce port d’écoute dans les règles de Proxy ci-dessus.

Il vous suffit de redémarrer CNTLM et ça devrait fonctionner.

Si cela ne fonctionne pas, n’hésitez pas à revenir vers moi icon wink Howto : Drupal derrière un proxy avec authentification

Merci à Stillcut du forum drupalfr.org pour m’avoir orienté vers un post du forum officiel de Drupal qui m’a permis de trouver la solution

client denied by server configuration: proxy:
client denied by server configuration: proxy:

Articles Relatifs :


Mots-clés : ,

Pierre-Yves Dubreucq

Passionné par les logiciels libres, je maintiens ce blog qui finalement ne parle pas que d'administration systèmes et réseaux sous linux, mais couvre désormais toute l'actualité des logiciels libres