Flarum instalación · 19 min read · Oct 20, 2025

Cómo instalar el software de comunidad Flarum en Debian 12

Flarum es un software de comunidad de código abierto diseñado para crear y gestionar foros en línea de manera sencilla. Construido con una interfaz moderna y elegante, Flarum ofrece una experiencia de usuario optimizada para el rendimiento y la simplicidad. Es altamente personalizable a través de un robusto sistema de extensiones, permitiendo a los administradores adaptar sus foros a necesidades y preferencias específicas. Flarum soporta diseño responsivo, asegurando compatibilidad en varios dispositivos y características como notificaciones en tiempo real, incrustación de medios enriquecidos y herramientas de moderación sin interrupciones. Su base en PHP y MySQL lo hace accesible a una amplia gama de entornos de alojamiento web, atrayendo a pequeñas comunidades y grandes organizaciones que buscan una plataforma eficiente para discusiones en línea.

En este tutorial, aprenderemos cómo instalar el software de comunidad Flarum en un servidor basado en Debian 12.

Prerrequisitos

  • Un servidor que ejecute Debian 12.
  • Un usuario no root con privilegios de sudo.
  • Un Nombre de Dominio Totalmente Calificado (FQDN) como flarum.example.com apuntando a tu servidor.
  • Asegúrate de que tu servidor tenga almacenamiento de intercambio habilitado si estás en un servidor con 1GB de RAM.
  • Asegúrate de que todo esté actualizado. $ sudo apt update && sudo apt upgrade
  • Flarum requiere algunos paquetes esenciales para funcionar. Algunos de estos ya estarán en tu servidor. $ sudo apt install curl wget nano software-properties-common dirmngr apt-transport-https ca-certificates lsb-release debian-archive-keyring gnupg2 ufw unzip -y

Paso 1 - Configurar el Firewall

El primer paso es configurar el firewall. Debian viene con ufw (Firewall Sin Complicaciones) por defecto.

Verifica si el firewall está en funcionamiento.

$ sudo ufw status

Obtendrás la siguiente salida.

Estado: inactivo

Permite el puerto SSH para que el firewall no interrumpa la conexión actual al habilitarlo.

$ sudo ufw allow OpenSSH

Permite también los puertos HTTP y HTTPS.

$ sudo ufw allow http
$ sudo ufw allow https

Habilita el Firewall

$ sudo ufw enable
El comando puede interrumpir las conexiones ssh existentes. ¿Proceder con la operación (y|n)? y
El firewall está activo y habilitado al inicio del sistema

Verifica el estado del firewall nuevamente.

$ sudo ufw status

Deberías ver una salida similar.

Estado: activo

Para                         Acción      Desde
--                         ------      ----
OpenSSH                    PERMITIR    En cualquier lugar
80/tcp                     PERMITIR    En cualquier lugar
443                        PERMITIR    En cualquier lugar
OpenSSH (v6)               PERMITIR    En cualquier lugar (v6)
80/tcp (v6)                PERMITIR    En cualquier lugar (v6)
443 (v6)                   PERMITIR    En cualquier lugar (v6)

Paso 2 - Instalar Nginx

Debian 12 viene con una versión más antigua de Nginx. Para instalar la última versión, necesitas descargar el repositorio oficial de Nginx.

Importa la clave de firma de Nginx.

$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
    | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

Agrega el repositorio para la versión estable de Nginx.

$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/debian `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list

Actualiza los repositorios del sistema.

$ sudo apt update

Instala Nginx.

$ sudo apt install nginx

Verifica la instalación. En sistemas Debian, el siguiente comando solo funcionará con sudo.

$ sudo nginx -v
nginx version: nginx/1.24.0

Inicia el servidor Nginx.

$ sudo systemctl start nginx

Verifica el estado del servicio.

$ sudo systemctl status nginx
? nginx.service - nginx - servidor web de alto rendimiento
     Cargado: cargado (/lib/systemd/system/nginx.service; habilitado; preestablecido: habilitado)
     Activo: activo (en ejecución) desde Thu 2023-11-09 12:08:18 UTC; hace 1s
       Docs: https://nginx.org/en/docs/
    Proceso: 1957 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (código=salió, estado=0/ÉXITO)
   PID principal: 1958 (nginx)
      Tareas: 2 (límite: 1107)
     Memoria: 1.7M
        CPU: 6ms
     CGroup: /system.slice/nginx.service
             ??1958 "nginx: proceso maestro /usr/sbin/nginx -c /etc/nginx/nginx.conf"
             ??1959 "nginx: proceso trabajador"

Abre la dirección IP de tu servidor en tu navegador web. Deberías ver la siguiente página, lo que significa que tu servidor está en funcionamiento.

Página predeterminada de Nginx

Paso 3 - Instalar PHP

Debian 12 viene con PHP 8.2 por defecto. Puedes instalarlo ejecutando el siguiente comando.

$ sudo apt install php-cli php-fpm php-mysql php-xml php-gd php-json php-mbstring php-zip php-curl -y

Para mantenerte siempre en la última versión de PHP o si deseas instalar múltiples versiones de PHP, agrega el repositorio PHP de Ondrej.

Primero, importa la clave GPG del repositorio de Sury.

$ sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg

Agrega el repositorio PHP de Ondrej Sury.

$ sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'

Actualiza la lista de repositorios del sistema.

$ sudo apt update

A continuación, instala PHP y sus extensiones requeridas por Flarum.

$ sudo apt install php-cli php-fpm php-mysql php-xml php-gd php-json php-mbstring php-zip php-curl -y

Verifica si PHP está funcionando correctamente.

$ php --version

Deberías ver una salida similar.

PHP 8.2.12 (cli) (construido: Oct 27 2023 13:00:10) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.12, Copyright (c) Zend Technologies
    con Zend OPcache v8.2.12, Copyright (c), por Zend Technologies

Paso 4 - Instalar Composer

Composer es un gestor de dependencias para PHP. Flarum necesita Composer para instalar y ejecutar varios componentes.

Ejecuta los siguientes comandos para instalar Composer. Primero, obtenemos el instalador, verificamos el hash para verificarlo y luego ejecutamos el instalador usando la línea de comandos de PHP. Luego, movemos el binario al directorio /usr/local/bin.

$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Instalador verificado'; } else { echo 'Instalador corrupto'; unlink('composer-setup.php'); } echo PHP_EOL;"
$ php composer-setup.php
$ php -r "unlink('composer-setup.php');"
$ sudo mv composer.phar /usr/local/bin/composer

Verifica si Composer está instalado correctamente.

$ composer --version
Composer version 2.6.5 2023-10-06 10:11:52

Paso 5 - Instalar MariaDB

MariaDB es un reemplazo directo para MySQL, lo que significa que los comandos para ejecutar y operar MariaDB son los mismos que para MySQL.

Debian 12 viene con MariaDB 10.11.4 por defecto, que está un poco desactualizado. Necesitas usar el repositorio oficial para obtener la última versión estable de MariaDB.

Importa la clave GPG de MariaDB.

$ sudo curl -o /usr/share/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp'

Crea el archivo de repositorio de MariaDB.

$ echo "deb [signed-by=/usr/share/keyrings/mariadb-keyring.pgp] https://deb.mariadb.org/10.11/debian `lsb_release -cs` main" | sudo tee /etc/apt/sources.list.d/mariadb-server.list

Actualiza la lista de repositorios del sistema.

$ sudo apt update

Emite el siguiente comando para instalar el servidor MariaDB.

$ sudo apt install mariadb-server -y

Verifica si MariaDB está instalado correctamente.

$ mysql --version

Deberías ver la siguiente salida.

mysql  Ver 15.1 Distrib 10.11.6-MariaDB, para debian-linux-gnu (x86_64) usando  EditLine wrapper

También puedes usar mariadb --version para verificar la versión.

El servicio de MariaDB ya está habilitado y en funcionamiento. Verifica su estado usando el siguiente comando.

$ sudo systemctl status mariadb
? mariadb.service - servidor de base de datos MariaDB 10.11.6
     Cargado: cargado (/lib/systemd/system/mariadb.service; habilitado; preestablecido: habilitado)
    Drop-In: /etc/systemd/system/mariadb.service.d
             ??migrated-from-my.cnf-settings.conf
     Activo: activo (en ejecución) desde Tue 2023-11-14 08:42:03 UTC; hace 4min 1s
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
    Proceso: 74903 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (código=salió, estado=0/ÉXITO)
    Proceso: 74904 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (código=salió, estado=0/ÉXITO)
    Proceso: 74906 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR>
    Proceso: 74946 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (código=salió, estado=0/ÉXITO)
    Proceso: 74948 ExecStartPost=/etc/mysql/debian-start (código=salió, estado=0/ÉXITO)
   PID principal: 74935 (mariadbd)
     Estado: "Ahora aceptando tus solicitudes SQL..."
      Tareas: 9 (límite: 1107)
     Memoria: 214.9M
        CPU: 627ms
     CGroup: /system.slice/mariadb.service
             ??74935 /usr/sbin/mariadbd

Ejecuta el siguiente comando para realizar la configuración predeterminada, como establecer una contraseña de root, eliminar usuarios anónimos, deshabilitar el inicio de sesión remoto de root y eliminar tablas de prueba.

$ sudo mariadb-secure-installation

Se te pedirá tu contraseña de root. Dado que no tenemos ninguna contraseña de root establecida, presiona la tecla Enter para continuar.

NOTA: ¡SE RECOMIENDA EJECUTAR TODAS LAS PARTES DE ESTE SCRIPT PARA TODOS LOS SERVIDORES MariaDB EN USO EN PRODUCCIÓN!  ¡LEA CADA PASO CUIDADOSAMENTE!

Para iniciar sesión en MariaDB y asegurarla, necesitaremos la contraseña actual para el usuario root. Si acabas de instalar MariaDB y no has establecido la contraseña de root, solo debes presionar enter aquí.

Ingrese la contraseña actual para root (presione enter si no hay): [PRESIONE ENTER]
OK, se utilizó la contraseña con éxito, avanzando...

A continuación, se te preguntará si deseas cambiar al plugin unix_socket. El plugin unix_socket te permite iniciar sesión en MariaDB con tus credenciales de usuario de Linux. Elige n para omitir el cambio a este, ya que ya tienes una cuenta de root protegida.

Establecer la contraseña de root o usar el unix_socket asegura que nadie
pueda iniciar sesión en el usuario root de MariaDB sin la autorización adecuada.

Ya tienes tu cuenta de root protegida, así que puedes responder 'n' de forma segura.

Cambiar a autenticación unix_socket [Y/n] n
 ... omitiendo.

A continuación, se te preguntará si deseas cambiar tu contraseña de root. En Debian 12, la cuenta de root para MariaDB está estrechamente vinculada al mantenimiento automatizado del sistema, por lo que no debes cambiar los métodos de autenticación configurados para la cuenta. Hacerlo permitiría que una actualización de paquete interrumpa el sistema de base de datos al eliminar el acceso a la cuenta administrativa. Escribe n para continuar.

Ya tienes tu cuenta de root protegida, así que puedes responder 'n' de forma segura.

¿Cambiar la contraseña de root? [Y/n] n
 ... omitiendo.

A partir de aquí, presiona y y luego Enter para aceptar los valores predeterminados para todas las preguntas siguientes. Esto eliminará el acceso a usuarios anónimos, bases de datos de prueba, deshabilitará el inicio de sesión remoto de root y cargará los cambios.

Por defecto, una instalación de MariaDB tiene un usuario anónimo, lo que permite a cualquiera
iniciar sesión en MariaDB sin tener que tener una cuenta de usuario creada para
ellos.  Esto está destinado solo para pruebas, y para hacer que la instalación
sea un poco más fluida.  Debes eliminarlos antes de pasar a un
entorno de producción.

¿Eliminar usuarios anónimos? [Y/n] y
 ... ¡Éxito!

Normalmente, solo se debe permitir que root se conecte desde 'localhost'.  Esto
asegura que alguien no pueda adivinar la contraseña de root desde la red.

¿Deshabilitar el inicio de sesión remoto de root? [Y/n] y
 ... ¡Éxito!

Por defecto, MariaDB viene con una base de datos llamada 'test' a la que cualquiera puede
acceder.  Esto también está destinado solo para pruebas, y debe eliminarse
antes de pasar a un entorno de producción.

¿Eliminar la base de datos de prueba y el acceso a ella? [Y/n] y
 - Eliminando base de datos de prueba...
 ... ¡Éxito!
 - Eliminando privilegios sobre la base de datos de prueba...
 ... ¡Éxito!

Recargar las tablas de privilegios asegurará que todos los cambios realizados hasta ahora
se efectúen de inmediato.

¿Recargar tablas de privilegios ahora? [Y/n] y
 ... ¡Éxito!

Limpiando...

¡Todo listo!  Si has completado todos los pasos anteriores, tu instalación de MariaDB
ahora debería estar segura.

¡Gracias por usar MariaDB!

Eso es todo. La próxima vez que desees iniciar sesión en la consola de MariaDB, usa el siguiente comando.

$ sudo mysql

Ingresa tu contraseña de root de Linux cuando se te pida.

Bienvenido al monitor de MariaDB.  Los comandos terminan con ; o \g.
Tu ID de conexión a MariaDB es 39
Versión del servidor: 10.11.6-MariaDB-1:10.11.6+maria~deb12 distribución binaria de mariadb.org

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab y otros.

Escribe 'help;' o '\h' para ayuda. Escribe '\c' para borrar la declaración de entrada actual.

MariaDB [(none)]>

Presiona exit para cerrar la consola de MariaDB.

Paso 6 - Configurar MariaDB

Inicia sesión en la consola de MariaDB.

$ sudo mysql

Crea una nueva base de datos MySQL, un usuario de base de datos y una contraseña para tu instalación de Flarum.

MariaDB> CREATE DATABASE flarum;
MariaDB> CREATE USER 'flarumuser'@'localhost' IDENTIFIED BY 'yourpassword';
MariaDB> GRANT ALL PRIVILEGES ON flarum.* TO 'flarumuser'@'localhost';

Reemplaza flarum, flarumuser y yourpassword con las credenciales de tu elección. Elige una contraseña fuerte.

Además, crea un usuario administrativo con las mismas capacidades que la cuenta root.

MariaDB> GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Recarga los privilegios para asegurarte de que se guarden en la sesión actual.

MariaDB> FLUSH PRIVILEGES;

Sal de la consola de MariaDB.

MariaDB> exit

Paso 7 - Instalar Flarum

Crea un directorio donde vivirá Flarum.

$ sudo mkdir /var/www/flarum -p

Usar la directiva -p crea directorios padres que no existían antes.

Cambia la propiedad del directorio de Flarum al usuario de Linux actualmente conectado para que puedas realizar comandos sin usar sudo.

$ sudo chown -R $USER:$USER /var/www/flarum

Navega a la carpeta de instalación.

$ cd /var/www/flarum

Descarga e instala Flarum usando Composer.

$ composer create-project flarum/flarum .

Cambia la propiedad del directorio de Flarum a nginx para el servidor Nginx.

$ sudo chown -R nginx:nginx /var/www/flarum

Permite el acceso de escritura al directorio.

$ sudo chmod 775 -R /var/www/flarum

A partir de aquí, Composer necesitará permisos de sudo para ejecutarse, lo cual no se recomienda. También puedes cambiar los permisos de grupo del directorio a tu usuario de Linux y cambiarlos de nuevo a nginx después de que termines con Composer. Esta no es una solución ideal, ya que requiere que realices los mismos comandos repetidamente. Una solución más permanente es agregar tu nombre de usuario al grupo nginx. Ejecuta el siguiente comando para agregar tu usuario de Linux actualmente conectado al grupo nginx.

$ sudo usermod -a -G nginx $USER

Para aplicar la nueva membresía de grupo, cierra sesión del servidor y vuelve a iniciar sesión, o escribe lo siguiente.

su - ${USER}

Paso 8 - Instalar SSL

Necesitamos instalar Certbot para generar el certificado SSL. Puedes instalar Certbot usando el repositorio de Debian o obtener la última versión usando la herramienta Snapd. Usaremos la versión de Snapd.

Debian 12 no viene con Snapd instalado. Instala el paquete Snapd.

$ sudo apt install snapd

Ejecuta los siguientes comandos para asegurarte de que tu versión de Snapd esté actualizada.

$ sudo snap install core && sudo snap refresh core

Instala Certbot.

$ sudo snap install --classic certbot

Usa el siguiente comando para asegurarte de que el comando Certbot pueda ejecutarse creando un enlace simbólico al directorio /usr/bin.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Verifica si Certbot está funcionando correctamente.

$ certbot --version
certbot 2.7.4

Genera el certificado SSL.

$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d flarum.example.com

El comando anterior descargará un certificado al directorio /etc/letsencrypt/live/flarum.example.com en tu servidor.

Genera un certificado de grupo Diffie-Hellman.

$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Verifica el servicio programador de renovación de Certbot.

$ sudo systemctl list-timers

Encontrarás snap.certbot.renew.service como uno de los servicios programados para ejecutarse.

NEXT                        LEFT           LAST                        PASSED      UNIT                      ACTIVATES     
---------------------------------------------------------------------------------------------------------------------------               
Tue 2023-11-14 15:39:00 UTC 24min left    Tue 2023-11-14 15:09:02 UTC 5min ago     phpsessionclean.timer       phpsessionclean.service
Tue 2023-11-14 17:33:00 UTC 2h 18min left -                           -            snap.certbot.renew.timer    snap.certbot.renew.service
Tue 2023-11-14 19:03:30 UTC 3h 49min left Tue 2023-11-14 15:12:10 UTC 1min 58s ago apt-daily.timer             apt-daily.service

Realiza una prueba del proceso para verificar si la renovación de SSL está funcionando correctamente.

$ sudo certbot renew --dry-run

Si no ves errores, estás listo. Tu certificado se renovará automáticamente.

Paso 9 - Configurar PHP-FPM

Abre el archivo /etc/php/8.2/fpm/pool.d/www.conf.

$ sudo nano /etc/php/8.2/fpm/pool.d/www.conf

Necesitamos establecer el usuario/grupo Unix de los procesos PHP a nginx. Busca las líneas user=www-data y group=www-data en el archivo y cámbialas a nginx.

; Usuario/grupo Unix de los procesos hijos. Esto solo se puede usar si el usuario del proceso maestro
; que se ejecuta es root. Se establece después de que se crea el proceso hijo.
; El usuario y el grupo se pueden especificar ya sea por su nombre o por sus ID numéricos.
; Nota: Si el usuario es root, el ejecutable necesita ser iniciado con
;       la opción --allow-to-run-as-root para funcionar.
; Valores predeterminados: El usuario se establece en el usuario que ejecuta el proceso maestro por defecto.
;                 Si el grupo no se establece, se utiliza el grupo del usuario.
user = nginx
group = nginx
...

Busca las líneas listen.owner = www-data y listen.group = www-data en el archivo y cámbialas a nginx.

; Establecer permisos para el socket unix, si se usa uno. En Linux, leer/escribir
; los permisos deben establecerse para permitir conexiones desde un servidor web. Muchos
; sistemas derivados de BSD permiten conexiones independientemente de los permisos. El propietario
; y el grupo se pueden especificar ya sea por nombre o por sus ID numéricos.
; Valores predeterminados: El propietario se establece en el usuario que ejecuta el proceso maestro. Si el grupo
;                 no se establece, se utiliza el grupo del propietario. El modo se establece en 0660.
listen.owner = nginx
listen.group = nginx

Guarda el archivo presionando Ctrl + X y luego Y cuando se te pida.

Aumenta el tamaño máximo de carga de archivos a 8 MB.

$ sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 8M/' /etc/php/8.2/fpm/php.ini

Reinicia el servicio PHP-FPM.

$ sudo systemctl restart php8.2-fpm

Cambia el grupo del directorio de sesiones de PHP a Nginx.

$ sudo chgrp -R nginx /var/lib/php/sessions

Paso 10 - Configurar Nginx

Ejecuta el siguiente comando para agregar un archivo de configuración para tu sitio.

$ sudo nano /etc/nginx/conf.d/flarum.conf

Pega el siguiente código en el editor.

server {
    listen [::]:80;
    listen 80;

    server_name flarum.example.com;

    # redirigir http a https
    return 301 https://flarum.example.com$request_uri;
}

server {
    listen [::]:443 ssl http2;
    listen 443 ssl http2;

    server_name flarum.example.com;

    access_log /var/log/nginx/flarum.access.log;
    error_log  /var/log/nginx/flarum.error.log;

    root /var/www/flarum/public;
    index index.php;

    include /var/www/flarum/.nginx.conf;

    client_max_body_size 8M;

    if ($host != "flarum.example.com") {
        return 301 $scheme://flarum.example.com$request_uri;
    }

    # Código SSL
    ssl_certificate /etc/letsencrypt/live/flarum.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/flarum.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/flarum.example.com/chain.pem;
    ssl_session_timeout 1d;
    ssl_session_cache shared:MozSSL:10m;
    ssl_session_tickets off;
    ssl_prefer_server_ciphers off;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    resolver 1.1.1.1 1.0.0.1 [2606:4700:4700::1111] [2606:4700:4700::1001] 8.8.8.8 8.8.4.4 [2001:4860:4860::8888] [2001:4860:4860::8844] valid=60s;
    resolver_timeout 2s;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;

    tcp_nopush on;
    types_hash_max_size 2048;

    location ~ \.php$ {
        fastcgi_pass  unix:/run/php/php-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_index index.php;
        include  fastcgi_params;
    }
}

Este archivo asume que estaremos alojando example.com en el directorio /var/www/flarum/public. Flarum viene con algunas configuraciones predeterminadas de Nginx en el archivo /var/www/flarum/.nginx.conf que hemos incluido en nuestra configuración de Nginx.

Una vez terminado, presiona Ctrl + X para cerrar el editor y presiona Y cuando se te pida guardar el archivo.

Abre el archivo /etc/nginx/nginx.conf para editarlo.

$ sudo nano /etc/nginx/nginx.conf   

Agrega la siguiente línea antes de la línea include /etc/nginx/conf.d/*.conf;.

server_names_hash_bucket_size 64;

Guarda el archivo presionando Ctrl + X y luego Y cuando se te pida. Prueba la configuración de Nginx.

$ sudo nginx -t

Deberías ver la siguiente salida que indica que tu configuración es correcta.

nginx: el archivo de configuración /etc/nginx/nginx.conf tiene una sintaxis correcta
nginx: la prueba del archivo de configuración /etc/nginx/nginx.conf fue exitosa

Recarga el servicio Nginx.

$ sudo systemctl reload nginx

Paso 11 - Acceder y Completar la Instalación de Flarum

Abre http://example.com en tu navegador para completar la instalación.

Instalación de Flarum

Completa los valores de base de datos requeridos que creamos anteriormente. Puedes dejar el campo de Prefijo de Tabla en blanco para permitir que Flarum use el prefijo predeterminado o puedes ingresar cualquier prefijo personalizado como fla_. Elige un nombre de usuario, una contraseña fuerte y un ID de correo electrónico para instalar Flarum.

Haz clic en el botón Instalar Flarum para finalizar la instalación.

Una vez instalado, deberías ser recibido con la página de inicio predeterminada de Flarum.

Página de inicio de Flarum

Tu foro ahora está instalado y listo para usar.

Habilitar 2FA

La autenticación de dos factores es una característica esencial para cualquier foro público. Flarum no incluye esta función de forma nativa, pero puedes habilitarla instalando una extensión para ello. La extensión está disponible a través de Extiverse. Extiverse es un repositorio no oficial de temas y complementos de Flarum.

Para instalar el complemento, primero cambia al directorio de Flarum.

$ cd /var/www/flarum

Instala el complemento usando Composer.

$ composer require ianm/twofactor:"*"

El siguiente paso es habilitar el complemento desde el panel de administración de Flarum. Haz clic en tu nombre en la parte superior derecha de la página de inicio y haz clic en el enlace Administración del menú desplegable.

Menú de administración de Flarum

Serás llevado al panel de administración. Selecciona la función 2FA del menú de la izquierda y actívala. No necesitas cambiar nada, ya que la configuración predeterminada debería funcionar bien.

Página de administración de 2FA de Flarum

Si deseas que los moderadores del foro tengan 2FA habilitado, haz clic en el botón Mods y habilita la configuración 2FA requerida. Haz clic en el botón Guardar cambios para finalizar.

Configuraciones de 2FA para el grupo de moderadores de Flarum

Para habilitar 2FA para tu cuenta, abre tu página de configuraciones desde el menú de la parte superior derecha en la página de inicio del foro. Abre la página Seguridad seleccionando desde la barra lateral izquierda.

Página de usuario 2FA de Flarum

Haz clic en el botón Habilitar 2FA y se abrirá la siguiente ventana emergente.

Configuración de 2FA de Flarum

Escanea el código QR o elige la opción manual usando tu aplicación 2FA e ingresa el código generado en el cuadro. Haz clic en el botón Verificar cuando termines. Se te mostrarán códigos de respaldo. Guárdalos y haz clic en el botón para continuar.

Códigos de respaldo de 2FA de Flarum

Se te pedirá confirmación nuevamente. Haz clic en el botón Ok para continuar. El proceso ahora está completo.

Página de configuración de 2FA de Flarum

Configurar Configuraciones de Correo

También necesitarás configurar las configuraciones de correo desde el panel de administración. Flarum soporta el servicio SMTP de Mailgun de forma nativa o puedes usar un proveedor SMTP externo.

Configuraciones de correo de Flarum

Estamos usando el servicio Amazon SES, por lo que hemos seleccionado smtp del menú desplegable del controlador de correo en la página de correo. Haz clic en el botón Guardar cambios y luego haz clic en el botón Enviar para enviar un correo de prueba. La página notificará si el correo fue enviado con éxito. Deberías recibir el siguiente correo.

Correo de prueba de Flarum

Si deseas usar Mailgun, elige mailgun del menú desplegable. Completa los campos requeridos y guarda la configuración.

Configuraciones de MailGun de Flarum

Antes de enviar un correo de prueba, debes instalar un paquete de composer para que funcione. Cambia al directorio de Flarum en el servidor.

$ cd /var/www/flarum

Instala el paquete de composer.

$ composer require guzzlehttp/guzzle:^7.0

Envía un correo de prueba para verificar.

Conclusión

Esto concluye nuestro tutorial sobre la instalación del software de foro de comunidad Flarum en un servidor Debian 12. Si tienes alguna consulta o comentario, déjalos en los comentarios a continuación.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.