En esta ocasión veremos cómo instalar Drupal en openSUSE Leap 15.1, 15.2 y 15.3 paso a paso, de forma que podrás aprovechar tu servidor o VPS openSUSE para desplegar contenidos web a través de este reconocido CMS.
Contenido
Antes de instalar Drupal en openSUSE Leap 15
Si tienes la intención de completar los pasos de esta guía de instalación de Drupal en openSUSE Leap 15, debes asegurarte de partir al menos de los siguientes requisitos mínimos:
- Una máquina openSUSE Leap 15.1, 15.2 ó 15.3 actualizada.
- Una pila o entorno tipo LAMP (servicio web con PHP versión 7.3 ó superior y servicio de bases de datos, en el caso de MariaDB 10.3 ó superior).
- Acceso a línea de comandos con root o un usuario con permisos de sudo.
- Conexión a Internet.
En el caso de que aún no tengas configurado el entorno mínimo, es recomendable echar un vistazo previo a nuestra guía de instalación de la pila LAMP en openSUSE Leap 15.1.
Por otro lado, existen diversas posibilidades de integrar Drupal en el servicio web de openSUSE Leap 15, ya sea como sitio web principal, como un servidor virtual independiente o, como haremos en este tutorial, como parte del sitio web por defecto. Además es muy importante trabajar sobre HTTPS, pero para que cualquier lector pueda probar este tutorial, excepcionalmente trabajaremos sobre HTTP.
Cómo descargar Drupal para openSUSE Leap 15
Vamos a descargar Drupal para openSUSE Leap 15 desde la sección de descargas del sitio oficial de Drupal, donde encontraremos el paquete en formato .zip y en formato .tar.gz, siendo este último la opción más interesante para descarga:
Puedes realizar la descarga directamente desde el navegador, aunque en este tutorial copiaremos el enlace de descarga para usarlo en consola con el comando wget:
~> wget --content-disposition https://www.drupal.org/download-latest/tar.gz
Cómo instalar Drupal en openSUSE Leap 15
El proceso de instalar Drupal en openSUSE Leap 15 consiste en realidad en una serie de pasos previos para preparar el sistema antes de lanzar el instalador web. A continuación vamos a detallar todos los pasos necesarios.
Archivos de Drupal
Empezaremos preparando el directorio con los archivos de Drupal, ubicándolos en la ruta que hayamos decidido, según la forma en que integremos la aplicación en el servicio web. Como en este tutorial haremos Drupal parte del sitio web por defecto de la máquina openSUSE Leap 15 bastará con descomprimir el paquete en la carpeta principal de documentos web:
~> sudo tar xf drupal-9.X.X.tar.gz -C /srv/www/
El subdirectorio que se acaba de crear contiene el número de versión de Drupal, por lo que es interesante renombrarlo para facilitar las configuraciones posteriores y su mantenimiento (cambia el nombre del directorio según la versión que hayas descargado):
~> sudo mv /srv/www/drupal-9.x.x/ /srv/www/drupal
Como Drupal necesita escribir en su propio directorio de instalación, concederemos la propiedad del directorio y su contenido al usuario con el que corre el servicio web (wwwrun para Apache en openSUSE Leap 15):
~> sudo chown -R wwwrun:wwwrun /srv/www/drupal/
Base de datos
Vamos a crear el soporte de base de datos que necesita Drupal sobre el servicio que tengamos instalado en openSUSE Leap 15. En este tutorial cubriremos los dos motores de bases de datos más usados en Drupal 9 y openSUSE Leap 15.
MariaDB/MySQL
Conectamos al servicio mediante el cliente de consola mysql y algún usuario administrador:
~$ mysql -u root -p
Creamos la base de datos para Drupal:
> create database drupal9 charset utf8mb4 collate utf8mb4_unicode_ci;
En MariaDB o MySQL 5 creamos el usuario para administrar la base de datos de forma simple:
> create user drupal9@localhost identified by 'XXXXXXXX';
Pero si usas MySQL 8 hay que asegurarse de que el nuevo usuario utilice el plugin de autenticación correcto:
> create user drupal9@localhost identified with mysql_native_password by 'XXXXXXXX';
Concedemos suficientes permisos al usuario sobre la base:
> grant all privileges on drupal9.* to drupal9@localhost;
Y ya podemos cerrar la conexión:
> exit
PostgreSQL
Necesitamos un rol con contraseña:
~> sudo -u postgres createuser -P drupal9
Y la correspondiente base de datos que asociaremos al nuevo rol:
~> sudo -u postgres createdb drupal9 -O drupal9
Apache
Crearemos un archivo de configuración de Apache específico para Drupal 9:
~> sudo nano /etc/apache2/conf.d/drupal9.conf
El contenido será un alias para poder acceder a la aplicación y las opciones de configuración para el acceso:
Alias /drupal /srv/www/drupal <Directory /srv/www/drupal> Options FollowSymLinks AllowOverride all Require all granted </Directory>
Guardamos y cerramos el archivo.
Como Drupal 9 puede usar archivos de configuración .htaccess para Apache que, por defecto, están desactivados, hemos incluido la directiva AllowOverride para que sean tenidos en cuenta.
Gran parte de la configuración incluida en los archivos .htaccess está dirigida a los módulos Headers y Rewrite de Apache, que no están cargados por defecto. Si queremos aprovechar sus funcionalidades, deberíamos permitir la carga de estos módulos, tanto Headers:
~> sudo a2enmod headers
Como Rewrite:
~> sudo a2enmod rewrite
Ahora editaremos el archivo loadmodules.conf de la configuración de Apache:
~> sudo nano /etc/apache2/loadmodule.conf
Y añadimos al final del archivo la línea que cargará el módulo:
... LoadModule rewrite_module /usr/lib64/apache2-prefork/mod_rewrite.so LoadModule headers_module /usr/lib64/apache2-prefork/mod_headers.so
Guardamos los cambios, cerramos el archivo y ya sólo queda reiniciar el servicio Apache:
~> sudo systemctl restart apache2
PHP
Para el funcionamiento correcto de Drupal 9 será necesaria la presencia en openSUSE Leap 15 de ciertas extensiones de PHP, que instalaremos para asegurarnos de que estén disponibles. Previamente actualizaremos las listas de paquetes:
~> sudo zypper refresh
Y ya podemos instalar las extensiones con zypper:
~> sudo zypper install -y php7-APCu php7-curl php7-gd php7-mbstring php7-opcache
Es importante también instalar la extensión que corresponda al motor de bases de datos que hemos preparado, en el caso de PostgreSQL:
~> sudo zypper install -y php7-pgsql
Y en el de MariaDB/MySQL:
~> sudo zypper install -y php7-mysql
Recargamos la configuración del servicio web para activar estas extensiones:
~> sudo systemctl reload apache2
Instalación web
Es el momento de iniciar el instalador web de Drupal 9 para openSUSE 15 desde un navegador, empleando como URL la dirección IP o dominio del servidor openSUSE Leap 15 añadiendo el alias que hayamos creado.
En este tutorial, la máquina sobre la que trabajamos es accesible en el dominio opensuse15.local.lan, por lo que utilizaremos http://opensuse15.local.lan/drupal como URL:
En la primera página del instalador debemos elegir el idioma que nos interese para la instalación.
Continuaremos con la selección del perfil de instalación:
La opción habitual es la estándar, aunque si sabes lo que estás haciendo puedes elegir cualquiera de los otros dos.
A continuación debería mostrarse una página de verificación de requisitos del sistema, pero si has seguido las instrucciones previas el instalador la saltará, ya que se cumplirán todas las exigencias y recomendaciones.
Pasamos a la configuración de la base de datos:
Elegimos el motor de base de datos (si hay más de uno instalado en el openSUSE Leap 15) e introducimos los datos de conexión (base, usuario y contraseña) tal como los creamos anteriormente.
Comprobada la conexión, comenzará el proceso de instalación:
Instantes después tendremos que proporcionar la información para la configuración del sitio:
Crearemos la identidad del sitio y del usuario administrador del mismo.
Por último, se actualizarán las traducciones y al terminar todo el proceso de instalación se iniciará sesión automáticamente en Drupal con el administrador:
¡Ya puedes empezar a trabajar en tu nuevo sitio Drupal!
Post-instalación
Si has instalado Drupal en un servidor openSUSE Leap 15 para trabajar en Internet, es importante configurar el sitio para evitar ataques de tipo «HTTP Host Header«, lo que haremos editando el archivo de configuración settings.php:
~> sudo nano /srv/www/drupal/sites/default/settings.php
Buscaremos la configuración para la variable trusted_host_patterns y encontraremos tan solo comentarios y ejemplos de cómo configurar dicha variable:
... * For example: * @code * $settings['trusted_host_patterns'] = [ * '^www\.example\.com$', * ]; ...
Guiándonos con el ejemplo añadiremos una configuración similar fuera del bloque de comentarios, siguiendo el ejemplo de este tutorial para el dominio opensuse15.local.lan:
... $settings['trusted_host_patterns'] = [ '^opensuse15\.local\.lan$', ]; ...
Es importante transformar el nombre del dominio tal y como se muestra en el ejemplo.
Guardados los cambios, los ajustes hacen efecto de inmediato.
Conclusión
Ahora que sabes cómo instalar Drupal en openSUSE Leap 15.1, 15.2 y 15.3 ya puedes empezar a crear tu nueva comunidad de contenidos y usuarios, aprovechando todos los recursos que existen para este gran CMS.
Si te ha surgido alguna duda o pregunta, tienes alguna sugerencia de mejoras del artículo o quieres notificar algún error, puedes dejar un comentario.
¡Apoya comoinstalar.me!
¿Ya has puesto en marcha este gran CMS gracias a nuestra guía de instalación de Drupal en openSUSE Leap 15? Si es así y te apetece agradecérnoslo, la más mínima aportación ayuda mucho al mantenimiento de este sitio y la creación de más tutoriales para openSUSE Leap 15 y Drupal, y puedes hacerlo dejando 1 $ de propina desde PayPal:
O, si te sientes especialmente agradecido, invitándonos a un café:
¡Gracias!
Actualizado a la versión 9.3.8.