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.