Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Problemas con instalar bundles con Composer bajo un proxy

25 de marzo de 2015

Hola comunidad, tengo este problema que me agobia bastante: sucede que estoy trabajando para crear un sistema que se autentique con LDAP, pero en mi empresa estoy bajo un proxy.

Esta empresa tiene un repositorio de Composer del cual, haciendo las configuraciones de repositories : "configs" en el archivo composer.json del proyecto, puedo descargar los bundles que tiene dicho repositorio.

Pero sucede que los bundles que necesito para LDAP no los tiene y tuve que bajarlos de Internet, los puse manualmente, pero cada vez que instalo un nuevo bundle desde ese repositorio, cuando composer actualiza/genera el /vendor/composer/autoload_namespaces.php me borra las entradas que había puesto manualmente, y la aplicación estalla.

Ahora bien, estoy intentando instalarlos desde Internet, pero antes, al hacer el composer diag no me da conexión con Internet porque estoy bajo el proxy, del cual es necesario loguearse para poder acceder a internet. Quiero hacerlo así porque detesto estar tocando el código fuente pues eso trae un sin fin de problemas, además que no es una buena práctica de cierta manera.

Actualmente trabajo en un sistema operativo Unix/Linux para ser preciso Linux Mint 17.1 y le he seteado en la consola la variable http_proxy="valores" con export http_proxy="127.0.0.1:3128". Solo con esta configuración pues tengo cntlm puesto en el sistema el cual se encarga de las peticiones del proxy de la empresa y entrega el servicio por el puerto 3128 al localhost y no me trabaja. También intenté con git config --global.http_proxy <valores> y NADA!!!

Por favor, alguien que como yo haya estado bajo esta misma situación y haya resuelto, necesito de su ayuda.

Saludos.


Respuestas

#1

Creo que tu pregunta son en realidad varias preguntas en una. Como no uso proxys no puedo ayudarte mucho en esa parte. Pero sí veo que Composer define varias opciones de configuración relacionadas con los proxys.

En concreto, la opción HTTP_PROXY_REQUEST_FULLURI indica lo siguiente (quizás puedes jugar con el valor de esta opción para ver qué pasa):

If you use a proxy but it does not support the request_fulluri flag, then you should set this env var to false or 0 to prevent composer from setting the request_fulluri option.

Por otra parte, hablas de descargar a mano varios paquetes, pero es algo que no acabo de entender. Siempre que estén publicados en algún sitio, puedes hacer que Composer los descargue simplemente definiendo un "repository virtual" dentro de tu archivo composer.json.

Por último, tampoco entiendo mucho lo de que añadas a mano las entradas de la carga automática de clases. Si necesitas añadir este tipo de configuración, tienes que hacerlo en el archivo app/autoload.php que es el archivo Symfony que se encarga de eso y así no perderás los cambios al actualizar Composer.

@javiereguiluz

25 marzo 2015, 18:49
#2

Para Linux Mint:

sudo nano /etc/environment

(O el editor que prefieras)

Agrega lo siguiente

http_proxy=http://aqui.tu.proxy:8080/
https_proxy=http://aqui.tu.proxy:8080/
ftp_proxy=http://aqui.tu.proxy:8080/
no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
HTTP_PROXY=http://aqui.tu.proxy:8080/
HTTPS_PROXY=http://aqui.tu.proxy:8080/
FTP_PROXY=http://aqui.tu.proxy:8080/
NO_PROXY="localhost,127.0.0.1,localaddress,.localdomain.com"

En /etc/apt/apt.conf.d/ crea un fichero que se llame 95proxies y dentro:

Acquire::http::proxy "http://aqui.tu.proxy:8080/";
Acquire::ftp::proxy "ftp://aqui.tu.proxy:8080/";
Acquire::https::proxy "https://aqui.tu.proxy:8080/";

Reinicia.

Me pasó lo mismo en Windows, pero allí solo tenía que agregar HTTP_PROXY a las variables de entorno

@SakyaStelios

29 marzo 2015, 18:25