RSS feeds joomla detras de un proxy

FuenEstaba experimentando un problema con joomla para cargar las entradas RSS de un sitio externo, recibía este mensaje de error:

Al revisar el log de Apache en /var/log/httpd/error_log pude ver que el error se estaba disparando en SimplePie.php. En Joomla 1.5 este fichero se usa para realizar las tareas relacionadas a la sindicación RSS.
El servidor se encuentra detrás de un proxy, sin acceso directo a internet, por lo tanto tenemos que indicarle a cURL de alguna manera que use el proxy para conectarse a internet, encontré una solución para realizar ésto en Windows y una más simple para hacerlo en Linux, ésto debido a que no pude hallar el archivo de configuración de inicio de apache en Windows, /etc/sysconfig/httpd, si sabes dónde está dimelo por favor.
Solución Windows:
1. Activar la extensión cURL, en el caso de que ésta se encuentre desactivada.
Abrir php.ini
Descomentar la siguiente línea:
</pre>
</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">extension=php_curl.dll</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">
extension=php_curl.dll
Steps to resolve:
I enabled the cUrl extension in php.ini (running on a IIS platform)
Changed the code around line 6536:
curl_setopt($fp, CURLOPT_PROXY, $ip); curl_setopt($fp, CURLOPT_PROXYPORT, $port); curl_setopt($fp, CURLOPT_PROXYUSERPWD, $login . ‘:’ . $passwd);
where $ip is the proxy IP Address, $port is the port and $login:$password is the proxy authentication.
After this, I can load in external RSS feeds! YAY
here is an easy wsy to do this: If you have installed curl package on your machinge, Joomla (well at least in 1.5) will attempt to use that first instead of making the socke call. Curl looks for the environment variable http_proxy. So just set that to whatever your proxy is:
E.g. for unix: (windows- sorry folks make the switch)
export http_proxy=http://proxy.bla:8080
If there is proxy authentication:
export http_proxy=http://USERNAME:PASSWORD@proxy.bla:8080
Put this line in the startup config file for apache: eg /etc/sysconfig/httpd (lor linux)
Just restart httpd and joomla RSS will work now. Try it.
Steven

Estaba experimentando un problema con joomla para cargar las entradas RSS de un sitio externo, recibía este mensaje de error:

Error al cargar los datos feed
Error al cargar los datos feed

Al revisar el log de Apache en /var/log/httpd/error_log pude ver que el error se estaba disparando en SimplePie.php. En Joomla 1.5 este fichero se usa para realizar las tareas relacionadas a la sindicación RSS.

El servidor se encuentra detrás de un proxy, sin acceso directo a internet, por lo tanto tenemos que indicarle a cURL de alguna manera que use el proxy para conectarse a internet, encontré una solución para realizar ésto en Windows y una más simple para hacerlo en Linux, ésto debido a que no pude hallar el archivo de configuración de inicio de apache en Windows, que se puede encontrar aqui: /etc/sysconfig/httpd en Linux.

Solución Windows:

1. Activar la extensión cURL, en el caso de que ésta se encuentre desactivada.

Abrir php.ini

Descomentar la siguiente línea:


;extension=php_curl.dll

Añadimos las siguiente líneas después de la línea 6536 de SimplePie.php


curl_setopt($fp, CURLOPT_PROXY, $proxyHost);

curl_setopt($fp, CURLOPT_PROXYPORT, $proxyPort);

curl_setopt($fp, CURLOPT_PROXYUSERPWD, $login . ':' . $passwd);

Naturalmente tenemos que definir las variables con los datos de nuestro proxy, la tercera línea es opcional, podemos comentarla.

Solución Linux:

Esta solución se basa en el hecho de que cURL hace uso de la variable de entorno http_proxy disponible para el usuario que está ejecutando la instancia de Apache.

Por lo tanto en linux podemos hacer esto en el script de arranque global (para que afecte a todos los usuarios, incluyendo Apache).


export http_proxy=http://proxy.bla:8080

Si el proxy requiere autenticación:


export http_proxy=http://USERNAME:PASSWORD@proxy.bla:8080

O sino agregamos una de estas líneas a:

/etc/sysconfig/httpd

Y reiniciamos apache


#service httpd restart

Fuentes:
http://forum.joomla.org/viewtopic.php?p=1481041

20 thoughts on “RSS feeds joomla detras de un proxy”

  1. Hola,
    Estoy tratando de usar un feed de noticias, tome algunas rss que estan pubicadas, y que en el browser me devuelven bien la info, pero … al momento de hacerlo desde joomla tengo un error….
    Estuve probando la solucion que has propuesto Windows, te cuento que estoy trabajando con joomla 1.5.12, y ya configure el proxy segun lo aconsejas, y probe ademas habilitarle la cache (esto se aconseja en algunos foros), pero sigo teniendo el mismo problema.
    Y por ello viene mi pregunta: Tengo que configurar alguna otra cosa para que funciones? (soy novata en joomla, disculpa si estoy preguntando una burrada….jeje)

    Bueno, desde ya mil gracias!

  2. Hola, estoy teniendo el mismo error pero uso drupal, quiero actualizar algunos feeds desde un sitio interno que está detras de un proxy. La solución que das para win la entiendo bien, pero está basada en el codigo .php, asi que tendria que hacerlo cada vez que haga algo nuevo.
    pienso que es mejor, como mismo tu lo comentas, hacerlo directamente en apache, tal como lo hiciste en linux. Aquí te dejo donde puedes encontrar los ficheros de configuración de apache, pienso que en el httpd.conf sea posible, yo tratare por ahí y comentaré luego.

    …wampApache2conf

    Sds
    H

  3. Amigo, la ubicación del archivo de configuración del apache en windows depende del instalador. Si se instaló el apache de forma independiente, seguramente esté en C:archivos de programaapacheapache2conf, o C:program files…, si se instaló como parte de un paquete, por ejemplo wamp está en c:wampbinapacheapache2…, xamp lo instala en otra ubicación, lo mismo ocurre con AppServer.

  4. Es valida cuando la acotacion sobre los rss detras de un proxy, no tenia esa idea que el proxy estuviese haciendo un bloqueo y daba error, modificando ese archivo httpd en Linux dentro de la carpeta /etc/sysconfig/httpd y agregando la linea indicada arriba, pudo el feed encontrar las noticias y mostrarlas, excelente.!!!!

  5. Salu2
    yo estube probando tu idea.. me pasaba como a ti, cambié de appserv a wamp y lo primero que me dijo cuando traté de abrir la web era que el limite de memoria estaba sobrepasado lo arreglé en el php.ini y el proximo error que me da es este
    Parse error: syntax error, unexpected T_STRING, expecting T_VARIABLE or ‘$’ in C:wampwwwjoomlalibrariessimplepiesimplepie.php on line 6539

    ????????

  6. en php las variables siempre tienen el simbolo $ al iniciar el identificador, asegurate de de crear la variable de esta forma:

    $usuario = “miUsuario”;

  7. Siento agobiare con mi tema bro! pero sigo teniendo problema 🙁
    a ver me dices que lo que tengo que copiar en la linea 6536 es esto verdad?
    curl_setopt($fp, CURLOPT_PROXY, $proxyHost);

    curl_setopt($fp, CURLOPT_PROXYPORT, $proxyPort);

    debo sustituir donde dice $proxyhost por $10.0.0.1 que es mi proxy y en $proxyport debo poner $80 ???
    cuando lo pongo así me dice esto
    Parse error: syntax error, unexpected T_DNUMBER, expecting T_VARIABLE or ‘$’ in C:wampwwwjoomlalibrariessimplepiesimplepie.php on line 6536

  8. hola! en vez de $proxyHost ingresa una cadena rodeada por comillas dobles, asi:

    curl_setopt($fp, CURLOPT_PROXY, “10.0.0.1”);

    curl_setopt($fp, CURLOPT_PROXYPORT, “80”);

  9. MUCHAS GRACIAS…YA NO ME DA ERROR 🙂
    AHORA QUIERO AGRADECETRTE POR TODO … EN VERDAD… PERO ME PARECE QUE NO VOY A PODER LOGRARLO… ME SIGUE SIN FUNCIONAR 🙁 ESTE ES E LOG
    [16-mar-2010 15:10:51] PHP Notice: A feed could not be found at http://www.granma.cu/granmai_es.xml in C:wampwwwjoomlalibrariessimplepiesimplepie.php on line 1520

    ———-
    DE ANTEMANO GACIAS OTRAVEZ

  10. hola foreros toreros yo tube un probelam parecido en la pagina de inicio.error al cargar los feed.-. que hice. desabilite. en el configuracion global. el ftp. que tenia activo desde la isntalacion. le das no.. ya si quires que en rute. sigue los consejos del forista mayor saludes.-..-y no se que hago en wordpress si soy un joomlero.. jojojoj.

  11. Por favor ayuda!!!!
    Tengo joomla 1.5.22 creo que al archivo simplepie.php ha sido cambiado y no se donde colocar el codigo… ademas estoy sobre windows… con xampp… lo mas que he logrado es luego de activar en el php.ini el curl… y haber puesto el codigo donde me dio la gana en simplepie
    es esto… y claro esta que no se ven los rss…

    Warning: curl_setopt() expects parameter 1 to be resource, null given in D:xampphtdocsdemlibrariessimplepiesimplepie.php on line 7668
    Warning: curl_setopt() expects parameter 1 to be resource, null given in D:xampphtdocsdemlibrariessimplepiesimplepie.php on line 7669
    Warning: curl_setopt() expects parameter 1 to be resource, null given in D:xampphtdocsdemlibrariessimplepiesimplepie.php on line 7670

    si desactivo en el php.ini el curl… ya no sale el error… pero si me sale el caracteristico

    * Error al cargar los datos feed.
    * Error: feed no recuperada.

    muchas gracias

  12. Bueno tengo problemas con el feeds de noticias y es idéntico al tuyo.. uso Debian Lenny 5 con apache2 la ruta donde esta el httpd es en /etc/apache2/httpd, e puesto ahi la cadena export http_proxy=http://USERNAME:PASSWORD@proxy.bla:8080 …claro sustituyendo todo y ajustando a lo mio ya que navego detras de proxy… cuando agrego esa linea en el httpd no me deja iniciar el apache …. espero que me ayudes

  13. Hmm derepente tienes un ligero error de sintaxis cuando pones:

    export http_proxy=http://USERNAME:PASSWORD@proxy.bla:8080

    De todas formas, el primer lugar donde deberias buscar es en el registro de errores de apache, ahi se registran los errores que evitan que apache arranque debido a problemas de configuración, en centos este se encuentra en /var/log/httpd/ sin embargo en tu instalación podría estar en /var/log/apache

  14. Buenos días, tengo problemas soy administradora de red nueva y le he cambiado la contraseña al servidor y no me dí cuenta de cambiar la de server webmin y ahora no me carga la página en el servidor, por favor necesito ayuda que soy nueva en esto, espero me ayuden.

  15. ok, muchas gracias, te escribo hoy mismo, aprovecho que estoy de guardia y disculpa la molestia pero es que le he preguntado a varios colegas y nadie sabe darme respuesta, en realidad tengo varios problemas acá que me dejo es otro administrador de red que estaba y que por supuesto no me entrego nada, he tenido que batirme yo sola con esto y con ayuda de otros compañeros por supuesto sino no doy con nada, porque la verdad que llegue aquí en cero, nada espero me ayudes, en el e-mail te pondré todas mis dudas para ver si puedes ayudarme, saludos y muchas gracias nuevamente

  16. Buenos dias, te envie un correo y no me lo contestastes, pero nada, ya solucioné el problemita que tenia acá, de todas formas muchas gracias por tu ayuda, me enviastes la solicitud de amistad por Faceboock, pero nosotros en estos momentos no los quitaron y es por eso que no te he podido confirmar la solicitud en cuanto no los pongan te acepto como amigo, no ahi problemas, pero me puedes escribir al correo, saludos

Leave a Reply

Your email address will not be published. Required fields are marked *