Flarum es una aplicación de foro gratuita, de código abierto y de última generación que le ayuda a crear su propio foro de debate 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 dedicar menos tiempo a hacer clic y más tiempo a hablar.
En este tutorial, explicaremos cómo instalar el foro Flarum con Apache y Let's Encrypt SSL en el servidor Ubuntu 20.04.
Requisitos
- 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.
Cómo empezar
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. Puede 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.
Crea una base de datos 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';
A continuación, 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 usa 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
A continuación, 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, instale 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 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 de 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 o no 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
Escriba 2 y presione Entrar para instalar el certificado SSL para su sitio web. Una vez que se complete la instalación, debería 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 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. Siéntase libre de preguntarme si tiene alguna pregunta.