Comment installer Firefly III sur Ubuntu 20.04 LTS

Dans ce tutoriel, nous allons vous montrer comment installer Firefly III sur Ubuntu 20.04 LTS. Pour ceux d’entre vous qui ne le savaient pas, Firefly III est un logiciel de gestion de finances personnelles gratuit et open source écrit en PHP. Il vous aide à suivre vos dépenses, revenus, budgets et autres aspects de vos finances à partir d’un serveur auto-hébergé dans votre propre maison et environnement. Firefly III prend en charge l’utilisation de budgets, de catégories et de balises. Il peut importer des données à partir de sources externes et dispose de nombreux rapports financiers soignés.

Cet article suppose que vous avez au moins des connaissances de base sur Linux, que vous savez utiliser le shell et, plus important encore, que vous hébergez votre site sur votre propre VPS. L’installation est assez simple et suppose que vous utilisez le compte root, sinon vous devrez peut-être ajouter ‘sudo‘ aux commandes pour obtenir les privilèges root. Je vais vous montrer l’installation étape par étape de Firefly III sur Ubuntu 20.04 (Focal Fossa). Vous pouvez suivre les mêmes instructions pour Ubuntu 18.04, 16.04 et toute autre distribution basée sur Debian comme Linux Mint.

Installer Firefly III sur Ubuntu 20.04 LTS Focal Fossa

Étape 1. Tout d’abord, assurez-vous que tous vos packages système sont à jour en exécutant ce qui suit apt commandes dans le terminal.

sudo apt update
sudo apt upgrade

Étape 2. Installation de la pile LAMP.

Un serveur Ubuntu 20.04 LAMP est requis. Si vous n’avez pas installé LAMP, vous pouvez suivre notre guide ici.

Étape 3. Installation de PHP Composer.

Composer doit être installé pour installer les dépendances de Firefly. Procédez comme suit pour configurer le compositeur :

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

Étape 3. Installation de Firefly III sur Ubuntu 20.04.

Maintenant, nous téléchargeons la dernière version de Firefly sur le site officiel :

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

Ensuite, modifiez .env déposer. Ouvrez donc le fichier et apportez les modifications en fonction de votre environnement :

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

Après avoir ouvert le fichier, apportez les modifications surlignées ci-dessous dans le fichier :

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

Après cela, revenez au répertoire racine de Firefly III et mettez à jour tous les packages et les exigences à l’aide des commandes :

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

Dans le même répertoire, corrigez les droits d’accès des nouveaux fichiers :

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

Étape 4. Configuration de MariaDB.

Par défaut, MariaDB n’est pas renforcée. Vous pouvez sécuriser MariaDB en utilisant le mysql_secure_installation scénario. vous devez lire attentivement et ci-dessous chaque étape qui définira un mot de passe root, supprimera les utilisateurs anonymes, interdira la connexion root à distance et supprimera la base de données de test et l’accès à MariaDB sécurisé :

mysql_secure_installation

Configurez-le comme ceci :

- 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

Ensuite, nous devrons nous connecter à la console MariaDB et créer une base de données pour Firefly III. Exécutez la commande suivante :

mysql -u root -p

Cela vous demandera un mot de passe, alors entrez votre mot de passe root MariaDB et appuyez sur Enter. Une fois connecté à votre serveur de base de données, vous devez créer une base de données pour l’installation 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;

Étape 5. Configuration Apache serveur web pour PrestaShop.

Créer une nouvelle directive d’hôte virtuel dans Apache. Pour example, créer un nouveau Apache fichier de configuration nommé ‘firefly.conf‘ sur votre serveur virtuel :

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

Ajoutez les lignes suivantes :

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

Maintenant, nous pouvons redémarrer le Apache serveur web pour que les changements aient lieu :

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

Étape 6. Configurez HTTPS.

Nous devrions activer une connexion HTTPS sécurisée sur PrestaShop. Nous pouvons obtenir un certificat TLS gratuit auprès de Let’s Encrypt. Installer Let’s Encrypt client (certbot) du référentiel Ubuntu 20.04 :

sudo apt install certbot python3-certbot-apache

Ensuite, exécutez la commande suivante pour obtenir un certificat TLS gratuit à l’aide du Apache brancher:

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

Si le test est réussi, rechargez Apache pour que le changement prenne effet :

sudo apache2ctl -t
sudo systemctl reload apache2

Étape 7. Accéder à l’interface Web de Firefly III.

Firefly III sera disponible sur le port HTTP 80 par défaut. Ouvrez votre navigateur préféré et accédez à https://your-domain.com/ et suivez les étapes requises pour terminer l’installation. Si vous utilisez un pare-feu, veuillez ouvrir le port 80 pour permettre l’accès au panneau de contrôle.

Toutes nos félicitations! Vous avez correctement installé Firefly. Merci d’avoir utilisé ce didacticiel pour installer Firefly III sur le système Ubuntu 20.04 LTS Focal Fossa. Pour une aide supplémentaire ou des informations utiles, nous vous recommandons de vérifier le site officiel de Firefly.