A Consellería de Educación e Ordenación Universitaria pon a disposición de todos os centros educativos de Galicia este servizo coa finalidade de dar soporte aos seus espazos web.

Cambios de configuración no servidor (centros.edu.xunta.es)

Coa finalidade de mellorar a seguridade deste servidor realizáronse os seguintes cambios:

  1. Desactivouse o acceso mediante webDAV.
  2. Suprimiuse o FtpWeb. Calquera subida de contidos deberá realizarse a través dun cliente ftp dende a rede educativa (rede do centro)
  3. O servidor xa non se comporta como cliente de internet. Esto siginifica que aquelas páxinas que obteñan contidos de sitios non aloxados no dominio edu.xunta.es, deixarán de funcionar. Para restaurar este servizo, deberá realizarse unha petición á UAC indicanto a url á que se desexa acceder e unha xustificación da necesidade do devandito acceso.
  4. O flag safe_mode de php activouse para todos os espazos sen excepción. Se algún centro precisa imperativamente que se lle desactive, deberá xustificalo cunha petición a UAC e certificar que o software que vai usar está actualizado e será mantido.
  5. Desactivaronse as utilidades contador de visitas e formmail. 


Cambio na configuración do servidor


Estimados usuarios.

Por motivos de seguridade e de funcionalidade do servidor de aloxamentos das aplicacións web dos centros neste servidor (centros.edu.xunta.es) vémonos na obriga de variar a súa configuración realizando as seguintes accións:

+ Register_globals:

- Configuración actual: register_globals = On

- Configuración futura: register_globals = Off

Este cambio puidera ser que provocase mal funcionamento nas páxinas creadas polos usuarios ou en paquetes de portais ou foros antigos, polo que será convinte que os administradores dos espazos web dos centros educativos revisen a codificación das súas páxinas e/ou aplicacións para comprobar que non sufrirán percance ningún co cambio desta configuración ou adaptalas segundo a necesidade.

As páxinas que forman parte do proxecto Webs dinámicas ofertado pola Consellería de Educación e O.U. non se verán afectadas por esta modificación así como aquelas outros espazos que empreguen paquetes actualizados ás versións máis recentes dos portais máis estendidos.

Para máis información sobre o cambio da directiva Register_globals pode visitar a páxina http://es.php.net/register_globals.

¿ Por qué se cortou sen previo aviso o servizo de aloxamento o luns día 26 de marzo ?

Contexto 

Tal e como se detallou no documento descritivo da actualización, os cambios realizados no servizo de aloxamento de páxinas web foron moi numerosos e inevitablemente van a ter impacto nas páxinas aloxadas na actualidade, sobre todo no relacionado coa nova versión de PHP (5.2) e coa nova codificación da base de datos MySQL (utf-8).

Problemas detectados 

Durante as primeiras horas do luns 26 de marzo, o equipo da Área de Sistemas e Comunicacións detectou os seguintes problemas:

  1. Algunhas aplicacións PHP estaban a visualizar incorrectamente os caracteres acentuados porque seguían a comunicarse coa base de datos utilizando a codificación latin1. Exemplos disto son Coppermine Photo Gallery e algunhas versións vellas Drupal e Moodle. O perigo non era tanto a visualización dos caracteres acentuados, senón o feito de que algunhas destas aplicacións estaban a almacenar a información na base de datos cunha codificación incorrecta.
  2. A nova ferramenta de administración de base de datos, phpMyAdmin, estaba a ofrecer un rendemento pésimo cando o número de tablas era alto. Esta situación prodúcese debido a unha deficiencia no rendemento por parte de MySQL no acceso ao esquema information_schema que devolve os metadatos da base de datos. Tal deficiencia é un bug recoñecido na actualidade por MySQL (#19588) que está previsto resolverse nas vindeiras versións.
  3. Algúns dos portais baseados en Drupal que se parchearon de oficio para evitar unha incompatibilidade no manexo das sesión relacionada coa nova versión de PHP non quedaron correctamente parcheados.
  4. Algunhas apliacións non permitían subir arquivos debido ás novas restriccións de seguridade implantadas na nova plataforma.
  5. Algunhas aplicacións preparadas para versións anteriores de PHP 5.2 amosan avisos relacionados con variables non definidas (undefined variable). Esto débese a que a partir da versión 5.0 de PHP é obrigatorio declarar todas as variables antes de utilizalas.

Medidas correctivas 

Dada a entidade dalgúns destes problemas decidiuse cortar o servizo e implementar as seguintes accións:

  1. Facer que, por defecto, todas as conexións coa base de datos establezan a codificación utf-8. Para elo configurouse o servidor MySQL para que cada conexión entrante faga un SET NAMES 'utf8'. A pesar deste cambio algunhas aplicacións poden seguir amosando incorrectamente os caracteres acentuados porque están preparadas para codificacións iso-8859-1 ou iso-8859-15. Nas próximas horas proporcionaranse neste portal guías explicativas sobre este tema.
  2. Actualizouse a versión de phpMyAdmin por unha que non faga uso intensivo do esquema information_schema. Deste xeito o problema de rendemento de phpMyAdmin quedou subsanado.
  3. Volveronse a parchear de oficio a maior parte das páxinas baseadas na ferramenta Drupal. Deste xeito, a maioría destas páxinas deberían funcionar correctamente.
  4. Reconfiguráronse as restriccións de seguridade axustando os parámetros para que a subida de arquivos volva a funcionar.
  5. Investigáronse posibles solucións para os avisos relacionados con variables non definidas. Neste caso, desgracidamente, non é posible aplicar de oficio parches correctivos. As aplicacións que amosen este tipo de avisos deben ser actualizadas dun dos seguintes xeitos:
  • Declarando as variables antes de utilizalas.
  • Chamando á función isset('<variable>') para comprobar se a variable está definida antes de utilizala.
  • Se a aplicación é xenérica, por exemplo software libre, descargar unha versión compatible con PHP 5.2 e actualizala.

Actualización do servidor

Motivación da actualización

Durante os días 20, 21, 22 e 23 o servizo de aloxamento de páxinas web estivo pechado para realizar unha actualización xeral da súa arquitectura. Os motivos que conducirón á planificación desta actualización foron numerosos e poderoros, podendo destacarse os seguintes:

  • O servizo estivo sen actualizarse globalmente dous anos, período no que somentes se aplicaron parches de seguridade.
  • O software base estaba obsoleto.
  • Recentemente producíronse incidentes de seguridade que non se puideron subsanar adecuadamente a través de parches sobre a arquitectura existente.
  • Moitos usuarios demandaban unha actualizacíón para poder instalar ferramentas educativas e de xestión de contidos máis recentes.

Arquitectura implantada

  • Sistema operativo: openSuSE 10.2
  • Base de datos: MySQL 5.0.26
  • Servidor web: 2.2.3
  • Linguaxe de programación de páxinas dinámicas: PHP 5.2.1

Proceso de actualización

O proceso da actualización non foi sinxelo para o equipo da Área de Sistemas e Comunicacións, xa que no servizo de aloxamento atópanse activos máis de 600 páxinas webs, todas elas moi diversas tecnolóxicamente. Baixo este contexto, calquera cambio, por moi pequeno que este sexa, pode xerar un gran impacto e inhabilitar moitas páxinas web. Coa finalidade de mitigar na medida do posible este impacto, foron realizados os seguintes cambios sobre as páxinas e bases de datos existentes na actualidade:

  • Aplicouse un parche a tódalas páxinas baseadas no sistema de xestión de contidos drupal, dado que as aloxadas no servizo non son totalmente compatibles coa nova versión de PHP. Para elo foron modificados os arquivos sites/default/settings.php e drupal/sites/default/settings.php. Pode atoparse unha copia do arquivo anterior coa extensión .old.
  • O charset o collation da base de datos mudaron cara utf8 e utf8_spanish_ci, respectivamente. Tódalas bases de datos foron convertidas a este novo xogo de caracteres. Somentes nesta estapa invertironse dous días completos de migración, sendo preciso executar procesos deseñados a media que tardaron máis de 10 horas en completarse. A complexidade desta conversión foi moi alta porque as bases de datos existenes non se atopaban todas no mesmo charset. Con todo, hai un pequeno número de excepcións nesta conversión:
  • As columnas que contiñan claves que en utf-8 superaban o máximo permitido por MySQL (1000 bytes) foron codificadas en latin1.
  • Durante a inserción dos datos existentes algunhas columnas con restriccións de unicidade conducían a duplicados porque o novo collation utf8_spanish_ci considera os caracteres con acento igual que os caracteres sin acento para que os resultados nunha ordenación sexan correctos. Estas columnas foron establecidas ao collation utf8_bin, que considera os caracteres anteriores como distintos, pero que ordenará os caracteres con acento despois dos que non teñen acento.

Novidades

A parte da actualización do software base, aa renovación da arquitectura de aloxamento aporta as seguintes novidades:

  • A codificación de todo o sistema está basada en utf8.
  • A carga de contidos pode realizarse dende fora da rede educativa mediante un cliente de FTP baseado en web.
  • A administración da base de datos realizarase con phpMyAdmin.
  • Entrou en funcionamento un portal específico dedicado ao servizo de aloxamento.

Problemas que poden presentarse coa nova arquitectura

A renovación da arquitectura pode producir os seguintes problemas:

  • Algunhas páxinas poden mostrar avisos ou deixar de funcionar totalmente debido ao cambio nas versións de MySQL e PHP. Os centros que se atopen nesta situación deberán actualizalas para que se axusten á nova arquitectura.
  • Algunhas páxinas poden amosar incorrectamente os caracteres acentuados porque o software de base que utilizan non soporta a nova codificación utf8. Os centros que se atopen nesta situación deberán o seu software para que opere coa nova codificación.

O futuro

No relacionado coa planificación futura deste servizo de aloxamento, o equipo da Área de Sistemas e Comunicacións establecerá como obxectivo realizar unha ou dúas actualizacións anuais do software base, dependendo da evolución dos sistemas e da carga de traballo do equipo.

 

Distribuir contenido