Firefly III és una solució de programari de gestió financera personal de codi obert, dissenyada per a aquells que busquen un control total de les seves finances personals. Funciona com una aplicació web autoallotjada, assegurant així la privadesa i el control total de les dades per part de l'usuari. Aquesta eina ofereix funcionalitats sòlides per al seguiment de despeses i ingressos, la gestió de pressupostos i el seguiment de comptes en diferents monedes. Una de les seves principals avantatges és la capacitat d'importar dades d'altres fonts financeres, facilitant la transició i la consolidació de la informació financera en un únic lloc.
A més, Firefly III destaca pel seu motor de gràfics i informes avançats, permetent als usuaris visualitzar les seves finances de manera efectiva per a una millor anàlisi i presa de decisions. L'aplicació també admet la creació de regles automatitzades per a la classificació de transaccions, el que estalvia temps i esforç. Amb una interfície d'usuari intuitiva, Firefly III és accessible per als usuaris de tots els nivells tècnics. Recolzada per una comunitat activa de desenvolupadors, l'eina està en constant evolució, adaptant-se a les necessitats canviant en la gestió de finances personals.
A continuació s'explicarà com instal·lar l'última versió de Firefly en un servidor Web amb Apache2 en una distribució Debian o basada en ella sense res preconfigurat prèviament. També es detallarà prèviament el procés d'instal·lació de dependències i configuració d'un certificat SSL de Let's Encrypt utilitzant Certbot.
Instal·lació paquets requerits i dependències
Primer realitza una actualització dels repositoris i dels paquets del sistema:
# apt update && apt upgrade -y && apt install software-properties-common -y
També afegeix el repositori oficial de PHP:
# add-apt-repository ppa:ondrej/php -y
Instal·la el servidor Web, MySQL, FPM de PHP i la resta de dependències:
# apt install apache2 nano php8.3 php8.3-fpm php8.3-curl php8.3-gd php8.3-mbstring php8.3-mysql php8.3-xml php8.3-intl php8.3-cli php8.3-ldap php8.3-xml php8.3-xmlrpc php8.3-apcu php8.3-zip php8.3-bcmath php8.3-bz2 mariadb-server redis language-pack-es-base -y
Activa els mòduls i configura el FPM de PHP per a Apache:
# a2enmod proxy_fcgi setenvif rewrite && a2enconf php8.3-fpm
Instal·la Composer per a més endavant:
# curl -sS https://getcomposer.org/installer -o composer-setup.php && php composer-setup.php --install-dir=/usr/local/bin --filename=composer
I reinicia el servidor Web:
# systemctl restart apache2
Creació de base de dades i usuari MySQL per a Firefly
Per a crear una base de dades per a Firefly executa el següent:
# mysqladmin create db_firefly
Crea un usuari de MySQL per a Firefly (recorda modificar la contrasenya d'exemple):
# mysql -u root -e "CREATE USER 'user_firefly'@'localhost' IDENTIFIED BY 'tu_contraseña'"
I dóna permisos a l'usuari a la base de dades de Firefly creada anteriorment:
# mysql -u root -e "GRANT ALL ON db_firefly.* TO 'user_firefly'@'localhost'"
Descàrrega i preparació d'instal·lació de Firefly
Per a descarregar l'última versió de Firefly III executa el següent:
# curl -s https://api.github.com/repos/firefly-iii/firefly-iii/releases/latest | grep "tarball_url" | cut -d : -f 2,3 | tr -d '," ' | xargs curl -sLO
Posteriorment, descomprimeix l'arxiu descarregat al directori Web:
# tar -xzf v6.* -C /var/www/html --strip-components=1
Canvia els permisos del directori Web de forma recursiva:
# chown -R www-data:www-data /var/www/
Un cop fet, edita l'arxiu de configuració per defecte del lloc Web:
# nano /etc/apache2/sites-enabled/000-default.conf
En ell descomenta i modifica la línia de ServerName pel registre DNS desitjat (exemple):
ServerName firefly.example.com
Addicionalment, modifica el DocumentRoot i afegeix un Directory per /var/www/html/public:
DocumentRoot /var/www/html/public
<Directory /var/www/html/public/>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
Desa els canvis, surt de l'editor i recarrega Apache:
# systemctl reload apache2.service
Addicionalment, elimina l'arxiu índex per defecte d'Apache:
# rm /var/www/html/index.html
Llavors hauràs de configurar l'arxiu d'entorn de Firefly i pots copiar directament l'arxiu d'exemple:
# cp /var/www/html/.env.example /var/www/html/.env
I edita-ho per a modificar la configuració:
# nano /var/www/html/.env
En ell hauràs d'indicar la configuració per a la base de dades i la URL que utilitzaràs, com a l'exemple següent:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_firefly
DB_USERNAME=db_firefly
DB_PASSWORD=tu_contraseña
APP_URL=https://firefly.example.com
Recorda que hi ha altres paràmetres a l'arxiu d'entorn i hauràs de configurar-los si desitges utilitzar totes les funcionalitats que ofereix Firefly.
Llavors accedeix al directori de Firefly per a instal·lar Firefly amb Composer i finalitzar de implementar-ho amb Artisan:
# cd /var/www/html && composer install && php artisan firefly-iii:upgrade-database && php artisan passport:install --force && chown -R www-data:www-data /var/www/
Finalment, instal·la el Certbot i l'script Python d'automatització per a Apache:
# apt install python3-certbot-apache -y
I executa-ho (recorda modificar l'exemple pel registre DNS introduït en ServerName):
# certbot --apache --redirect -d firefly.example.com
Posteriorment, podràs accedir a la URL configurada i crear l'usuari:
Un cop feta aquesta última acció, tindràs llest FireFly i podràs començar a treballar amb ell:
Esperem que aquest article t'hagi estat d'ajuda, si tens consultes sobre aquesta o altra qüestió relacionada amb els teus servidors a Clouding, no dubtis en contactar a soporte@clouding.io. Estem aquí per a ajudar-te!