Cómo instalar Flarum Next Generation Forum en Ubuntu 24.04

Flarum es un software de foros gratuito y de código abierto en PHP, JavaScript y TypeScript. Es un software de foro de nueva generación diseñado para ser mínimo con una gran extensibilidad mediante extensiones. Flarum es una solución moderna para el software de foros, es rápido, sencillo y fácil de usar e instalar.

En este tutorial, te mostraremos cómo instalar Flarum en Ubuntu 24.04. Instalarás Flarum con la pila LAMP (Linux, Apache, MySQL/MariaDB y PHP), y luego lo asegurarás mediante HTTPS utilizando Certbot y letsencrypt.

Requisitos previos

Para seguir con este tutorial, asegúrate de que tienes los siguientes requisitos:

  • Un Ubuntu 24.04 ‘Noble Numbat’.
  • Un usuario no root con privilegios de administrador.
  • Un UFW (Cortafuegos sin complicaciones) en ejecución.
  • Un nombre de dominio apuntando a una dirección IP del servidor.

Instalación de dependencias

Flarum es un software de foro de código abierto escrito en PHP. Para instalarlo, necesitas instalar dependencias en tu servidor Ubuntu. Esto incluye la pila LAMP (Linux, Apache, MySQL/MariaDB), Git y Composer.

En esta sección, instalarás dependencias para Flarum a través del repositorio de Ubuntu.

En primer lugar, ejecuta el siguiente comando para actualizar el índice de paquetes de Ubuntu.

sudo apt update

actualizar repo

Ahora ejecuta los siguientes comandos para instalar dependencias como LAMP Stack (Linux, Apache, MySQL/MariaDB y PHP), Composer y Git en tu sistema Ubuntu.

sudo apt install apache2 mariadb-server php php-common php-mysql libapache2-mod-php php-gd php-curl php-json php-xmlrpc php-intl php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-soap php-tokenizer composer git

Escribe Y para confirmar la instalación.

instalar dependencias

Tras la instalación, comprueba el estado del servicio Apache con el siguiente comando. Verás que el servidor web Apache está habilitado con el estado«activo (en ejecución)«.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

comprobar apache2

Ahora comprueba el servidor MariaDB con el siguiente comando. Verás una salida similar, en la que MariaDB está habilitado y en ejecución.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

comprobar mariadb

Por último, comprueba las versiones de PHP y Composer con el siguiente comando. Verás que PHP 8.3 y Composer 2.7.1 están instalados en tu sistema Ubuntu.

php -v
sudo -u www-data composer -v

comprueba php composer

Configurar UFW (Cortafuegos sin complicaciones)

Después de instalar las dependencias, tienes que permitir el acceso al servidor web Apache a través de UFW (Uncomplicated Firewall). El servidor web Apache proporciona un perfil de aplicación UFW‘Apache Full‘ para permitir el acceso tanto HTTP como HTTPS.

Ejecuta el siguiente comando para abrir tanto el acceso HTTP como el HTTPS a través del perfil ‘Apache Full’. Cuando se añada, verás una salida‘Reglas añadidas‘.

sudo ufw allow 'Apache Full'

Ahora verifica la lista de reglas en tu UFW con el siguiente comando.

sudo ufw status

Deberías obtener el perfil «Apache Completo» habilitado en tu cortafuegos. Con esto, se permite tanto el acceso HTTP como HTTPS a tu servidor web Apache.

configuración ufw

Configurar PHP

En esta sección, configurarás PHP para Flarum editando el archivo ‘php.ini’. Tendrás que ajustar algunas configuraciones de PHP como memory_limit y upload_max_filesize para tu instalación de Flarum.

Abre la configuración PHP por defecto ‘php.ini‘ utilizando el siguiente comando del editor nano.

sudo nano /etc/php/8.3/apache2/php.ini

Cambia la configuración PHP por defecto con lo siguiente. Asegúrate de ajustar el valor de las opciones memory_limit y date.timezone.

memory_limit = 512M
upload_max_filesize = 150M
max_execution_time = 600
date.timezone = Europe/Paris

Cuando hayas terminado, guarda el archivo y sal.

Ahora ejecuta el siguiente comando para reiniciar el servidor web Apache y aplicar la nueva configuración PHP.

sudo systemctl restart apache2

Configurar el servidor MariaDB

Después de configurar PHP, asegurarás el servidor MariaDB y crearás una nueva base de datos y un nuevo usuario que utilizará Flarum. Puedes asegurar MariaDB mediante el comando‘mariadb-secure-installation‘, y luego crear una nueva base de datos y un nuevo usuario mediante el cliente‘mariadb‘.

Para asegurar el servidor MariaDB, ejecuta el comando ‘mariadb-secure-installation‘ que aparece a continuación. Con esto, se te preguntarán algunas configuraciones de MariaDB.

sudo mariadb-secure-installation

A continuación se muestra la configuración que se te pedirá:

  • La instalación por defecto de MariaDB viene sin contraseña, pulsa ENTER cuando se te pida la contraseña.
  • Ahora introduce Y para configurar la contraseña de root de MariaDB. A continuación, escribe la nueva contraseña para MariaDB y repite la contraseña.
  • Introduce Y para eliminar el usuario anónimo de tu instalación de MariaDB.
  • Vuelve a introducir Y cuando se te pida para desactivar el inicio de sesión remoto para el usuario raíz de MariaDB.
  • Introduce Y para eliminar la prueba de base de datos por defecto de tu MariaDB.
  • Por último, introduce Y para recargar los privilegios de las tablas y aplicar los nuevos cambios.

Una vez asegurada MariaDB, inicia sesión en el servidor MariaDB con el siguiente comando. Escribe tu contraseña de root de MariaDB cuando se te solicite.

sudo mariadb -u root -p

Ahora ejecuta las siguientes consultas para crear una nueva base de datos y un nuevo usuario para Flarum. En este ejemplo, crearás una nueva base de datos‘flarum‘, un usuario‘flarum‘, con la contraseña‘password‘. Puedes sustituirlos por tus datos.

CREATE DATABASE flarum;
CREATE USER flarum@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON flarum.* TO flarum@localhost;
FLUSH PRIVILEGES;

crear base de datos

A continuación, ejecuta la siguiente consulta para verificar los privilegios del usuario ‘flarum‘. Esto garantizará que el usuario ‘flarum‘ pueda acceder a la base de datos‘flarum‘.

SHOW GRANTS FOR flarum@localhost;

Puedes ver a continuación que el usuario «flarum» puede acceder a la base de datos «flarum«.

Ahora escribe quit para salir del servidor MariaDB.

mostrar privilegios

Descargar el código fuente de Flarum

Con todas las dependencias configuradas, estás listo para descargar el código fuente de Flarum. En esta sección, crearás un nuevo directorio raíz de documentos para Flarum y, a continuación, descargarás el código fuente de Flarum a través de Composer.

En primer lugar, ejecuta el siguiente comando para crear un nuevo directorio de instalación de Flarum‘/var/www/flarum/‘ y los directorios para Composer‘/var/www/.cache‘ y‘/var/www/.config‘. A continuación, cambia la propiedad de esos directorios al usuario‘www-data‘.

mkdir -p /var/www/{.cache,.config,flarum}
chown -R www-data:www-data /var/www/{.cache,.config,flarum}

Ahora dirígete al directorio‘/var/www/flarum/‘ y descarga el código fuente de Flarum mediante el siguiente comando de Composer.

cd /var/www/flarum/
sudo -u www-data composer create-project flarum/flarum .

A continuación puedes ver el proceso de descarga del código fuente de Flarum.

descarga de flarum

Una vez finalizado el proceso de descarga, ejecuta el siguiente comando‘ls‘ para comprobar el código fuente de Flarum.

ls -ah

Deberías ver el código fuente de Flarum descargado como el siguiente:

flarum código fuente

Configurar el host virtual Apache para Flarum

Después de descargar Flarum, necesitas crear un nuevo host virtual Apache. Para ello, asegúrate de haber preparado tu nombre de dominio para la instalación de Flarum.

Antes de crear un host virtual, ejecuta el siguiente comando para habilitar los módulos de Apache‘ssl‘,‘rewrite’ y‘headers‘.

sudo a2enmod ssl rewrite headers

activar módulos

Ahora crea una nueva configuración de host virtual‘/etc/apache2/sites-available/flarum.conf‘ utilizando el siguiente comando del editor nano.

sudo nano /etc/apache2/sites-available/flarum.conf

Introduce la configuración que aparece a continuación, y asegúrate de cambiar la opción ServerName con el nombre de tu dominio, y la ruta del directorio Document-Root de tu instalación de Flarum.

<VirtualHost *:80>
 ServerAdmin [email protected]
 DocumentRoot /var/www/flarum/public
 ServerName forum.hwdomain.io
<Directory /var/www/flarum/public/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /var/www/flarum/public/>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) index.php [PT,L]
</Directory>
</VirtualHost>

Cuando hayas terminado, guarda el archivo y sal del editor.

A continuación, ejecuta el siguiente comando para activar el archivo de host virtual ‘flarum.conf’ y verificar la sintaxis de tu Apache.

sudo a2ensite flarum.conf
sudo apachectl configtest

Deberías tener una salida‘Sintaxis OK‘ cuando tengas una configuración correcta de Apache.

configuración vhost

Por último, ejecuta el siguiente comando para reiniciar el servidor web Apache y aplicar la nueva configuración del host virtual de Flarum. Con esto, tu Flarum debería ser accesible.

sudo systemctl restart apache2

Asegurar Flarum con HTTPS

Si estás ejecutando Flarum en un dominio público, puedes asegurarlo con HTTPS utilizando certificados Certbot y Letsencrypt. Si utilizas un dominio local, puedes utilizar certificados autofirmados.

Instala Certbot y el plugin de Certbot para Apache con el siguiente comando. Escribe Y para confirmar la instalación.

sudo apt install certbot python3-certbot-apache

Ahora ejecuta el siguiente comando ‘certbot’ para generar certificados SSL/TLS para tu instalación de Flarum. Asegúrate de cambiar los detalles del nombre de dominio y la dirección de correo electrónico con tu información.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d forum.hwdomain.io

Una vez completado el proceso, tu instalación de Flarum debería estar protegida con HTTPS. Y tus certificados SSL/TLS deberían estar disponibles en el directorio‘/etc/letsencrypt/live/domain.com‘.

Instalar Flarum

Abre tu navegador web y visita tu nombre de dominio, por ejemplo https://forum.hwdomain.io/. Si la configuración es correcta, debería aparecerte el asistente de instalación de Flarum.

Introduce el título de tu foro, los datos de la base de datos MariaDB, el usuario y la contraseña. A continuación, introduce los datos del usuario administrador, el correo electrónico y la contraseña de tu nueva instalación de Flarum.

Haz clic en el botón«Instalar Flarum» para continuar con la instalación.

instalar flarum

Una vez completada la instalación, se te mostrará el panel de administración de Flarum como el siguiente:

flarum instalado

Ahora haz clic en el icono de tu usuario y selecciona Administración. Esto te mostrará los detalles de tu instalación de Flarum.

Como puedes ver a continuación, Flarum 1.8.5 está instalado con PHP 8.3 y el servidor MariaDB 10.11.

admin dashboard flarum

Conclusión

¡Enhorabuena! Ya has completado la instalación de Flarum en Ubuntu 24.04. Tienes Flarum funcionando con la pila LAMP (Linux, Apache, MySQL/MariaDB y PHP), también has asegurado Flarum con HTTPS mediante Certbot y Letsencrypt.

Scroll al inicio