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] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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.