SPIP en Averroes
El servidor averroes ofrece espacio web a los centros de primaria y secundaria de la Junta de Andalucía. Averroes usa un proxy inverso de manera que cambia la url de acceso dependiendo de si accedemos desde dentro de la red corporativa (Centros TIC y demás) a si accedemos desde fuera de la red de la Junta. Las direcciones son del tipo:
– www.juntadeandalucia.es/averroes/centro (desde cualquier sitio)
– averroes.ced.junta-andalucia.es/centro (desde la red corporativa)
Los gestores de contenido (SPIP, Moodle, Joomla!, etc.) programados en PHP usan una variable php para almacenar la url principal del sitio que suele quedar fijada (durante la instalación) en alguno de sus ficheros de configuración. El existir dos urls hace que si hemos instalado desde una, no funcione desde la otra y/o viceversa.
Para solucionar el problema se crea una ’condicional’ en php:
– si detecta el proxy (si se accede desde dentro), usa la url de la red corporativo
– si no hay proxy (se accede desde fuera), usa la url normal
Evidentemente eso hay que expresarlo en lenguaje PHP y ponerlo en el fichero de configuración del CMS.
Averroes publicó la solución para Moodle y Joomla!. Yo conseguí la solución para el caso de SPIP (muy diferente en su funcionamiento al resto de CMS) y a raíz de ello (lo difundí y publiqué en mis cursos sobre SPIP en los CEPs de Almería y Córdoba) se consiguieron instalar en averroes las primeras web gestionadas con SPIP.
Durante los meses de Diciembre-2007 y Enero-2008 Averroes ha hecho cambios en sus servidores y mi solución para SPIP, aunque sigue funcionando si accedemos desde fuera de la red corporativa, ocasiona problemas de acceso al espacio privado desde dentro de la red de la Junta.
Averroes ha publicado (gracias a la insistencia de Alfonso Gómez) los nuevos cambios a realizar en la configuración de SPIP y se basan en una pequeña modificación de la solución que aporté para la versión anterior de Averroes.
La solución pasa por modificar el fichero /ecrire/inc/utils.php.
Fichero /ecrire/inc/utils.php original:
// cas particulier des sites filtres par un proxy entrant
// cf. http://trac.rezo.net/trac/spip/ticket/401
// le forwarded_host peut prendre plusieurs valeurs separees par des virgules
// chez ovh notamment
if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])){
$server = explode(',',$_SERVER['HTTP_X_FORWARDED_HOST']);
$server = trim(reset($server));
}
else
$server = $_SERVER['HTTP_HOST'];Fichero /ecrire/inc/utils.php que modifiqué para la versión antigua de averroes:
// cas particulier des sites filtres par un proxy entrant
// cf. http://trac.rezo.net/trac/spip/ticket/401
// le forwarded_host peut prendre plusieurs valeurs separees par des virgules
// chez ovh notamment
if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])){
// $server = explode(',',$_SERVER['HTTP_X_FORWARDED_HOST']);
// $server = trim(reset($server));
$server = 'www.juntadeandalucia.es/averroes'; // añadida Dani
}
else
// $server = $_SERVER['HTTP_HOST'];
server = 'averroes.ced.junta-andalucia.es'; // añadida DaniFichero /ecrire/inc/utils.php que funciona actualmente:
[(
// cas particulier des sites filtres par un proxy entrant
// cf. http://trac.rezo.net/trac/spip/ticket/401
// le forwarded_host peut prendre plusieurs valeurs separees par des virgules
// chez ovh notamment
$forwarders = $_SERVER["HTTP_X_FORWARDED_FOR"];
if ( ! strpos ($forwarders,"10.160.5")) {
$server = 'averroes.ced.junta-andalucia.es';
}
else
$server = 'www.juntadeandalucia.es/averroes';)]
Te recuerdo que debes modificar el /ecrire/inc/utils.php mediante un editor de texto plano (por ejemplo gedit en Linux), no uses un procesador tipo Word porque le añadirá un montón de basura y no funcionará.
Por tanto: descarga por ftp el /ecrire/inc/utils.php, modifícalo y súbelo de nuevo (sobreescribiendo el anterior).
lubrin.org
Software libre y Matemáticas