Installation · 7 min read · Nov 22, 2025
Comment installer SolidInvoice sur Ubuntu 22.04

SolidInvoice est une solution de facturation gratuite, simple et élégante basée sur PHP. Elle est conçue pour les petites entreprises afin de gérer leurs opérations de facturation quotidiennes. SolidInvoice fournit une API RESTful pour l’intégration et offre divers canaux de notification tels que les messages texte, les e-mails ou HipChat.
Ce guide vous montrera comment installer SolidInvoice sur un serveur Ubuntu 22.04. Vous configurerez SolidInvoice avec la pile LAMP et sécuriserez l’installation avec Certbot et letsencrypt.
Prérequis
Avant de commencer, assurez-vous d’avoir :
- Un serveur Ubuntu 22.04.
- Un utilisateur non-root avec des privilèges sudo.
- Un nom de domaine pointant vers une adresse IP de serveur.
Installation des dépendances
SolidInvoice est une application de facturation open-source écrite en PHP et MySQL. Pour l’installer, vous devez installer la pile LAMP sur votre système Ubuntu. Dans cette première étape, vous installerez la pile LAMP à partir du dépôt Ubuntu par défaut.
Mettez à jour votre index de paquets Ubuntu avec la commande ci-dessous.
sudo apt updateMaintenant, installez les dépendances de la pile LAMP (Linux, Apache, MySQL/MariaDB et PHP) en utilisant la commande suivante. Dans cet exemple, vous utiliserez PHP 8.x par défaut pour l’installation de SolidInvoice.
sudo apt install apache2 mariadb-server mariadb-client php php-curl php-common php-mbstring php-json php-mysql php-opcache php-bcmath php-intl php-gd php-xml php-soap php-zip php-apcuTapez Y pour confirmer l’installation.

Après la fin de l’installation, exécutez la commande suivante pour vérifier l’état des services Apache et MariaDB afin de vous assurer que les deux services fonctionnent.
sudo systemctl status apache2
sudo systemctl status mysqlSi Apache ou MariaDB fonctionne, vous verrez une sortie active(running).

Enfin, vérifiez la version de PHP avec la commande ci-dessous. Vous verrez PHP 8.x installé sur votre système Ubuntu.
php -vConfiguration du serveur MariaDB
Après avoir installé la pile LAMP, vous devez configurer votre installation de serveur MariaDB. Tout d’abord, vous sécuriserez le serveur MariaDB, puis créerez une nouvelle base de données et un utilisateur que SolidInvoice utilisera.
Pour sécuriser l’installation du serveur MariaDB, entrez ce qui suit :
sudo mariadb-secure-installationDans le processus, entrez Y pour confirmer les modifications apportées à MariaDB, ou N pour les rejeter. Voici les configurations du serveur MariaDB qui vous seront demandées :
- L’installation par défaut de MariaDB ne vient pas avec un mot de passe, appuyez sur ENTRÉE lorsqu’on vous demande le mot de passe.
- Maintenant, saisissez Y pour configurer le mot de passe root de MariaDB. Ensuite, tapez le nouveau mot de passe pour MariaDB et répétez le mot de passe.
- Saisissez Y pour supprimer l’utilisateur anonyme de votre installation MariaDB.
- Saisissez Y à nouveau lorsqu’on vous demande de désactiver la connexion à distance pour l’utilisateur root de MariaDB.
- Saisissez Y pour supprimer la base de données de test par défaut de votre MariaDB.
- Enfin, saisissez Y pour recharger les privilèges des tables et appliquer les nouvelles modifications.
Maintenant que vous avez sécurisé MariaDB, entrez ce qui suit pour vous connecter à MariaDB en tant qu’utilisateur root par défaut. Saisissez votre mot de passe root de MariaDB lorsqu’on vous le demande.
sudo mariadb -u root -pUne fois connecté, exécutez les requêtes suivantes pour créer une nouvelle base de données solidinvoicedb, un utilisateur solidinvoice, avec le mot de passe p4ssword. Assurez-vous de changer les détails avec vos informations, ces détails de base de données seront utilisés par SolidInvoice.
CREATE DATABASE solidinvoicedb;
CREATE USER solidinvoice@localhost IDENTIFIED BY 'p4ssword';
GRANT ALL PRIVILEGES ON solidinvoicedb.* TO solidinvoice@localhost;
FLUSH PRIVILEGES;
Maintenant, exécutez la requête ci-dessous pour vérifier les privilèges de l’utilisateur solidinvoice. Assurez-vous que l’utilisateur solidinvoice peut accéder à la base de données solidinvoicedb.
SHOW GRANTS FOR solidinvoice@localhost;Enfin, tapez quit pour quitter le serveur MariaDB.

Configuration de PHP
Avec le serveur MariaDB sécurisé et configuré, vous allez configurer votre installation de PHP. Dans ce cas, vous devez modifier le fichier de configuration PHP par défaut php.ini.
Ouvrez le fichier de configuration PHP par défaut /etc/php/8.1/apache2/php.ini en utilisant l’éditeur nano.
sudo nano /etc/php/8.1/apache2/php.iniChangez les configurations PHP par défaut avec ce qui suit, et assurez-vous d’ajuster le memory_limit et le date.timezone avec votre environnement serveur.
date.timezone = Europe/Amsterdam
memory_limit=512M
upload_max_filesize=64M
post_max_size=120M
max_execution_time=120Enregistrez le fichier et quittez.
Maintenant, redémarrez le service Apache pour appliquer vos modifications à PHP avec la commande suivante.
sudo systemctl restart apache2Téléchargement de SolidInvoice
Maintenant que vous avez configuré MariaDB et PHP, vous pouvez télécharger le code source de SolidInvoice et configurer l’installation avec les permissions et la propriété appropriées.
Accédez au répertoire /var/www et téléchargez le code source de SolidInvoice en utilisant wget. Consultez la page de version de SolidInvoice pour obtenir la dernière version.
cd /var/www/
wget https://github.com/SolidInvoice/SolidInvoice/releases/download/2.2.5/SolidInvoice-2.2.5.zipExtrayez le code source de SolidInvoice dans le répertoire solidinvoice et changez la propriété à l’utilisateur www-data. Ainsi, le DocumentRoot ou le répertoire Web-root pour l’installation de SolidInvoice sera /var/www/solidinvoice.
unzip SolidInvoice-2.2.5.zip -d solidinvoice
sudo chown -R www-data:www-data /var/www/solidinvoiceMaintenant, exécutez la commande ci-dessous pour vous assurer que l’utilisateur www-data peut écrire dans certains des répertoires et fichiers de SolidInvoice.
sudo chmod u+rw /var/www/solidinvoice/app/cache
sudo chmod u+rw /var/www/solidinvoice/app/logs
sudo chmod u+rw /var/www/solidinvoice/var/cache
sudo chmod u+rw /var/www/solidinvoice/var/logssudo chmod u+rw /var/www/solidinvoice/web/upload
sudo chmod u+rw /var/www/solidinvoice/app/config/parameters.ymlConfiguration de l’hôte virtuel Apache
Après avoir configuré le répertoire DocumentRoot pour SolidInvoice, vous devez créer un nouvel hôte virtuel Apache qui sera utilisé pour exécuter l’installation. Assurez-vous donc d’avoir préparé votre nom de domaine pour SolidInvoice.
Tout d’abord, exécutez la commande ci-dessous pour activer le module rewrite dans Apache.
sudo a2enmod rewriteCréez une nouvelle configuration d’hôte virtuel Apache /etc/apache2/sites-available/solidinvoice.conf en utilisant la commande de l’éditeur nano ci-dessous.
sudo nano /etc/apache2/sites-available/solidinvoice.confInsérez la configuration suivante et assurez-vous de changer l’option ServerName avec votre domaine cible.
ServerName invoice.howtoforge.local
ServerAlias www.invoice.howtoforge.local
DocumentRoot /var/www/solidinvoice/public
# activer les réécritures .htaccess
AllowOverride All
Order allow,deny
Allow from All
ErrorLog /var/log/apache2/solidinvoice.error.log
CustomLog /var/log/apache2/solidinvoice.access.log combined
Enregistrez le fichier et quittez l’éditeur.
Maintenant, entrez la commande suivante pour activer le fichier d’hôte virtuel solidinvoice.conf et vérifiez votre syntaxe Apache. Si vous avez une syntaxe correcte, vous verrez une sortie ‘Syntax OK‘.
sudo a2ensite solidinvoice.conf
sudo apachectl configtestEnfin, entrez la commande ci-dessous pour redémarrer Apache et appliquer le nouveau fichier d’hôte virtuel solidinvoice.conf. Une fois exécuté, votre SolidInvoice devrait fonctionner.
sudo systemctl restart apache2
Sécurisation de SolidInvoice avec HTTPS
Dans cet exemple, vous allez sécuriser SolidInvoice avec des certificats SSl/TLS via Certbot et letsencrypt. Vous allez donc installer Certbot et générer des certificats SSL/TLS pour votre nom de domaine SolidInvoice.
Tout d’abord, installez Certbot et le plugin Certbot Apache avec la commande suivante. Entrez Y pour confirmer l’installation.
sudo apt install certbot python3-certbot-apacheUne fois l’installation terminée, générez des certificats SSL/TLS en utilisant la commande certbot suivante. Assurez-vous de changer les informations du nom de domaine et de l’adresse e-mail avec vos détails.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.localAprès la fin du processus, vos certificats SSL/TLS devraient être disponibles dans le répertoire /etc/letsencrypt/live/domain.com. De plus, votre installation de SolidInvoice devrait être sécurisée avec HTTPS automatiquement.
Installation de SolidInvoice
Ouvrez votre navigateur web et visitez votre nom de domaine tel que https://invoice.howtoforge.local/. Dans le Vérification des exigences système, assurez-vous que tout est OK, puis cliquez sur Suivant pour confirmer.

Sélectionnez le pilote de base de données MySQL et saisissez les détails de votre base de données MariaDB et de l’utilisateur pour SolidInvoice. Une fois terminé, cliquez à nouveau sur Suivant.

Maintenant, vous pouvez voir le schéma de base de données pour SolidInvoice créé, cliquez sur Suivant pour continuer.

Pour les paramètres système, sélectionnez la langue par défaut en anglais et saisissez les détails de votre utilisateur administrateur, e-mail et mot de passe. Ensuite, cliquez à nouveau sur Suivant pour confirmer.

Une fois l’installation terminée, vous verrez la sortie ‘Vous avez installé SolidInvoice avec succès !‘ et des instructions supplémentaires pour créer un travail cron.

Retournez au terminal du serveur et créez un nouveau travail cron pour l’utilisateur www-data avec la commande ci-dessous.
sudo crontab -u www-data -eCollez le script crontab de la page, puis enregistrez et fermez le fichier.
* * * * * php /var/www/solidinvoice/bin/console cron:run -e prod -nRevenez à votre navigateur web et cliquez sur Se connecter maintenant.

Maintenant, on vous demandera de créer le nom de votre entreprise et la devise par défaut. Cliquez sur Créer pour confirmer.

Si tout se passe bien, vous devriez voir le tableau de bord de SolidInvoice comme suit.

Conclusion
Félicitations ! Vous avez installé SolidInvoice sur un serveur Ubuntu 22.04. Vous avez SolidInvoice fonctionnant avec la pile LAMP (Apache, MySQL/MariaDB et PHP) sur Ubuntu et sécurisé votre installation avec HTTPS via Letsencrypt. Vous pouvez maintenant ajouter de nouveaux composants tels que le serveur SMTP à SolidInvoice et l’utiliser.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.