Cómo instalar el foro Flarum en Ubuntu 20.04

Cómo instalar el foro Flarum en Ubuntu 20.04

Flarum es una aplicación de foro gratuita, de código abierto y de próxima generación que lo ayuda a crear su propio foro de discusión en línea. Está escrito en PHP, simple, rápido y fácil de implementar. Proporciona una arquitectura flexible, una poderosa extensión APT y todas las funciones que necesita para ejecutar una comunidad exitosa. Flarum se ve y se siente genial fuera de la caja. La interfaz de usuario está optimizada para que pueda 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 el servidor Ubuntu 20.04.

requisitos previos

  • Un servidor con Ubuntu 20.04.
  • Un nombre de dominio válido apuntado con la IP de su servidor.
  • Se configura una contraseña de root en el servidor.

Empezando

Primero, siempre se recomienda actualizar los paquetes de su sistema a la última versión. Puede actualizarlos usando el siguiente comando:

apt-get update -y

Una vez que todos los paquetes estén actualizados, puede continuar con el siguiente paso.

Instalar servidor LAMP

Flarum está escrito en PHP, se ejecuta en el servidor web y utiliza MySQL/MariaDB como base de datos. Por lo tanto, deberá instalar la pila LAMP en su 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 que todos los paquetes estén instalados, edite el archivo php.ini y modifique algunas configuraciones:

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

Modifique 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

Guarde y cierre el archivo cuando haya terminado.

Crear una base de datos de Flarum

A continuación, deberá crear una base de datos y un usuario para Flarum. Primero, inicie sesión en el shell de MariaDB con el siguiente comando:

mysql

Una vez que inicie sesión, cree 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';

Luego, otorga 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, elimine los privilegios y salga de MariaDB con el siguiente comando:

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

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar compositor

A continuación, deberá instalar Composer en su sistema. Composer es un administrador de dependencias para PHP que se utiliza para instalar todas las dependencias requeridas para el proyecto PHP.

Puede instalar Composer con el siguiente comando:

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

Deberías obtener el siguiente resultado:

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, mueva el binario de Composer al directorio /usr/local/bin/ con el siguiente comando:

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

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

composer -V

Debería ver el siguiente resultado:

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

Instalar Flarum

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

mkdir /var/www/html/flarum

Luego, cambie el directorio a flarum y descargue la última versión de Flarum usando Composer como se muestra a continuación:

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

Luego, instala todas las dependencias de PHP usando el siguiente comando:

composer install

Una vez que todas las dependencias estén instaladas, cambie la propiedad de Flarum a www-data y otorgue 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 haya terminado, puede continuar con el siguiente paso.

Configurar Apache para Flarum

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

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

Agregue 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>

Guarde y cierre el archivo cuando haya terminado. Luego, habilite el host virtual Flarum y el módulo de reescritura de Apache con el siguiente comando:

a2ensite flarum
a2enmod rewrite

Finalmente, reinicie el servicio de Apache para aplicar los cambios:

systemctl restart apache2

También puede verificar el estado de Apache usando el siguiente comando:

systemctl status apache2

Deberías obtener el siguiente resultado:

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

Asegure Flarum con Let’s Encrypt SSL

Siempre se recomienda proteger su sitio web con SSL gratuito de Let’s Encrypt. Primero, instale el cliente Certbot Let’s Encrypt con el siguiente comando:

apt-get install python3-certbot-apache -y

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

certbot --apache -d flarum.linuxbuz.com

Se le pedirá que proporcione su dirección de correo electrónico válida y acepte el término 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, elija si desea redirigir o no 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

Escriba 2 y presione Entrar para instalar el certificado SSL para su sitio web. Una vez que se complete la instalación, debe obtener el siguiente resultado:

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 protegido con Let’s Encrypt SSL. Ahora, abra su navegador web y acceda a Flarum usando la URL https://flarum.linuxbuz.com. Será redirigido a la siguiente página:

Proporcione el nombre de su 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 haga clic en el Instalar Flarum botón. Una vez que se haya completado la instalación, se le redirigirá al panel de control de Flarum como se muestra a continuación:

Conclusión

¡Felicidades! Ha instalado con éxito el foro Flarum con Apache y Let’s Encrypt SSL en el servidor Ubuntu 20.04. Ahora puedes organizar tu propio foro comunitario fácilmente con Flarum. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *