Cómo instalar Flarum Forum en Ubuntu 20.04

Flarum es una aplicación de foro gratuita, de código abierto y de última generación que te ayuda a construir tu propio foro de discusión en línea. Está escrito en PHP, es sencillo, rápido y fácil de desplegar. Ofrece una arquitectura flexible, una potente extensión APT y todas las características que necesitas para dirigir una comunidad de éxito. Flarum se ve y se siente muy bien desde el principio. La interfaz de usuario está simplificada para que puedas pasar menos tiempo haciendo clic y más tiempo hablando.

En este tutorial, explicaremos cómo instalar el foro Flarum con Apache y Let’s Encrypt SSL en un servidor Ubuntu 20.04.

Requisitos previos

  • Un servidor con Ubuntu 20.04.
  • Un nombre de dominio válido apuntado con la IP de tu servidor.
  • Una contraseña de root configurada el servidor.

Cómo empezar

En primer lugar, se recomienda siempre actualizar los paquetes de tu sistema a la última versión. Puedes actualizarlos mediante el siguiente comando:

apt-get update -y

Una vez actualizados todos los paquetes, puedes pasar al siguiente paso.

Instalar el servidor LAMP

Flarum está escrito en PHP, se ejecuta en el servidor web y utiliza MySQL/MariaDB como base de datos. Así que necesitarás instalar la pila LAMP en tu sistema. Puedes instalarlo con el siguiente comando:

apt-get install apache2 mariadb-server php7.4 libapache2-mod-php7.4 php7.4-common php7.4-mbstring php7.4-xmlrpc php7.4-soap php7.4-mysql php7.4-gd php7.4-xml php7.4-curl php7.4-cli php7.4-zip php7.4-tokenizer wget unzip curl git -y

Una vez instalados todos los paquetes, edita el archivo php.ini y modifica algunos ajustes:

nano /etc/php/7.4/apache2/php.ini

Modifica las siguientes líneas:

file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_file_size = 150M
max_execution_time = 450
date.timezone = Asia/Kolkata

Guarda y cierra el archivo cuando hayas terminado.

Crear una base de datos Flarum

A continuación, tendrás que crear una base de datos y un usuario para Flarum. En primer lugar, entra en el shell de MariaDB con el siguiente comando:

mysql

Una vez iniciada la sesión, crea una base de datos y un usuario con el siguiente comando:

MariaDB [(none)]> CREATE DATABASE flarum;
MariaDB [(none)]> CREATE USER 'flarum'@'localhost' IDENTIFIED BY 'password';

A continuación, concede todos los privilegios a la base de datos flarum con el siguiente comando:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON flarum.* TO 'flarum'@'localhost';

A continuación, vacía los privilegios y sal de MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Una vez que hayas terminado, puedes pasar al siguiente paso.

Instalar Composer

A continuación, tendrás que instalar Composer en tu sistema. Composer es un gestor de dependencias para PHP que sirve para instalar todas las dependencias necesarias para el proyecto PHP.

Puedes instalar Composer con el siguiente comando:

curl -s https://getcomposer.org/installer | php

Deberías obtener la siguiente salida:

All settings correct for using Composer
Downloading...

Composer (version 1.10.10) successfully installed to: /root/composer.phar
Use it: php composer.phar

A continuación, mueve el binario de Composer al directorio /usr/local/bin/ con el siguiente comando:

mv composer.phar /usr/local/bin/composer

A continuación, verifica la versión instalada de Composer con el siguiente comando:

composer -V

Deberías ver la siguiente salida:

Composer version 1.10.10 2020-08-03 11:35:19

Instalar Flarum

Primero, crea un directorio para Flarum dentro del directorio raíz de la web de Apache con el siguiente comando

mkdir /var/www/html/flarum

A continuación, cambia el directorio a flarum y descarga la última versión de Flarum utilizando el Composer como se muestra a continuación:

cd /var/www/html/flarum
composer create-project flarum/flarum . --stability=beta

A continuación, instala todas las dependencias de PHP con el siguiente comando:

composer install

Una vez instaladas todas las dependencias, cambia la propiedad del Flarum a www-data y dale el permiso adecuado con el siguiente comando:

chown -R www-data:www-data /var/www/html/flarum/
chmod -R 755 /var/www/html/flarum/

Una vez que hayas terminado, puedes pasar al siguiente paso.

Configurar Apache para Flarum

A continuación, tendrás que crear un archivo de configuración del host virtual de Apache para alojar a Flarum. Puedes crearlo con el siguiente comando:

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

Añade las siguientes líneas:

<VirtualHost *:80>
 ServerAdmin [email protected]
 DocumentRoot /var/www/html/flarum/public
 ServerName flarum.linuxbuz.com
 DirectoryIndex index.php
 <Directory /var/www/html/flarum/public/>
Options +FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
 </Directory>
 ErrorLog /var/log/apache2/flarum-error_log
 CustomLog /var/log/apache2/flarum-access_log common
</VirtualHost>

Guarda y cierra el archivo cuando hayas terminado. A continuación, habilita el host virtual de Flarum y el módulo de reescritura de Apache con el siguiente comando:

a2ensite flarum
a2enmod rewrite

Por último, reinicia el servicio de Apache para aplicar los cambios:

systemctl restart apache2

También puedes verificar el estado del Apache con el siguiente comando:

systemctl status apache2

Deberías obtener la siguiente salida:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-08-23 09:57:11 UTC; 2min 44s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 27164 (apache2)
      Tasks: 6 (limit: 2353)
     Memory: 12.3M
     CGroup: /system.slice/apache2.service
             ??27164 /usr/sbin/apache2 -k start
             ??27165 /usr/sbin/apache2 -k start
             ??27166 /usr/sbin/apache2 -k start
             ??27167 /usr/sbin/apache2 -k start
             ??27168 /usr/sbin/apache2 -k start
             ??27169 /usr/sbin/apache2 -k start

Aug 23 09:57:11 ubuntu2004 systemd[1]: Starting The Apache HTTP Server...

Asegura Flarum con Let’s Encrypt SSL

Siempre es recomendable asegurar tu sitio web con el SSL gratuito de Let’s Encrypt. Primero, instala el cliente Let’s Encrypt de Certbot con el siguiente comando:

apt-get install python3-certbot-apache -y

Una vez instalado, ejecuta el siguiente comando para instalar Let’s Encrypt SSL para tu sitio web de Flarum:

certbot --apache -d flarum.linuxbuz.com

Se te pedirá que proporciones tu dirección de correo electrónico válida y que aceptes las condiciones del servicio, como se muestra a continuación:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]il.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for flarum.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/flarum-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/flarum-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/flarum-le-ssl.conf

A continuación, elige si quieres redirigir el tráfico HTTP a HTTPS como se muestra a continuación:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Escribe 2 y pulsa Intro para instalar el certificado SSL para tu sitio web. Una vez completada la instalación, deberías obtener la siguiente salida:

Redirecting vhost in /etc/apache2/sites-enabled/flarum.conf to ssl vhost in /etc/apache2/sites-available/flarum-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://flarum.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=flarum.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/flarum.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/flarum.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-11-21. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

 - We were unable to subscribe you the EFF mailing list because your
   e-mail address appears to be invalid. You can try again later by
   visiting https://act.eff.org.

Acceder al Foro de Flarum

En este punto, Flarum está instalado, configurado y asegurado con Let’s Encrypt SSL. Ahora, abre tu navegador web y accede a Flarum utilizando la URL https://flarum.linuxbuz.com. Serás redirigido a la siguiente página:

Proporciona el nombre de tu foro, el nombre de la base de datos, el nombre de usuario, la contraseña, el nombre de usuario del administrador, la contraseña, la dirección de correo electrónico y haz clic en el botón Instalar Flarum. Una vez completada la instalación, serás redirigido al panel de control de Flarum como se muestra a continuación:

Conclusión

Enhorabuena! has instalado con éxito el foro Flarum con Apache y Let’s Encrypt SSL en el servidor Ubuntu 20.04. Ahora puedes alojar tu propio foro comunitario fácilmente con Flarum. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...