Cómo instalar Drupal en Debian 8 Jessie

Cómo instalar Drupal en Debian 8 Jessie

En esta entrada veremos cómo instalar Drupal en Debian 8 Jessie paso a paso, de modo que puedas disponer de este veterano CMS para ofrecer contenido web desde tu viejo servidor o VPS Debian.

Antes de instalar Drupal en Debian 8 Jessie

Para completar los pasos de esta guía de instalación de Drupal en Debian 8 Jessie será necesario partir de unos requisitos mínimos:

  • Una instalación de Debian 8 Jessie convenientemente actualizada.
  • Un entorno o pila tipo LAMP (servicio web con PHP y bases de datos).
  • Acceso a línea de comandos con un usuario con permisos de sudo (o root en su defecto).
  • Conexión a Internet.

En caso de que aún no dispongas del entorno necesario te puede interesar consultar nuestra guía de instalación de la pila LAMP en Debian 8 Jessie o la guía de instalación de PostgreSQL en Debian 8 Jessie.

Por otro lado, puedes integrar Drupal en el servicio web de Debian 8 de varias formas, ya sea el sitio principal, ya sea un servidor virtual, etc. En este tutorial integraremos Drupal como parte del sitio web principal. Aunque por motivos didácticos en este tutorial trabajamos sobre HTTP, lo adecuado es trabajar sobre HTTPS.

Cómo descargar Drupal para Debian 8 Jessie

Vamos a descargar Drupal para Debian 8 Jessie desde la página de descargas del proyecto, donde encontraremos la última versión dispnonible en paquetes con los formatos .zip y .tar.gz:

como descargar drupal para debian 8 jessie

Podemos realizar la descarga directamente desde el navegador o, como en este caso, desde consola con la herramienta wget:

~$ wget https://www.drupal.org/download-latest/tar.gz -O drupal.tar.gz

Cómo instalar Drupal en Debian 8 Jessie

Para instalar Drupal en Debian 8 Jessie debemos seguir una serie de pasos con la realización de ciertas tareas para preparar el sistema, de modo que el instalador web de Drupal corra finalmente sin encontrar obstáculos. Veamos estos pasos a continuación.

Archivos de Drupal

Descomprimimos el paquete que acabamos de descargar en la ubicación que nos interese con vistas a la forma de integrar la aplicación en el servicio web:

~$ sudo tar xf drupal.tar.gz -C /var/www/

Como la carpeta que se crea contiene números de versión en su nombre, es buena idea crear un enlace simbólico sin números para facilitar la configuración y mantenimiento:

~$ sudo ln -s /var/www/drupal-9.X.X/ /var/www/drupal

Debes especificar en el comando anterior el nombre del directorio que corresponda a la versión de Drupal que hayas descargado.

Drupal necesita escribir en algunas de sus carpetas, por lo que cambiamos la propiedad de sus archivos al usuario con el que corre el servicio web en Debian 8:

~$ sudo chown -R www-data:www-data /var/www/drupal/

Servicio web

Drupal tiene cierto enfoque hacia Apache como servicio web, haciendo uso de módulos como Headers, Rewrite y Expires, mediante configuraciones en archivos .htaccess, características todas ellas desactivadas por defecto en Debian 8 Jessie.

Comenzaremos activando los módulos:

~$ sudo a2enmod headers rewrite expires

Creamos una configuración de Apache para Drupal que haga navegable la aplicación:

~$ sudo nano /etc/apache2/sites-available/drupal9.conf

El contenido será un alias que utilizaremos para acceder a Drupal y la activación del uso de archivos .htaccess en el directorio de la aplicación:

Alias /drupal /var/www/drupal

<Directory /var/www/drupal>
        AllowOverride all
</Directory>

Guardamos los cambios y cerramos el archivo.

Si hemos integrado Drupal en el servicio web accesible en una ruta, como /drupal, en lugar de en un dominio o subdominio, editaremos el archivo .htaccess de la aplicación:

~$ sudo nano /var/www/drupal/.htaccess

Buscaremos esta directiva:

...
  # RewriteBase /drupal
...

La activaremos eliminando el carácter # inicial:

...
  RewriteBase /drupal
...

Guardamos los cambios.

Es el momento de activar la configuración:

~$ sudo a2ensite drupal9.conf

Y reiniciamos el servicio web para aplicar todos estos cambios:

~$ sudo systemctl restart apache2

PHP

Drupal exige la presencia en Debian 8 Jessie de ciertas extensiones que instalaremos desde los repositorios de la distribución, por lo que actualizamos las listas de paquetes:

~$ sudo apt update

E instalamos las extensiones necesarias:

~$ sudo apt install -y php-gd php-mbstring php-xml

Hay que asegurarse de disponer de la extensión para conectar con el servicio de bases de datos que usemos. En el caso de MariaDB/MySQL:

~$ sudo apt install -y php-mysql

O en el caso de PostgreSQL:

~$ sudo apt install -y php-pgsql

Terminada la instalación de las extensiones y sus dependencias aplicaremos los cambios recargando la configuración del servicio web:

~$ sudo systemctl reload apache2

Base de datos

Para su funcionamiento Drupal se apoya sobre el sistema de bases de datos que tengamos funcionando en Debian 8 Jessie. En este tutorial prepararemos los dos más usados y soportados por Drupal.

PostgreSQL

Creamos un rol con contraseña:

~$ sudo -u postgres createuser -P drupal9

Y su correspondiente base de datos:

~$ sudo -u postgres createdb drupal9 -O drupal9

MariaDB/MySQL

Conectamos al servicio con el cliente de consola mysql y un usuario administrador:

~$ mysql -u root -p

Creamos la base de datos:

> create database drupal9 character set utf8mb4 collate utf8mb4_unicode_ci;

Si se trata de MariaDB o MySQL 5 creamos el usuario de la forma habitual:

> create user drupal9@localhost identified by 'XXXXXXXX';

Aunque si trabajamos con MySQL 8 especificamos el plugin de conexión adecuado:

> create user drupal9@localhost identified with mysql_native_password by 'XXXXXXXX';

Concedemos los permisos necesarios al usuario sobre la base:

> grant all privileges on drupal9.* to drupal9@localhost;

Y cerramos la conexión:

> exit

Instalador web

Es el momento de acceder al instalador web de Drupal en Debian 9 desde un navegador.

Por ejemplo, la máquina Debian 8 que hemos utilizado para este artículo es accesible en el subdominio o nombre DNS debian8.local.lan, y hemos creado el alias /drupal, por lo que utilizaremos http://debian8.local.lan/drupal como URL de acceso:

como instalar drupal en debian 8 jessie

En la primera página del instalador elegimos el idioma y continuamos.

El siguiente paso será seleccionar el perfil de instalación:

instalar drupal en debian 8 jessie

Normalmente el perfil estándar es el recomendable, pero si necesitas otro seguramente sabrás cuál es.

A continuación debería mostrarse una página de verificación de requisitos, pero si has seguido los pasos anteriores se cumplirán todos, y el instalador saltará al siguiente paso.

Para configurar el servicio de bases de datos el instalador mostrará un formulario:

instalacion de drupal en debian 8 jessie

Introduciremos base de datos, usuario y contraseña tal como los creamos en pasos anteriores. El proceso es similar para los distintos sistemas de bases de datos que admite Drupal.

Continuamos y comenzará todo el proceso de inicialización de la base de datos, instalación de módulos y componentes, traducciones, etc.

instalador de drupal en debian 8 jessie

Terminada esta parte del proceso será el momento de configurar el nuevo sitio Drupal:

instalando drupal en debian 8 jessie

Proporcionaremos los datos para la identificación del sitio y para crear el usuario administrador.

El instalador completa la actualización de traducciones y finaliza el proceso de instalación, mostrando automáticamente la página principal de Drupal con la sesión iniciada:

drupal en debian 8 jessie

Y ya está todo listo para empezar a crear contenido web con Drupal en Debian 8 Jessie.

Tareas de post-instalación

Drupal ofrece un sistema de seguridad para impedir problemas de seguridad como «HTTP Host header spoofing«, permitiendo sólo el acceso a la aplicación usando los dominios deseados.

Para realizar este ajuset editamos el archivo de configuración settings.php:

~$ sudo nano /var/www/drupal/sites/default/settings.php

Buscaremos la sección de código para la variable trusted_host_patterns:

...
 * Trusted host configuration.
...
 * $settings['trusted_host_patterns'] = [
 *   '^example\.com$',
 *   '^.+\.example\.com$',
 *   '^example\.org$',
 *   '^.+\.example\.org$',
 * ];
...

Podemos ver un ejemplo de cómo configurar esta variable.

Como en nuestro ejemplo la URL de acceso es http://debian8.local.lan/drupal, el dominio sería debian8.local.lan, que es lo que especificaremos en este ajuste. Por tanto añadiríamos un bloque similar al siguiente:

...
$settings['trusted_host_patterns'] = [
        '^debian8\.local\.lan$',
];
...

El nombre del servidor se especifica como expresión regular, por lo que los puntos deben ir precedidos por el carácter «\». El carácter «^» significa «que empiece por» y el carácter «$» por su parte significa «que acabe por«.

Además, este ajuste es realmente una lista, así que si la máquina Debian 8 es accesible desde distintos dominios y quieres que Drupal permita ser accedido desde los mismos, puedes añadirlos dentro del bloque, separándolos por comas.

Una vez guardado el archivo, los cambios se aplican de inmediato.

Conclusión

Ahora que sabes cómo instalar Drupal 9 en Debian 8 Jessie ya puedes disfrutar de la última versión estable de este conocido CMS, de modo que podrás desplegar vistoso contenido web fácilmente.

En caso de dudas, preguntas, sugerencias, etc. puedes dejar algún comentario.

Y si has ahorrado un tiempo precioso gracias esta guía de instalación de Drupal en Debian 8 Jessie y quieres agradecérnoslo ayudando al mantenimiento de este sitio y la creación de nuevos tutoriales, puedes hacerlo invitándome a un café:

 

O dejando una propina en PayPal:

¡Gracias!

 

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 votos, promedio: 5,00 de 5)
Cargando...

Deja una respuesta