Administración de Drupal 8

Construir tu sitio web y liberarlo al mundo es una experiencia emocionante, y que a menudo trae consigo un gran orgullo y alegría. Si tu sitio tiene dos o tres páginas o cientos, desplegar un sitio web y ver tráfico en él es una experiencia gratificante y enriquecedora. El despliegue de tu sitio web es sólo un paso a lo largo del viaje; no es de ninguna manera el fin. Como propietario orgulloso de un sitio web, debes supervisarlo, nutrirlo, expandirlo y respaldarlo, todo lo cual está involucrado en la administración de tu sitio.

Administrar un sitio web de Drupal puede ser una tarea relativamente simple, dependiendo del tamaño de tu sitio, el número de usuarios con permisos de edición y el número de módulos instalados. En los últimos años, los proyectos web rara vez necesitan algo más que estar online y ver los registros del sitio. Hay otros sitios que requieren más atención, y la cantidad de atención realmente depende de los criterios que hemos mencionado.

Las tareas típicas de administración que debes considerar periódicamente incluyen:

  • Copia de seguridad del sitio para que puedas restaurarlo si sucede algo desastroso.

  • Copia de seguridad del sistema de archivos.

  • Comprobación de los registros para ver si hay algún error que necesitemos abordar.

  • Comprobación de la existencia de algún parche de seguridad en los módulos que tenemos instalados.

  • Comprobación de actualizaciones de módulos que debamos instalar.

  • Comprobación de alguna actualización del núcleo Drupal.

  • Aprobación de solicitudes de nuevas cuentas de usuario.

1.Copia de seguridad y restauración del sitio

Si no haces nada más en esta lista de tareas administrativas, al menos asegúrate de que tus datos sean seguros y recuperables en caso de desastre inesperado. Es fácil retrasar la copia de seguridad de tu sitio, ya que es probable que rara vez tengas que volver a restaurar tu sitio con una copia de seguridad. Pero hablando por experiencia, la primera vez que necesitas restaurar tu sitio pero no tienes una copia de seguridad es la última vez que no tendrás copias de seguridad en su lugar desde el principio. Tómalo de la voz de la experiencia: los pocos minutos que se tarda en configurar copias de seguridad se gastan bien.

Hay tres caminos a tomar para hacer copias de seguridad en tu nuevo sitio:

  1. Puedes utilizar las utilidades que tu proveedor de hosting te da para realizar una copia de seguridad de tu base de datos y directorios.

  2. Puedes utilizar un módulo de Drupal denominado Backup and Migrate para realizar una copia de seguridad automática de la base de datos de tu sitio en un horario definido y, lo más importante, para restaurar fácilmente tu sitio desde una copia de seguridad anterior.

  3. Puedes utilizar Drush para descargar una copia de tu sitio y base de datos.

Los tres enfoques funcionan igual de bien y el módulo Backup and Migrate es una solución perfecta para aquellos que están menos dispuestos a usar los comandos del sistema operativo para programar copias de seguridad y crear los scripts necesarios para realizar una copia de seguridad de su sitio Drupal. El primer enfoque es demasiado amplio para cubrir aquí, ya que varía en función del proveedor de hosting, por lo que veremos sólo los dos últimos enfoques. A continuación, veremos cómo restaurar un sitio que hayamos copiado con cualquiera de los métodos.

1.1.Copia de seguridad con el módulo Backup and Migrate

Deberás instalar el módulo Backup and Migrate, ya que no forma parte del núcleo de Drupal. Puedes encontrar detalles de este módulo en www.drupal.org/project/backup_migrate.

Para acceder a la página de configuración de Backup and Migrate, navega a http://localhost/admin/content/backup_migrate (sustituyendo http://localhost por la URL real donde reside tu sitio). Después de pulsar Enter, verás el panel de configuración para el módulo Backup and Migrate.

El primer paso para configurar el módulo es definir dónde se almacenarán los archivos de copia de seguridad en el servidor. Haz clic en la pestaña Destino en la parte superior de la página, para ver la página que se muestra en la figura 14-1.

Hay dos configuraciones de dónde se almacenarán los archivos: uno para copias de seguridad manuales, donde el administrador del sitio hace clic en el vínculo “Copia de seguridad ahora” y la copia automática. También puedes establecer la base de datos que deseas copiar. De forma predeterminada, el módulo detecta automáticamente la base de datos en la que se ejecuta tu sitio y establece el parámetro. Puedes optar por anular los directorios predeterminados y la base de datos que se establece durante el proceso de instalación del módulo, o puedes, como en el ejemplo, dejar los valores predeterminados.

Figura 14-1.

El siguiente paso es establecer la programación para copias de seguridad automáticas. Para ello, haz clic en la ficha Horarios en la parte superior de la página, mostrando las opciones de configuración de la figura 14-2. Si no has establecido una programación previamente, la página simplemente mostrará un enlace “Añadir programación”. Haz clic en ese enlace para ver los parámetros que puedes establecer para programar copias de seguridad. Primero, ingresa un nombre para la programación. Vamos a configurar las copias de seguridad sobre una base diaria, así que introduce “Backups diarias” en el nombre. A continuación, establece el campo “Copia de seguridad cada” en 1 día. Por último, establece el “Número de archivos de copia de seguridad para mantener” a 14, lo que significa que Drupal conservará 14 días de copias de seguridad antes de eliminar la más antigua y almacenar la más reciente. Esto ayuda contra el consumo de grandes cantidades de espacio en disco. Establece este valor cuidadosamente. Es posible que tengas requisitos legales en tu sector que requieran que mantengas archivos de copia de seguridad durante un cierto tiempo. Por último, haz clic en “Guardar programación”.

Figura 14-2.

Drupal hará automáticamente copia de seguridad del sitio sobre una base diaria. El último paso es realizar una copia de seguridad manual del sitio. Para ello, haz clic en la pestaña Copia de seguridad (ver figura 14-3). En la página resultante, selecciona la base de datos predeterminada como base de datos desde la que realizar la copia de seguridad, establece la opción “en” en el directorio de copias de seguridad manuales (también puedes seleccionar Descargar, que descargará la copia de seguridad a tu computadora) y verifica la opción “Usando” a los ajustes predeterminados. Por último, haz clic en el botón “Copia de seguridad ahora”.

Figura 14-3.

Cuando se completa la copia de seguridad, Drupal volverá a mostrar la pantalla con información que incluye el nombre del archivo de copia de seguridad que se generó, el directorio donde se almacenó y el tiempo que tardó la copia de seguridad en ejecutarse.

1.2.Copias de seguridad con Drush

El uso de Drush desde la línea de comandos proporciona una solución sencilla para aquellos que se sienten cómodos con la línea de comandos. Para realizar una copia de seguridad de la base de datos, simplemente ejecuta el siguiente comando Drush desde un símbolo del sistema mientras te sitúas dentro de la estructura de directorios de tu sitio, sustituyendo <filename> por el nombre del archivo que deseas crear:

Drush sql-dump -result-file = <filename>

Esto resulta en un volcado SQL que se crea y almacena en el directorio raíz de tu sitio Drupal. Si deseas realizar una copia de seguridad de todo el sitio, incluido el código, los archivos y la base de datos, utilliza Drush archive-dump, que da como resultado una carpeta con tres archivos, uno para la base de datos, otro para el código y otro para los archivos. En el caso de la descarga de archivos, Drush crea un nombre de archivo basado en la fecha y hora y los informes donde coloca ese archivo una vez finalizado el proceso.

2.Restaurar una copia de seguridad

Si, por alguna razón, necesitas restaurar el sistema en un estado previamente respaldado, puedes utilizar la misma herramienta que utilizaste para crear la copia de seguridad, tal como se describe a continuación.

2.1.Restaurar sitio con Backup and Migrate

Si necesitas restaurar el sistema desde una copia de seguridad creada con Backup and Migrate, vuelve a la página de administración de Backup and Migrate (http://localhost/admin/content/backup_migrate) y selecciona el archivo de copia de seguridad que deseas restaurar. Haz clic en la pestaña Destinos, revelando la lista de directorios de destino donde se almacenan las copias de seguridad (ver figura 14-4).

Figura 14-4.

Debido a que hicimos una copia de seguridad de nuestro sistema usando el proceso de copia de seguridad manual, haz clic en el vínculo “Listar archivos” para el Directorio de copias de seguridad manuales, mostrando la página de la figura 14-5.

Figura 14-5.

En este ejemplo, podríamos restaurar nuestro sistema al estado en que se encontraba en el momento en que realizamos la copia de seguridad manual simplemente haciendo clic en el vínculo “restaurar” para ese archivo de copia de seguridad. Si has programado las copias de seguridad activadas y no has realizado una copia de seguridad de tu sistema, el proceso descrito sería idéntico, con la excepción de seleccionar el vínculo de “archivos de lista” para el directorio de copias de seguridad programadas. Al hacer clic en ese enlace se mostraría una lista de archivos de copia de seguridad que se crearon automáticamente en función de la programación establecida en los pasos anteriores.

2.2.Restaurar sitio con Drush

El uso de Drush desde la línea de comandos proporciona una solución sencilla para aquellos que se sienten cómodos con la línea de comandos. Para restaurar la base de datos sólo a partir de una copia de seguridad creada utilizando Drush sql-dump simplemente ejecuta el siguiente comando drush desde un terminal mientras te sitúas dentro de la estructura de directorios de tu sitio (reemplazando example.sql por el nombre del archivo que creaste usando el comando sql-dump):

drush sql-connect < example.sql

Para restaurar un sitio completo desde un volcado de archivos, utiliza drush archive-restore <filename>, donde <filename> es el nombre del archivo que contiene el código, la base de datos y los archivos.

3.Copia de seguridad del sistema de archivos

El módulo Backup and Migrate sólo hace una copia de seguridad del contenido de su base de datos Drupal, todos los módulos aportados que hayas instalado, todos los temas que hayas instalado, las personalizaciones que hayas realizado en los módulos y cualquier archivo que los usuarios hayan subido, no serán guardados por Backup and Migrate.

Existen varias opciones para realizar una copia de seguridad del sistema de archivos:

  • Simplemente copiar todo el directorio de Drupal a otro destino (ej. descargar el sitio a tu PC local).

  • Copiar el directorio de Drupal en un USB/CD/DVD si se está ejecutando en tu ordenador.

  • En el caso de un entorno alojado, trabaja con tu proveedor para asegurarte de que tu directorio de Drupal está siendo respaldado con suficiente frecuencia para asegurar una interrupción mínima en caso de desastre.

  • Utiliza la línea de comandos y crea un archivo comprimido (ej. tar) del sitio.

Cualquiera que sea la opción elegida, debes realizar una copia de seguridad del sistema de archivos de forma frecuente si los usuarios están subiendo y adjuntando archivos al contenido (incluso diariamente, al igual que con tu programación de Backup and Migrate) y en caso de no estar permitido a los usuarios adjuntar archivos y cargar documentos, sigue siendo una buena idea hacer una copia de seguridad de tu sistema de archivos al menos una vez por semana (debido a las actualizaciones de módulos).

3.1.Restaurar el sistema de archivos

Para restaurar el sistema de archivos copia la copia de seguridad que creaste en los pasos anteriores y pega en el directorio raíz de tu sitio en el servidor. Si utilizaste una herramienta de compresión como tar o zip, descomprime el archivo en el directorio raíz.

4.Comprobación de los archivos de registro

Con las copias de seguridad en su lugar, la siguiente tarea administrativa es verificar periódicamente los archivos de registro para ver si hay errores en el sistema que deban corregirse (ej. errores de “página no encontrada”). Para ver los archivos de registro, haz clic en el enlace Informes del menú superior, que muestra una lista de informes disponibles para ayudarte a administrar tu nuevo sitio de Drupal (ver figura 14-6).

Figura 14-6.

Hay tres informes en los que nos centraremos en esta sección (puedes ver fácilmente los otros informes simplemente haciendo clic en los vínculos): Mensajes de registro recientes, Principales errores de “página no encontrada”, y Informe de estado.

4.1.Mensajes de registro recientes

Drupal proporciona un marco de trabajo rico para registrar eventos en el sistema que pueden ser de interés para alguien que esté administrando un sitio de Drupal.

Los desarrolladores de módulos y los principales mantenedores de Drupal aprovechan esta capacidad para registrar cualquier evento que consideren importante para garantizar una entrada en el archivo de registro. Si haces clic en el vínculo “Mensajes de registro recientes” verás un informe similar al de la figura 14-7.

Figura 14-7.

Tus mensajes serán diferentes de los mostrados en la figura 14-7, porque las acciones que has realizado serán diferentes. Esta lista de mensajes incluye tanto errores como eventos exitosos (ej. un usuario que inicia sesión en el sistema da como resultado una entrada de registro que muestra la fecha y la hora de la sesión). Simplemente haz clic en el mensaje para ver los detalles que el módulo o el desarrollador principal de Drupal considere apropiados para compartir con el administrador del sitio. El mejor recurso para resolver los errores que puedas encontrar es el sitio web de Drupal.org y la cola de problemas del módulo específico que está generando los errores. Si no encuentras respuestas en la página principal del módulo, el siguiente paso es consultar los foros en el sitio web de Drupal.org. Es altamente improbable que seas el primero en encontrar el error, y si lo eres, publicar una solicitud de ayuda en el foro normalmente resultará en una respuesta rápida de alguien que sabe cómo resolver el problema.

4.2.Errores principales de “página no encontrada”

Vuelve a la página principal de informes y clica en “Errores principales de página no encontrada” para ver una lista de errores “404” o “página no encontrada” (ver figura 14-8).

Figura 14-8.

Es importante comprobar este informe periódicamente para ver si los visitantes del sitio están haciendo clic en vínculos que están rotos.

Resolver los errores enumerados en esta página puede tomar alguna investigación y análisis de tu parte.

Desearás enfocarte en errores que tengan un recuento alto, ya que es probable que afecten a los visitantes del sitio. Para resolver los errores de la página no encontrada, tienes tres opciones básicas: ignorar los errores, crear una página que coincida con la URL que se informa como página no encontrada o crear reglas de redirección en tu archivo .htaccess para redirigir esas solicitudes a una URL válida.

4.3.Informe de estado

Se puede acceder a un informe general sobre la “salud” de tu sitio, desde la página Informes haciendo clic en el vínculo “Informe de estado”. Al hacer clic en este enlace se muestra una página que resalta las áreas clave de la instalación de Drupal que tienen una importancia relativamente alta (ver figura 14-9). Los elementos que se comprueban al ejecutar este informe incluyen si los archivos de configuración críticos están protegidos contra cambios no autorizados y si la base de datos está actualizada.

En Drupal 8, con el enfoque revisado para instalar módulos, es poco probable que la base de datos se vuelva obsoleta. Si se informa como desacutalizada, ejecuta el script http://localhost/core/update.php para sincronizar la base de datos con el estado actual de los módulos (reemplazando http://localhost por la URL real de donde reside tu sitio).

Figura 14-9.

Es más probable que veas problemas relacionados con el estado del núcleo de Drupal, los módulos aportados y los temas.

Si hay una versión actualizada de Drupal o si se ha actualizado un módulo o tema en Drupal.org, estos elementos aparecerán en amarillo.

5.Comprobación de actualizaciones y parches de seguridad

Si el informe de estado muestra que las actualizaciones de módulos o temas están disponibles, deberás comprobar qué tipos de actualizaciones están disponibles. Hay tres categorías generales de actualizaciones que querrás prestar atención tanto a medida que desarrolles tu nuevo sitio, como una vez que el sitio está en producción:

  • Parches de seguridad.

  • Actualizaciones de módulos.

  • Actualizaciones principales de Drupal.

En la mayoría de los casos, querrás abordar las actualizaciones de seguridad tan pronto como sea posible, mientras que puedes optar por actualizar las actualizaciones de módulos y las actualizaciones de Drupal sobre una base mensual, trimestral o incluso menos frecuente.

Las actualizaciones del módulo y del núcleo Drupal suelen solucionar los errores que se encontraron en un módulo o en el núcleo de Drupal y/o ofrecen nuevas funciones que se agregaron al módulo o al núcleo de Drupal. Como administrador del sitio, tendrás que determinar, al ver las notas de la versión de cada actualización, si la actualización es algo que debes hacer inmediatamente (ej. corregir un error con el que has tenido problemas en tu sitio) o retrasarlo.

Para comprobar si hay parches de seguridad o actualizaciones, haz clic en el enlace “Out of date” en el informe de estado junto al elemento de módulos y temas. El informe “Out of date” enumera todos los módulos y temas que has instalado en tu sitio y que tienen actualizaciones disponibles en Drupal.org. Es buena idea visitar la página de cada módulo en Drupal.org para ver si hay errores críticos reportados para la nueva versión del módulo, antes de decidir descargarlo e instalarlo. Se han dado casos en los que una nueva versión de un módulo aportado introdujo nuevos errores que no existían antes de la actualización. Es una buena idea revisar antes de actualizar.

Para instalar las actualizaciones de un tema o módulo, simplemente haz clic en “Descargar las actualizaciones”. Drupal descargará, instalará y activará automáticamente las actualizaciones (ver figura 14-10).

Figura 14-10.

En caso de actualizar el núcleo de Drupal, el proceso es un poco más complejo. Para actualizar el núcleo de Drupal:

  1. Asegúrate de hacer una copia de seguridad de tu base de datos.

  2. Asegúrate de hacer una copia de seguridad de todo tu directorio Drupal.

  3. Utilizando Drush, ejecuta el siguiente comando: drush up drupal

  4. Prueba tu sitio.

Un enfoque alternativo para actualizar el núcleo de Drupal es primero realizar una copia de seguridad de los directorios de módulos, perfiles, sitios y temas en el directorio raíz de tu sitio y los archivos .htaccess y web.config. Una vez que hayas obtenido copias de esos directorios, descarga el núcleo de Drupal y extrae el archivo en el directorio raíz de tu sitio. El proceso de extracción colocará Drupal en un subdirectorio con un nombre de la versión que descargaste (ej. drupal-8.0.0-beta7). Tendrás que mover todos los archivos de este subdirectorio al directorio raíz de tu sitio. Para hacerlo en Linux/OSX, utiliza los siguientes comandos:

mv * ../
mv .* ../

En otros sistemas operativos, utiliza las herramientas disponibles para mover archivos y directorios.

Una vez que hayas instalado Drupal en su lugar, procede a mover los directorios y archivos de la copia de seguridad a sus ubicaciones respectivas en el directorio raíz de tu sitio.

6.Aprobación de solicitudes de cuentas de usuario

Drupal permite al administrador del sitio, determinar cómo se crean las cuentas de usuario en su sitio web. Puedes:

Permitir que los visitantes del sitio creen sus propias cuentas sin la aprobación de un administrador.

Permitir que los visitantes del sitio registren una cuenta, pero que un administrador del sitio lo apruebe antes de permitir que el visitante utilice la cuenta.

Restringir la creación de cuenta sólo al administrador del sitio.

El enfoque que utilices es completamente dependiente de si permites que los visitantes tengan sus propias cuentas. No hay ninguna razón para proporcionar esta característica si no proporcionas funciones interactivas en tu sitio.

Si proporcionas capacidades limitadas para los usuarios autenticados (ej. si no habilitas los permisos de las características administrativas para la categoría genérica de “usuarios autenticados”) y no deseas molestarte en habilitar cuentas de usuario, crear cuentas sin aprobación es apropiado. Si deseas controlar quién tiene una cuenta, entonces desearás configurar tu sitio para que los visitantes puedan registrar una cuenta, pero han de ser aprobadas sus solicitudes antes de que sus cuentas se activen.

Para establecer cómo maneja tu sitio las cuentas de usuario, haz clic en el enlace Configuración en el menú superior, revelando la página principal de configuración de tu sitio. En esta página, verás una categoría de opciones para “Personas”. Dentro de esta categoría, verás un enlace para configuración de la cuenta. Haz clic en el enlace para mostrar la página de la figura 14-11.

Figura 14-11.

En esta página, encontrará una sección titulada Registro y cancelación. En la figura 14-11 se establece la opción donde los visitantes pueden registrar una cuenta de usuario, pero se requiere la aprobación del administrador.

Para ver cómo funciona esta función, haz clic en el enlace “Cerrar sesión” en la esquina superior derecha de la página, que te devolverá a la página principal de tu sitio como un usuario anónimo (no conectado al sitio).

En la columna izquierda, debajo del formulario de inicio de sesión, hay un enlace para “Crear nueva cuenta”. Haz clic en ese enlace para ver el formulario donde un nuevo usuario puede solicitar una nueva cuenta.

El visitante debe proporcionar un nombre de usuario y una dirección de correo electrónico válida para crear una cuenta nueva. Una vez que estos valores se han introducido y el visitante ha hecho clic en “Crear nueva cuenta”, Drupal vuelve a mostrar la página principal de tu sitio con un mensaje de que tu cuenta está pendiente de aprobación por el administrador del sitio.

Como administrador del sitio, debes ahora habilitar su cuenta. Para ello, haz clic en el enlace Personas en la parte superior de la página para ver la lista de usuarios de tu sitio (ver figura 14-12).

Figura 14-12.

En la figura 14-12 puedes ver que se creó una cuenta de usuario para toddtomlinson y que el estado del usuario se establece a Bloqueado, lo que significa que el usuario está bloqueado y no puede iniciar sesión en el sitio.

Si tu sitio tiene varias cuentas de usuario, tal vez desees filtrar la lista para encontrar sólo aquellas cuentas de usuario que están bloqueadas y, por tanto, deben activarse. Para filtrar la lista, haz clic en la lista de selección de estado en los campos de encima del botón Filtro y selecciona “Bloqueado”.

A continuación, haz clic en el botón Filtro para limitar la lista de usuarios que se muestran en la página sólo a aquellos que están bloqueados y deben activarse. Haz clic en la casilla de verificación junto a cada uno de los usuarios que deseas activar y asegúrate de que la lista de selección Opciones de actualización esté configurada como “Desbloquear el usuario seleccionado”. Haz clic en el botón Actualizar.

Una vez que las actualizaciones han completado la columna Estado ahora muestra que nuestro nuevo usuario, toddtomlinson, está activo (ver figura 14-13).

Figura 14-13.