Featured image of post Utiliser le gestionnaire d’extension Perl CPAN derrière un proxy

Utiliser le gestionnaire d’extension Perl CPAN derrière un proxy

Ecrit par ~ zwindler ~

Aaaah, CPAN, un vrai bonheur

Ceux qui me suivent savent que, bien qu’il m’arrive d’utiliser Perl de temps en temps (et même de coder un peu de Perl, ce qui m’a fait acheter Learning Perl et Programing Perl de chez O’Reilly), je passe surtout la plupart de mon temps à pester contre le CPAN (voir cet article où je détaille entièrement comment installer un simple plugin Nagios sans accès à Internet).

2

Car CPAN et les modules/dépendances Perl, c’est bien, mais c’est quand même mieux quand on a accès à Internet !

Pas d’Internet dans mon DC (ou presque)

Il n’est pas rare que je n’ai pas accès à Internet lorsque j’installe un serveur, et c’est généralement dans ce genre de cas qu’on essaye de trouver des bidouilles.

Par exemple, dans les DC qui n’ont accès qu’à un proxy avec authentification NTLMv2 (Microsoft), je n’hésite pas à installer cntlm (ou avant ntlmaps). C’est crade, mais ça me permet d’avoir mon proxy pour Yum, wget, etc… qui ne seraient pas (ou mal) gérés autrement. Et ça m’a sauvé bien des fois !

Dans le cas qui nous concerne dans cet article sur CPAN, j’ai découvert avec stupeur qu’il existe un « shell » CPAN, auquel on peut tout simplement ajouter une configuration particulière, notamment pour lui donner un proxy !

Voilà de quoi régler une partie de mes problèmes !

Pour activer le shell CPAN, deux méthodes (similaires) :

perl -MCPAN -e shell
#ou
cpan

Configurer le proxy pour CPAN

o conf init /proxy/


If you're accessing the net via proxies, you can specify them in the
CPAN configuration or via environment variables. The variable in
the $CPAN::Config takes precedence.

 <ftp_proxy>
Your ftp_proxy? [] w.x.y.z:<port>

 <http_proxy>
Your http_proxy? [] w.x.y.z:<port>

 <no_proxy>
Your no_proxy? [] w.x.y.z:<port>


Please remember to call 'o conf commit' to make the config permanent!

Et comme nous sommes disciplinés, nous n’oublierons pas d’enregistrer les modifications avec la commande indiquée plus haut

o conf commit

Désactiver le proxy

o conf no_proxy 1

Et on sauvegarde !

o conf commit

Bonus track : forcer le proxy HTTP plutôt que FTP

Je me suis retrouvé avec CPAN qui essayait à un moment donner de passer par FTP pour télécharger les packages alors que je n’avais qu’un proxy HTTP. Et pour ce problème particulier, je suis tombé sur cette page sur serverrfault qui donne quelques clés pour s’en sortir :

Simplest way of having it not use FTP is to shove HTTP URLs on the front of your urllist - or replace it completely like sebastionopilla said.

Pour afficher les URLs utilisées

o conf urllist
    urllist
        0 [http://xxxx.be/]
        1 [http://xxxx.net/]
        2 [http://xxxx.nl/CPAN/]

Exclure une URL de la configuration

o conf urllist unshift http://some.mirror/here/

Pour tout vider

o conf urllist -
o conf urllist shift

Source : http://serverfault.com/questions/130690/force-cpan-to-download-via-http/292696

Licensed under CC BY-SA 4.0

Vous aimez ce blog ou cet article ? Partagez-le avec vos amis !   Twitter Linkedin email Facebook

Vous pouvez également vous abonner à la mailing list des articles ici

L'intégralité du contenu appartenant à Denis Germain (alias zwindler) présent sur ce blog, incluant les textes, le code, les images, les schémas et les supports de talks de conf, sont distribués sous la licence CC BY-SA 4.0.

Les autres contenus (thème du blog, police de caractères, logos d'entreprises, articles invités...) restent soumis à leur propre licence ou à défaut, au droit d'auteur. Plus d'informations dans les Mentions Légales

Généré avec Hugo
Thème Stack conçu par Jimmy