lundi, août 02, 2010

Compilation des ports et proxy HTTP authentifié

Ayant la possibilité de tester un serveur SunFire V480R au bureau, j'en ai profité pour lui installer un FreeBSD 8.1.
Si l'installation n'a posée aucun problème à par la prise en main de l'OpenBoot PROM (OBP pour les intimes), la déclaration du proxy HTTP authentifié qui ma pris plus de temps que prévus.
En effet, il est assez simple de le déclarer le proxy par les commandes suivantes (a adapter dans votre cas):

setenv HTTP_PROXY "10.0.0.10:8080"
setenv HTTP_PROXY_AUTH "basic:*:login:password"
setenv http_proxy 'http://login:password@10.0.0.10:8080/'

On peux désormais faire du «portsnap fetch extract», etc…:

[olivier@sparc64]~>fetch http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/book.html
book.html                                     100% of 5595 kB  370 kBps 00m00s
[olivier@sparc64]~>


Par, contre cela ne suffit pas pour permettre le téléchargement des sources des ports: Le proxy est bien utilisé, mais il ne s'authentifie pas tous seul:

[root@sparc64]/usr/ports/www/shellinabox#make extract
===>  Vulnerability check disabled, database not found
===>  License accepted by the user
=> shellinabox-2.10.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://shellinabox.googlecode.com/files/.
fetch: http://shellinabox.googlecode.com/files/shellinabox-2.10.tar.gz: Proxy Authentication Required


Avant de s'énerver et de remplacer le FreeBSD par un Ubuntu Server :-) faisons un petit tour du coté des barbus français (freebsd-fr@freenode)… C'était la bonne méthode, car le grand bapt@ était présent et ma fait une réponse aux petits ognons:

echo "FETCH_ARGS=-pRr" >> /etc/make.conf

Et cela à résolus mon problème:

[root@sparc64]/usr/ports/www/shellinabox#make extract
===>  Vulnerability check disabled, database not found
===>  License accepted by the user
=> shellinabox-2.10.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://shellinabox.googlecode.com/files/.
shellinabox-2.10.tar.gz                       100% of  501 kB 1087 kBps
===>  Extracting for shellinabox-2.10
=> MD5 Checksum OK for shellinabox-2.10.tar.gz.
=> SHA256 Checksum OK for shellinabox-2.10.tar.gz.

On peux même déclarer le proxy dans le fichier make.conf (mais éviter de déclarer votre proxy partout, car en cas de changement cela fait plusieurs fichiers à modifier et votre mot de passe qui traine partout):

echo "FETCH_ENV=http_proxy='http://login:password@10.0.0.10:8080/'" >> /etc/make.conf
Enregistrer un commentaire