Installation ERP · 17 min read · Oct 24, 2025
Comment installer ERPNext 14 sur Debian 11

ERPNext est un système ERP (Enterprise Resource Planning) open-source qui peut être mis en œuvre dans votre entreprise. ERPNext peut être mis en œuvre dans plusieurs secteurs, tels que la fabrication, la distribution, le commerce de détail, le commerce, les services, l’éducation, les organisations à but non lucratif et la santé. De plus, il fournit des modules tels que la comptabilité, la CRM, les ventes, les achats, le site web, le commerce électronique, le point de vente, la fabrication, l’entrepôt, la gestion de projet, l’inventaire et les services.
ERPNext est une plateforme ERP d’entreprise sous licence GNU General Public Licence v3. Il est principalement écrit en Python et JavaScript, développé par Frappe Technologies Pvt. ERPNext est une application écrite sous le framework Frappe, un framework web open-source en Python et JavaScript.
ERPNext est une alternative à des services comme NetSuite d’Oracle, QAD, Tython, OpenBrave et Odoo. En termes de fonctionnalités, ERPNext est similaire à Odoo (anciennement OpenERP).
Dans ce tutoriel, vous allez installer ERPNext sur un serveur Debian 11 et ensuite sécuriser ERPNext avec des certificats SSL/TLS via Certbot et Letsencrypt. Vous apprendrez également comment installer les dépendances pour ERPNext, telles que Python 3.10, Redis, Nginx, Supervisor, Fail2ban, MariaDB Server, Node.js et Yarn, et le framework web Frappe.
Prérequis
Vous aurez besoin des éléments suivants pour compléter ce tutoriel :
- Un serveur Debian 11 - Cet exemple utilise un serveur Debian avec le nom d’hôte ‘ erpnext-server ‘.
- Un utilisateur non-root avec des privilèges d’administrateur sudo/root. Vous exécuterez toutes les commandes de ce guide en tant qu’utilisateur non-root.
- Un nom de domaine pointé vers l’adresse IP du serveur.
Passons maintenant à l’installation.
Configuration d’un nouvel utilisateur
La première étape de ce tutoriel consiste à créer un nouvel utilisateur qui sera utilisé pour exécuter l’application ERPNext. De plus, vous ajouterez le nouvel utilisateur au groupe ‘sudo’ et permettrez à cet utilisateur d’exécuter des commandes avec des privilèges root.
Exécutez la commande ci-dessous pour créer un nouvel utilisateur et définir le mot de passe pour le nouvel utilisateur. Dans cet exemple, vous allez créer un nouvel utilisateur ‘ frappe ‘ qui sera utilisé pour exécuter ERPNext.
sudo useradd -m -s /bin/bash frappe
sudo passwd frappeAjoutez maintenant l’utilisateur ‘ frappe ‘ au groupe ‘sudo’ via la commande ci-dessous.
sudo usermod -aG sudo frappeEnfin, vérifiez le nouvel utilisateur en exécutant la commande ci-dessous. Vous vous connecterez en tant qu’utilisateur ‘ frappe ‘ et obtiendrez les privilèges root via la commande ‘ sudo su ‘.
su - frappe
sudo suVotre invite de terminal devrait changer pour quelque chose comme ‘root@hostname:/home/frappe..’. Tapez maintenant ‘exit’ pour vous déconnecter de la shell root.

Avec cela, vous avez créé un nouvel utilisateur pour ERPNext. Dans les étapes suivantes, vous installerez Python 3.10 manuellement en le compilant à partir de la source.
Installation de Python 3.10
ERPNext est une application web créée avec un framework frappe, qui est basé sur Python. Au moment de la rédaction de cet article, la dernière version du framework frappe et d’ERPNext nécessite au moins Python 3.10.
Dans cette étape, vous allez installer Python 3.10 manuellement à partir de la source. Parce que le dépôt Debian 11 actuel ne fournit pas encore les paquets Python 3.10.
Avant de commencer, assurez-vous que vous êtes connecté à votre serveur Debian en tant que nouvel utilisateur ‘ frappe ‘.
su - frappePour commencer, exécutez la commande ci-dessous pour mettre à jour votre index de paquets Debian.
sudo apt updateExécutez maintenant la commande apt ci-dessous pour installer les dépendances nécessaires à la compilation de Python.
sudo apt install wget build-essential libncursesw5-dev libssl-dev \
libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-devEntrez y lorsque vous y êtes invité et appuyez sur ENTRER pour continuer.

Ensuite, téléchargez le code source de Python 3.10 à partir de la page de téléchargement de Python via la commande wget ci-dessous. Dans cet exemple, vous allez télécharger et installer Python 3.10.9.
wget https://www.python.org/ftp/python/3.10.9/Python-3.10.9.tgzAprès le téléchargement du code source de Python, extrayez le code source de Python via la commande tar et déplacez le répertoire de travail à l’intérieur.
tar xzf Python-3.10.9.tgz
cd Python-*/Exécutez maintenant la commande ci-dessous pour compiler Python 3.10 et l’installer.
./configure --enable-optimizations
nproc
sudo make -j2
sudo make altinstall
Après la fin de l’installation de Python, vous devriez trouver votre binaire Python dans le répertoire ‘ /usr/local/bin/ ‘. Exécutez la commande ci-dessous pour vérifier l’installation de Python 3.10.
ls /usr/local/binVous devriez voir le fichier binaire des paquets Python 3.10 tels que ‘ python3.10 ‘ et ‘ pip3.10 ‘.
Ensuite, pour vous assurer que vous pouvez exécuter les nouvelles commandes de version de Python, vous devez ajouter le répertoire ‘ /usr/local/bin ‘ au PATH système et au secure_path de visudo.
Créez un nouveau fichier ‘/etc/profile.d/custom-path.sh’ en utilisant la commande de l’éditeur nano ci-dessous.
sudo nano /etc/profile.d/custom-path.shAjoutez la ligne suivante au fichier.
export PATH=$PATH:/usr/local/bin/Enregistrez le fichier et quittez l’éditeur.
Exécutez maintenant la commande ci-dessous pour charger le nouveau fichier ‘ /etc/profile.d/custom-path.sh ‘ et vérifier le PATH système.
source /etc/profile.d/custom-path.sh
echo $PATHVous devriez voir que le répertoire ‘ /usr/local/bin ‘ a été ajouté à la variable d’environnement PATH du système.
Ensuite, exécutez la commande ci-dessous pour modifier la configuration des sudoers.
sudo visudoSur la ligne ‘ Defaults secure_path= ‘, ajoutez le nouveau secure_path binaire ‘ /usr/local/bin ‘.
Defaults secure_path=....:/usr/local/binEnregistrez et quittez l’éditeur lorsque vous avez terminé.
Avec cela, vous pouvez maintenant exécuter le nouveau Python 3.10 via la commande sudo. Exécutez la commande ci-dessous pour vérifier Python3.10 et Pip3.10.
sudo python3.10 --version
sudo pip3.10 --versionVoici la sortie similaire que vous recevrez sur votre terminal.

Maintenant que vous avez installé Python 3.10, passez à l’installation des dépendances d’ERPNext, qui est le serveur web Nginx et Supervisor.
Installation de Nginx et Supervisor
Pour installer ERPNext, vous devez installer Nginx qui sera utilisé comme serveur web par défaut, et le Supervisor comme gestionnaire de processus. Les deux paquets Nginx et Supervisor sont disponibles dans le dépôt Debian et vous pouvez facilement installer les deux paquets via APT.
Exécutez la commande apt ci-dessous pour installer les paquets Nginx et Supervisor.
sudo apt install git nginx supervisorEntrez y lorsque vous y êtes invité et appuyez sur ENTRER pour continuer.

Ensuite, exécutez la commande utilitaire systemctl ci-dessous pour vérifier les deux services Nginx et Supervisor. Cela garantira que les deux services Nginx et Supervisor sont en cours d’exécution et activés, ce qui signifie que les deux services doivent s’exécuter automatiquement au démarrage.
Vérifiez le service Nginx.
sudo systemctl is-enabled nginx
sudo systemctl status nginxSortie :

Vérifiez le service Supervisor.
sudo systemctl is-enabled supervisor
sudo systemctl status supervisorSortie :

Avec Nginx et Supervisor installés et en cours d’exécution, passez à l’installation suivante du serveur Redis et de Fail2ban.
Installation de Redis et Fail2ban
Redis est une base de données clé-valeur qui peut être utilisée pour stocker des données temporaires telles que des sessions. Fail2ban est un outil de sécurité pour bloquer les attaques par force brute contre vos applications ERPNext.
ERPNext nécessite Redis qui sera utilisé comme gestionnaire de session et Fail2ban pour bloquer les attaques par force brute sur la page de connexion utilisateur d’ERPNext.
Exécutez la commande apt ci-dessous pour installer Redis et Fail2ban sur votre serveur Debian.
sudo apt install redis-server fail2banEntrez y lorsque vous y êtes invité pour la confirmation, puis appuyez sur ENTRER pour continuer.


Après l’installation de Redis et Fail2ban, exécutez la commande systemctl ci-dessous pour vérifier les deux services.
sudo systemctl is-enabled redis-server
sudo systemctl status redis-serversudo systemctl is-enabled fail2ban
sudo systemctl status fail2banPour le service Redis, vous devriez voir une sortie similaire à ceci - Le service Redis est activé et sera exécuté automatiquement au démarrage. Et l’état actuel de Redis est en cours d’exécution.

Pour le service Fail2ban, vous devriez voir une sortie similaire à ceci - Le service Fail2ban est activé et sera exécuté automatiquement au démarrage. Et l’état actuel de Fail2ban est en cours d’exécution.

Vous avez maintenant le serveur Redis et Fail2ban installés et en cours d’exécution. Dans les étapes suivantes, vous allez installer et configurer le serveur de base de données MariaDB.
Installation et configuration du serveur MariaDB
Lors de l’installation par défaut, ERPNext utilisera MySQL/MariaDB comme serveur de base de données. ERPNext nécessite une version spécifique de MySQL/MariaDB pour l’installation.
Dans cette étape, vous allez installer le serveur MariaDB 10.6 à partir du dépôt officiel de MariaDB. Ensuite, vous ajouterez des configurations à votre serveur MariaDB et sécuriserez le déploiement du serveur MariaDB.
Exécutez la commande ci-dessous pour ajouter le dépôt du serveur MariaDB v10.6.
sudo curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-10.6"Vous recevrez une sortie similaire à ceci.
Exécutez maintenant la commande apt ci-dessous pour installer les paquets MariaDB.
sudo apt install mariadb-server mariadb-client default-libmysqlclient-devEntrez y lorsque vous y êtes invité pour l’installation et appuyez sur ENTRER pour continuer.

Après l’installation du serveur MariaDB, exécutez la commande systemctl ci-dessous pour vérifier le service MariaDB et vous assurer que le service est activé et en cours d’exécution.
sudo systemctl is-enabled mariadb
sudo systemctl status mariadbVous devriez maintenant obtenir une sortie comme suit - le service MariaDB est activé et sera exécuté automatiquement au démarrage. Et l’état actuel du service MariaDB est en cours d’exécution.

Ensuite, ouvrez le fichier de configuration du serveur MariaDB ‘/etc/alternatives/my.cnf’ en utilisant la commande de l’éditeur nano ci-dessous.
sudo nano /etc/alternatives/my.cnfAjoutez les lignes suivantes au fichier. La configuration ci-dessous activera le format ‘barruca’ sur votre serveur MariaDB et vous définirez également le jeu de caractères par défaut pour le serveur et le client sur ‘ utf8mb4 ‘.
[mysqld]
innodb-file-format=barracuda
innodb-file-per-table=1
innodb-large-prefix=1
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[mysql]
default-character-set = utf8mb4Enregistrez le fichier et quittez l’éditeur lorsque vous avez terminé.
Exécutez maintenant la commande systemctl ci-dessous pour redémarrer le service MariaDB et appliquer les modifications.
sudo systemctl restart mariadbEnsuite, vous sécuriserez votre déploiement MariaDB.
Exécutez la commande ‘ mariadb-secure-installation ‘ ci-dessous pour sécuriser votre déploiement MariaDB. On vous demandera ensuite de configurer le mot de passe root de MariaDB, alors assurez-vous de saisir et de répéter le nouveau mot de passe. Pour les autres configurations, entrez Y pour confirmer et appuyez sur ENTRER.
sudo mariadb-secure-installationAvec cela, vous avez maintenant terminé l’installation et la configuration du serveur MariaDB. Dans l’étape suivante, vous installerez le paquet wkhtmltopdf que ERPNext utilisera pour générer des rapports PDF.
Installation du paquet Wkhtmltopdf
Dans cette étape, vous allez installer le paquet Wkhtmltopdf que ERPNext utilisera pour générer des rapports PDF. Le Wkhtmltopdf peut être téléchargé et installé manuellement via un fichier .deb ou .rpm. Mais pour Debian, vous pouvez l’installer à partir du dépôt officiel de Debian via APT.
Exécutez la commande ci-dessous pour installer le paquet wkhtmltopdf. Entrez Y lorsque vous y êtes invité et appuyez sur ENTRER pour continuer.
sudo apt install xvfb libfontconfig wkhtmltopdf
Après l’installation de Wkhtmltopdf, exécutez la commande ci-dessous pour le vérifier. La commande wkhtmltopdf est utilisée pour convertir la page HTML en PDF, tandis que la commande wkhtmltoimage convertit la page HTML en divers formats d’image.
which wkhtmltopdf
wkhtmltopdf --versionwhich wkhtmltoimage
wkhtmltoimage --versionVous recevrez une sortie similaire à ceci - Le Wkhtmltopdf v0.12 est installé sur votre système Debian.

Dans les étapes suivantes, vous installerez Node.js et le gestionnaire de paquets Yarn qui seront utilisés pour générer des fichiers statiques pour ERPNext.
Installation de Nodejs 16 et Yarn
La dernière version d’ERPNext est v14, qui nécessite au moins Node.js 16 et le gestionnaire de paquets Yarn. Dans cette étape, vous allez installer Node.js 16 via le dépôt Nodesource. Ensuite, installez le gestionnaire de paquets Yarn.
Pour commencer, exécutez la commande ci-dessous pour ajouter le dépôt Nodesource pour Node.js 16.
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bashVous recevrez ensuite une sortie similaire à ceci.

Ensuite, exécutez la commande ci-dessous pour ajouter le dépôt Yarn pour la distribution Debian-Linux.
sudo curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
Après cela, mettez à jour et rafraîchissez votre index de paquets Debian via la commande ‘apt update’. Ensuite, installez Node.js et le gestionnaire de paquets Yarn via la commande ‘apt install’.
sudo apt update
sudo apt install nodejs yarnMaintenant, l’installation de Node.js et du gestionnaire de paquets Yarn devrait commencer.

Lorsque Node.js et Yarn sont installés, vous avez maintenant terminé l’installation des dépendances de paquets pour le framework web Frappe et l’application ERPNext.
Installation du framework frappe et de frappe-bench
ERPNext est un logiciel ERP open-source qui a été créé avec le framework frappe, qui est écrit en Python et JavaScript. Pour installer ERPNext, vous devez installer le framework frappe sur votre système, et il peut être installé via ‘frappe-bench’ ou ‘bench’.
Donc d’abord, vous devez installer le bench. Ensuite, installez le framework frappe via le bench. Enfin, vous installerez l’application ERPNext au sein du framework frappe.
Pour installer le bench, exécutez la commande ci-dessous avec pip3.10.
sudo pip3.10 install frappe-benchVous recevrez une sortie similaire à ceci lors de l’installation du bench.

Après l’installation du bench, exécutez la commande ci-dessous pour le vérifier. Vous recevrez le chemin binaire de la commande ‘ bench ‘ et la version actuelle du bench que vous avez installée.
which bench
bench --versionAvec le bench installé, vous allez ensuite installer le framework frappe. Exécutez la commande ‘bench’ ci-dessous pour installer le framework frappe dans votre répertoire de travail actuel. De plus, vous spécifierez la version de Python qui sera utilisée pour Python 3.10, spécifierez la version du framework frappe à v14, et le répertoire d’installation cible est ‘ frappe-bench ‘.
bench init --python python3.10 --frappe-branch version-14 frappe-benchVous recevrez une sortie similaire à ceci lors de l’installation du framework frappe.

Après l’installation du framework frappe, vous devriez recevoir la sortie suivante à la fin de l’installation.

Enfin, exécutez la commande ci-dessous pour permettre à d’autres utilisateurs de lire et d’exécuter le répertoire d’installation du framework frappe. Cela est nécessaire pour que le serveur web Nginx puisse lire et exécuter le framework frappe.
sudo chmod -R o+rx /home/frappe/frappe-bench
or
sudo chmod -R o+rx /home/frappeAvec le framework frappe installé, vous êtes maintenant prêt à installer et configurer ERPNext.
Configuration d’un nouveau site/projet dans le framework frappe
Avant d’installer ERPNext, vous devez créer un nouveau site/projet sur le framework frappe. Dans cette étape, vous allez créer un nouveau site/projet et changer l’environnement dans le nouveau projet via le bench.
Tout d’abord, déplacez votre répertoire de travail vers ‘ frappe-bench ‘ via la commande cd.
cd ~/frappe-benchExécutez la commande bench ci-dessous pour créer un nouveau site/projet pour ERPNext. Dans cet exemple, vous allez créer un nouveau site ‘ erp.howtoforge.local ‘, qui est le nom de domaine cible de l’installation d’ERPNext. De plus, lors du processus de configuration, on vous demandera de configurer le mot de passe Administrateur pour votre projet frappe, alors saisissez votre mot de passe et répétez-le. Ce mot de passe sera utilisé pour vous connecter à votre application ERPNext.
bench new-site erp.howtoforge.localEnfin, exécutez la commande ci-dessous pour passer au nouveau site/projet ‘ erp.howtoforge.local ‘.
bench use erp.howtoforge.localVoici la sortie lors de la création du site/projet et après être passé au nouveau site/projet.

Installation d’ERPNext via frappe-bench
Après la création du nouveau site/projet sur le framework frappe, exécutez la commande ci-dessous pour télécharger l’application ‘ payments ‘ et l’ ‘ erpnext ‘. Dans cet exemple, vous allez télécharger ERPNext v14.
bench get-app payments
bench get-app --branch version-14 erpnextVoici une sortie similaire que vous recevrez lors du processus de téléchargement de ‘ payments ‘.

Et voici le processus de téléchargement de l’application ERPNext.

Ensuite, exécutez la commande ci-dessous pour installer l’application ERPNext sur le site/projet ‘erp.howtoforge.local ‘.
bench --site erp.howtoforge.local install-app erpnextVous recevrez une sortie similaire à ceci - Vous devriez également voir que l’application ‘ payments ‘ est automatiquement installée en tant que dépendance pour l’application ERPNext.

Enfin, exécutez la commande bench ci-dessous pour activer le planificateur et désactiver le mode maintenance sur le site/projet ‘erp.howtoforge.local’.
bench --site erp.howtoforge.local enable-scheduler
bench --site erp.howtoforge.local set-maintenance-mode offÀ ce stade, l’installation d’ERPNext est terminée. Mais, si vous exécutez ERPNext en production, vous devez ensuite configurer et configurer le serveur web Nginx et Supervisor, qui peuvent être configurés via la commande bench.
Déploiement d’ERPNext pour la production
Tout d’abord, exécutez la commande ci-dessous pour commencer à configurer le framework frappe et ERPNext pour l’environnement de production. Cela installera Ansible et configurera automatiquement le déploiement d’ERPNext via Ansible.
sudo bench setup production frappeVoici la sortie lors de l’installation d’Ansible.

Voici la sortie lorsque la configuration est terminée.

Ensuite, exécutez la commande bench ci-dessous pour configurer Nginx et Supervisor pour ERPNext. Lorsqu’on vous demande de remplacer les paramètres actuels, entrez y pour confirmer et appuyez sur ENTRER.
sudo bench setup supervisor
sudo bench setup nginxAprès cela, exécutez à nouveau la commande bench ci-dessous pour vous assurer que la configuration de Supervisor et Nginx est installée.
sudo bench setup production frappeEntrez y pour remplacer les paramètres actuels et appuyez sur ENTRER pour continuer.

Enfin, exécutez la commande ‘supervisorctl’ ci-dessous avec des privilèges sudo. Cela vérifiera tous les processus et services utilisés par le framework frappe et ERPNext.
sudo supervisorctl statusSi votre installation d’ERPNext est réussie, vous devriez recevoir une sortie similaire à la suivante - Tous les services pour le framework frappe et ERPNext sont en cours d’exécution.

À ce stade, vous avez terminé l’installation d’ERPNext et il fonctionne avec Nginx comme serveur web et Supervisor comme gestionnaire de processus. Vous pouvez maintenant accéder à votre installation d’ERPNext via votre nom de domaine et le navigateur web.
Configuration de l’installation d’ERPNext
Ouvrez votre navigateur web et visitez le nom de domaine de votre installation d’ERPNext (c’est-à-dire : http://erp.howtoforge.local /). Vous verrez alors la page de connexion du framework frappe.
Saisissez l’utilisateur par défaut ‘ Administrator ‘ et saisissez le mot de passe que vous avez utilisé lors du processus de création du site/projet.

Sélectionnez maintenant la langue par défaut, le fuseau horaire et la devise. Cliquez ensuite sur Suivant.

Saisissez le nouvel utilisateur administrateur pour votre installation d’ERPNext. Saisissez votre nom complet, votre adresse e-mail et votre mot de passe, puis cliquez sur Suivant.

Saisissez le nom de votre entreprise et téléchargez le logo de votre entreprise, puis cliquez sur Suivant.

Saisissez des détails sur votre organisation et cliquez sur Terminer la configuration.

Vous devriez maintenant voir le tableau de bord d’administration de votre installation d’ERPNext.

Sécurisation avec des certificats SSL/TLS via Certbot et Letsencrypt
Dans cette étape, vous allez sécuriser le déploiement d’ERPNext avec des certificats SSL/TLS qui peuvent être générés à l’aide de l’outil Certbot de Letsencrypt. Avant de commencer, assurez-vous que votre nom de domaine est pointé vers l’adresse IP de votre serveur, et assurez-vous que vous avez une adresse e-mail qui sera utilisée pour vous inscrire à Letsencrypt.
Exécutez la commande apt ci-dessous pour installer l’outil certbot et le plugin certbot pour le serveur web Nginx. Lorsque vous y êtes invité, entrez y pour confirmer et appuyez sur ENTRER pour continuer.
sudo apt install certbot python3-certbot-nginxAprès l’installation de certbot, exécutez la commande certbot ci-dessous pour générer des certificats SSL pour votre nom de domaine ERPNext. Assurez-vous de changer le nom de domaine et l’adresse e-mail dans la commande ci-dessous.
sudo certbot --nginx --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email [email protected] -d erp.howtoforge.localAvec cela, l’installation d’ERPNext est maintenant sécurisée avec des certificats SSL/TLS via Certbot et Letsencrypt. Vous avez également configuré la redirection automatique de HTTP vers HTTPS sur votre nom de domaine ERPNext, ce que Certbot gère automatiquement.
Conclusion
Dans ce tutoriel, vous avez appris comment installer ERPNext, un logiciel ERP open-source, sur un serveur Debian 11. Vous avez également appris comment installer certaines dépendances, telles que Python 3.10, qui est installé manuellement en compilant et en installant le code source. Vous avez installé d’autres dépendances sur votre serveur Debian, telles que MariaDB, Nginx, Supervisor, Redis et Fail2ban.
Vous avez également appris comment installer le framework Frappe et construire ERPNext dessus. Ensuite, vous avez appris la configuration de base d’ERPNext en tant que logiciel ERP.
Enfin, vous avez configuré ERPNext pour la production en configurant Nginx comme serveur web et Supervisor comme gestionnaire de processus. Vous avez également sécurisé l’utilisation d’ERPNext avec Certbot et Letsencrypt.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.