¿Cómo preparo mi sitio para Ubuntu Bionic?

A continuación te proporcionamos información para ayudarte a preparar tu sitio para la actualización de Ubuntu de Trusty Tahr a la versión 18.04.1 LTS (también conocida como Bionic).

¿Qué esperar?

DreamHost se comunicará contigo por correo electrónico antes de la actualización.

El período de tiempo de una actualización puede variar de un servidor a otro, sin embargo, este tiempo garantiza que haya varios ingenieros altamente capacitados disponibles en caso de que surjan problemas importantes. La actualización en sí no debería tardar más de una hora en completarse.

No se podrá acceder a ningún servicio que dependa de la disponibilidad de tu servidor MySQL (WordPress o cualquier otro sitio web basado en bases de datos, aplicaciones, etc.) hasta que se complete la actualización. Esto NO afectará a la nube o servicios de correo electrónico.

Comprobar la versión de Ubuntu

Como se mencionó anteriormente, recibirás un correo electrónico informándote de la actualización de tu servidor. Sin embargo, esto puedes verificar manualmente a través de SSH.

El siguiente comando confirma que el servidor todavía está ejecutando Ubuntu 14.

[server]$ cat /etc/issue
Ubuntu 14.04.5 LTS \n \l

Y esto muestra un servidor que ejecuta Ubuntu 18.

[server]$ cat /etc/issue
Ubuntu 18.04.1 LTS \n \l

MySQL

Cambios de servidor

Los servidores DreamHost MySQL se actualizarán a la versión MySQL a 5.7 como parte de la actualización de Ubuntu.

Palabras reservadas

MySQL 5.7 incluye una lista de palabras 'reservadas' (como ‘SELECT’, ‘BORRAR’, ‘BIGINT’ y ‘VIRTUAL’) que no se pueden usar como nombre de una base de datos y deben evadidas. Estas palabras están reservadas y requieren un tratamiento especial para tu uso como identificadores, como nombres de tablas y columnas. Por favor, visita el artículo sobre palabras clave reservadas de MySQL para obtener más información.

Cambios en el servidor web

Cambio de versión de Apache (de 2.2 a 2.4))

Apache está actualizando a la versión 2.4 (desde 2.2). Aunque esto no debería causar problemas importantes a tu entorno de alojamiento, puedes ver una lista de cambios en el siguiente artículo:

require valid-user

Si estás utilizando un archivo .htaccess para proteger con contraseña tu sitio, asegúrate de agregar esta línea a tu archivo .htaccess:

require valid-user

Si no agregas esto, tu sitio arrojará un error 500 y la siguiente línea se mostrará en el error.log de tu sitio:

AH01627: AuthType configured with no corresponding authorization directives

La página 'Próximamente' se muestra aunque no exista

Puedes ver tu sitio mostrando una página 'Próximamente' que no existe en tu servidor web. Agrega la siguiente línea al archivo .htaccess de tu sitio para resolver esto.

DirectoryIndex disabled

El listado de archivos de WebDAV oculto si el índice está presente

En Apache 2.4, debes agregar el siguiente texto al archivo .htaccess para acceder al directorio de un archivo de índice usando WebDAV (no un navegador), ya que no mostrará la lista de archivos en el Explorador de Windows:

DirectoryIndex disabled

Boto-rsync

Debido a que boto-rsync es un software desactualizado y ya no se está en desarrollo, también se elimina de la última versión de Ubuntu Bionic. DreamHost te recomienda usar S3cmd en su lugar. Puedes encontrar más información sobre cómo usar S3cmd (o AWS CLI) en DreamHost en los siguientes artículos:

FFmpeg y Libav

Ambas bibliotecas están cambiando en la actualización Bionic de Ubuntu.

En Ubuntu Trusty, Libav reemplazó a FFmpeg, y FFmpeg fue eliminado de Trusty por completo. Con la actualización de Bionic, esto se está revirtiendo: FFmpeg está de vuelta y Libav se ha eliminado. Por favor, asegúrate de actualizar la configuración de tu archivo en consecuencia.

Cambio de sintaxis de FilterProvider

En Apache 2.4, la sintaxis de FilterProvider ha cambiado.

Ejemplo de la antigua versión:

FilterProvider COMPRESS DEFLATE resp=Content-Type $text/html

Ejemplo de la nueva versión:

FilterProvider COMPRESS DEFLATE "%{Content_Type} = 'text/html'"

Puedes leer más sobre esto en la documentación de mod_filter de Apache 2.4:

Cambio de versión de GCC a 7

Bionic incluye gcc-7, lo que significa que las versiones de Ruby anteriores a 2.4 ya no son compatibles, ya que requieren gcc-6.

Los sitios que se basan en versiones de Ruby anteriores a Ruby 2.4 deben migrarse a una versión más reciente.

Cambio de versión de Java (de 7u151 a 8u171)

Ubuntu Bionic incluye una nueva versión de Java versión 8, 8u171.

Esta es la primera actualización importante en bastante tiempo, por lo que definitivamente es una buena idea asegurarse de que las dependencias de Java que tengas sean compatibles con la versión 8.

Para obtener más información sobre las últimas versiones de Java, visita el siguiente enlace:

Cambio de versión de OpenSSL (1.0.1f a 1.1.0g)

Bionic incluye la versión 1.1.0g de OpenSSL.

Passenger

Para habilitar las páginas amigables con errores de Passenger (que ayudan a solucionar problemas de actualización), agrega lo siguiente a un archivo .htaccess dentro de la aplicación:

PassengerFriendlyErrorPages on

Cambio de versión de Perl (de 5.18.4 a 5.26)

Ubuntu Bionic incluye una nueva versión de Perl, 5.26. Entre los muchos cambios, esta actualización elimina el directorio actual (".") De @INC por razones de seguridad. Puedes leer sobre esto con más detalle aquí.

Para obtener más información sobre la actualización de tu versión de Perl, visita el siguiente artículo:

Registro de errores de PHP

Los errores de PHP se registran en el archivo error.log de tu sitio por defecto. Tu cambias los errores que se registran y la ubicación en donde se registran al actualizar el archivo phprc de tu sitio. Visita el siguiente artículo para más detalles:

Cambios en la versión de Python

Las siguientes versiones de Python están cambiando:

  • Python 2 (de 2.7.5 a 2.7.15)
  • Python 3 (de 3.4.3 a 3.6.5)

Dado que Bionic incluye un nuevo kernel y sistema operativo, ya no admite versiones compiladas personalizadas de Python anteriores a 2.7.15. Si estás ejecutando una aplicación que usa una versión de Python que es más antigua que 2.7.15, debes actualizar tu código para que sea compatible con al menos 2.7.15 cuando así sea necesario.

Si necesitas usar una versión de Python más antigua que 2.7.15, puedes considerar usar DreamCompute para configurar un entorno personalizado que permita el acceso a sudo. Para obtener más información sobre DreamCompute, visita el siguiente artículo:

Ubuntu Bionic incluye una nueva versión de Python 2 (2.7.15) y Python 3 (3.6.5). Si usaste una versión anterior a 2.7.15 al crear tu virtualenv, es posible que debas volver a instalar tu virtualenv y todos los módulos con una versión más nueva:

Para obtener más información sobre las últimas versiones de Python, visita los siguientes enlaces:

Errores de Python Django

Después de la actualización, es posible que veas errores en tu aplicación Django. Por ejemplo.

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: libmysqlclient.so.18: cannot open shared object file: No such file or directory.
Did you install mysqlclient or MySQL-python?

Solución

Borra tu directorio pip .cache.

Entorno virtual de Python

Si tu sitio web utiliza un entorno virtual Python y observas algún error después de la actualización, vuelve a instalar tu entorno virtual y todos los módulos. Esto ayuda a garantizar que todo sea compatible con las nuevas bibliotecas en el servidor.

Algunos ejemplos de errores que puedes ver son los errores o advertencias de Django, Passenger o Python.

Cambio de versión de Ruby (de 1.9.3.4 a 2.5.1)

La versión de Ruby en el servidor está cambiando a 2.5.1. Si deseas más control sobre esto, DreamHost recomienda el uso de RVM.

Si estás utilizando Bundler, solo necesitas ejecutar:

[server]$ bundle exec gem pristine

Luego, vuelve a cargar Passenger para que los cambios surtan efecto ejecuta touch en un archivo restart.txt del directorio de aplicaciones 'tmp':

[server]$ touch  tmp/restart.txt

Cambio de versión SSH a 7.6p1

La versión de SSH en los servidores Bionic es 7.6p1. Ten en cuenta que las claves DSA no están disponibles en esta versión.

Telnet

Debido a que Telnet es un protocolo obsoleto, se elimina de la última versión de Ubuntu Bionic para ayudar a mantener tu servidor seguro. Si necesitas telnet, DreamHost recomienda que lo ejecutes en tu computadora local.

¿Cómo puedo encontrar apoyo?

Si tienes alguna pregunta o inquietud, no dudes en ponerse en contacto el Equipo de Soporte.

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.