Cómo instalar Firefly III en Ubuntu 20.04 LTS

En este tutorial, le mostraremos cómo instalar Firefly III en Ubuntu 20.04 LTS. Para aquellos de ustedes que no lo sabían, Firefly III es un software gratuito de gestión de finanzas personales de código abierto escrito en PHP. Le ayuda a realizar un seguimiento de sus gastos, ingresos, presupuestos y otros aspectos de sus finanzas desde un servidor autohospedado en su propio hogar y entorno. Firefly III admite el uso de presupuestos, categorías y etiquetas. Puede importar datos de fuentes externas y tiene muchos informes financieros disponibles.

Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que está ejecutando en la cuenta de root, de lo contrario, es posible que deba agregar ‘sudo‘a los comandos para obtener privilegios de root. Le mostraré la instalación paso a paso de Firefly III en Ubuntu 20.04 (Focal Fossa). Puede seguir las mismas instrucciones para Ubuntu 18.04, 16.04 y cualquier otra distribución basada en Debian como Linux Mint.

Instale Firefly III en Ubuntu 20.04 LTS Focal Fossa

Paso 1. Primero, asegúrese de que todos los paquetes de su sistema estén actualizados ejecutando lo siguiente apt comandos en la terminal.

sudo apt update
sudo apt upgrade

Paso 2. Instalación de la pila LAMP.

Se requiere un servidor LAMP de Ubuntu 20.04. Si no tiene LAMP instalado, puede seguir nuestra guía aquí.

Paso 3. Instalación de PHP Composer.

Composer debe estar instalado para instalar las dependencias de Firefly. Haga lo siguiente para configurar Composer:

cd ~
curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Paso 3. Instalar Firefly III en Ubuntu 20.04.

Ahora descargamos la última versión de Firefly del sitio web oficial:

cd /var/www/
sudo composer create-project grumpydictator/firefly-iii --no-dev --prefer-dist firefly-iii 5.2.8

A continuación, editar .env Archivo. Así que abra el archivo y realice los cambios de acuerdo con su entorno:

sudo nano /var/www/firefly-iii/.env

Después de abrir el archivo, realice los cambios resaltados a continuación en el archivo:

Database credentials. Make sure the database exists. I recommend a dedicated user for Firefly III
For other database types, please see the FAQ: https://docs.firefly-iii.org/support/faq
If you use Docker or similar, you can set these variables from a file by appending them with _FILE
Use "mysql" for MySQL and MariaDB. Use "sqlite" for SQLite.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=firefly
DB_USERNAME=fireflyuser
DB_PASSWORD=your-stronge-password-here

Después de eso, vuelva al directorio raíz de Firefly III y actualice todos los paquetes y requisitos usando los comandos:

cd /var/www/firefly-iii
sudo php artisan migrate:refresh --seed
sudo php artisan firefly-iii:upgrade-database
sudo php artisan passport:install

Mientras esté dentro del mismo directorio, corrija los derechos de acceso de los nuevos archivos:

sudo chown -R www-data:www-data /var/www/firefly-iii/
sudo chmod -R 755 /var/www/firefly-iii/

Paso 4. Configurar MariaDB.

De forma predeterminada, MariaDB no está reforzado. Puede proteger MariaDB usando el mysql_secure_installation texto. debe leer y debajo de cada paso cuidadosamente, lo que establecerá una contraseña de root, eliminará usuarios anónimos, no permitirá el inicio de sesión de root remoto y eliminará la base de datos de prueba y el acceso a MariaDB segura:

mysql_secure_installation

Configúrelo así:

- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y

A continuación, necesitaremos iniciar sesión en la consola MariaDB y crear una base de datos para Firefly III. Ejecute el siguiente comando:

mysql -u root -p

Esto le pedirá una contraseña, así que ingrese su contraseña de root MariaDB y presione Enter. Una vez que haya iniciado sesión en su servidor de base de datos, debe crear una base de datos para la instalación de Firefly III:

CREATE DATABASE firefly;
CREATE USER 'fireflyuser'@'localhost' IDENTIFIED BY 'Your-Strong-Passwd';
GRANT ALL PRIVILEGES ON `firefly`.* TO 'fireflyuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Paso 5. Configuración Apache servidor web para PrestaShop.

Cree una nueva directiva de host virtual en Apache. Para example, crear un nuevo Apache archivo de configuración llamado ‘firefly.conf‘en su servidor virtual:

touch /etc/apache2/sites-available/firefly.conf
ln -s /etc/apache2/sites-available/firefly.conf /etc/apache2/sites-enabled/firefly.conf
nano /etc/apache2/sites-available/firefly.conf

Agrega las siguientes líneas:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/firefly-iii/public/
ServerName your-domain.com
ServerAlias www.your-domain.com
<Directory /var/www/firefly-iii/public/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/your-domain.com-error_log
CustomLog /var/log/apache2/your-domain.com-access_log common
</VirtualHost>

Ahora, podemos reiniciar el Apache servidor web para que se realicen los cambios:

sudo a2enmod rewrite
sudo a2ensite firefly.conf 
sudo systemctl restart apache2.service

Paso 6. Configure HTTPS.

Deberíamos habilitar una conexión HTTPS segura en PrestaShop. Podemos obtener un certificado TLS gratuito de Let’s Encrypt. Instalar en pc Let’s Encrypt cliente (certbot) del repositorio de Ubuntu 20.04:

sudo apt install certbot python3-certbot-apache

A continuación, ejecute el siguiente comando para obtener un certificado TLS gratuito utilizando el Apache enchufar:

sudo certbot --apache --agree-tos --redirect --staple-ocsp --email [email protected] -d example.com

Si la prueba tiene éxito, vuelva a cargar Apache para que el cambio surta efecto:

sudo apache2ctl -t
sudo systemctl reload apache2

Paso 7. Acceder a la interfaz web de Firefly III.

Firefly III estará disponible en el puerto HTTP 80 de forma predeterminada. Abra su navegador favorito y navegue hasta https://your-domain.com/ y complete los pasos necesarios para finalizar la instalación. Si está utilizando un firewall, abra el puerto 80 para permitir el acceso al panel de control.

¡Felicidades! Ha instalado Firefly con éxito. Gracias por usar este tutorial para instalar Firefly III en el sistema Ubuntu 20.04 LTS Focal Fossa. Para obtener ayuda adicional o información útil, le recomendamos que consulte el sitio web oficial de Firefly.