ERPNext est un logiciel ERP gratuit et open source écrit en Python sur le framework Frappe et comprend la comptabilité, l'inventaire, la fabrication, le CRM, les ventes, les achats, la gestion de projet, le SGRH et plus encore. ERPNext est un système ERP simple, puissant et facile à utiliser. Il est livré avec une belle interface Web qui peut être utilisée pour gérer les tâches quotidiennes à partir d'un emplacement central.
Dans ce tutoriel, nous allons apprendre à installer le logiciel ERPNext sur le serveur Debian 9.
Prérequis
- Un serveur exécutant Debian 9.
- Un utilisateur non root avec des privilèges sudo.
Mise en route
Avant de commencer, il est recommandé de mettre à jour votre référentiel de packages vers la dernière version. Vous pouvez le faire en exécutant la commande suivante :
sudo apt-get update -y
sudo apt-get upgrade -y
Ensuite, redémarrez le système pour appliquer toutes les modifications.
Installer les dépendances
ERPNext nécessite Python version 2.7 pour fonctionner correctement. Vous pouvez installer Python et d'autres packages requis en exécutant la commande suivante :
sudo apt-get install python-minimal git build-essential python-setuptools python-dev libffi-dev libssl-dev curl -y
Vous devrez également installer l'outil pip de Python pour installer les dépendances Python. Vous pouvez le faire en exécutant la commande suivante :
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
Ensuite, installez ansible à l'aide de la commande pip :
sudo pip install ansible
Installer Node.js, Redis et Nginx
Par défaut, la dernière version de Node.js n'est pas disponible dans Debian 9. Vous devrez donc ajouter le référentiel Nodesource pour Node.js 8.x. Vous pouvez le faire en exécutant la commande suivante :
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
Ensuite, installez Node.js, Nginx et Redis en exécutant la commande suivante :
sudo apt-get install nodejs redis-server nginx -y
Une fois tous les packages installés, démarrez les services Nginx et Redis et autorisez-les à démarrer au démarrage avec la commande suivante :
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start redis-server
sudo systemctl enable redis-server
Installer et configurer MariaDB
Par défaut, la dernière version de MariaDB n'est pas disponible dans le référentiel Debian 9. Vous devrez donc ajouter le référentiel MariaDB pour cela.
Tout d'abord, téléchargez et ajoutez la clé de signature à votre système avec la commande suivante :
sudo apt-get install software-properties-common dirmngr
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
Ensuite, ajoutez le référentiel MariaDB à l'aide de la commande suivante :
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://ftp.utexas.edu/mariadb/repo/10.2/debian stretch main'
Enfin, installez le serveur MariaDB avec la commande suivante :
sudo apt-get update -y
sudo apt-get install mariadb-server libmysqlclient-dev -y
Ensuite, vous devrez ajouter le moteur de stockage Barracuda au fichier de configuration MariaDB pour la création des bases de données ERPNext. Vous pouvez le faire en éditant le fichier my.cnf :
sudo nano /etc/mysql/my.cnf
ajoutez les lignes suivantes :
[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 = utf8mb4
Enregistrez et fermez le fichier lorsque vous avez terminé, puis démarrez le service MariaDB et activez-le pour qu'il démarre au démarrage avec la commande suivante :
sudo systemctl restart mysql
sudo systemctl enable mysql
Ensuite, sécurisez MariaDB en exécutant le script mysql_secure_installation :
sudo mysql_secure_installation
Ce script définira le 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é comme indiqué ci-dessous :
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
Installer le convertisseur PDF
Vous devrez également installer wkhtmltopdf pour convertir le HTML en PDF à l'aide du moteur de rendu QT Webkit. Tout d'abord, installez les dépendances requises à l'aide de la commande suivante :
sudo apt-get install libxext6 xfonts-75dpi xfonts-base libxrender1 -y
Ensuite, téléchargez la dernière version de wkhtmltopdf à l'aide de la commande suivante :
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
Ensuite, extrayez le fichier téléchargé dans le répertoire /opt :
sudo tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz -C /opt
Créez ensuite un lien symbolique pour wkhtmltopdf à l'aide de la commande suivante :
sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
Installer le banc
Ensuite, vous devrez installer Bench pour installer et gérer l'application ERPNext sur votre système. Bench est également utilisé pour créer et gérer les configurations Nginx et superviseur.
Avant d'installer Bench, vous devrez ajouter un utilisateur pour Bench.
Tout d'abord, créez un utilisateur Bench avec la commande suivante :
sudo adduser bench
Ensuite, fournissez les autorisations sudo à l'utilisateur du banc.
sudo usermod -aG sudo bench
Ensuite, connectez-vous avec l'utilisateur Bench et clonez le référentiel Bench avec la commande suivante :
su - bench
git clone https://github.com/frappe/bench bench-repo
Enfin, installez Bench à l'aide de la commande pip :
sudo pip install -e bench-repo
Installer ERPNext
Ensuite, initialisez un répertoire bench avec le framework frappe installé.
bench init erpnext
Ensuite, changez le répertoire en erpnext et créez un nouveau site Frappe avec la commande suivante :
cd erpnext
bench new-site test.example.com
La commande ci-dessus vous demandera de fournir le mot de passe root MySQL et vous demandera de définir un nouveau mot de passe pour le compte administrateur. Le mot de passe administrateur devra se connecter ultérieurement au tableau de bord administrateur.
Ensuite, téléchargez les fichiers d'installation d'ERPNext à partir du référentiel Git avec la commande suivante :
bench get-app erpnext https://github.com/frappe/erpnext
Ensuite, installez ERPNext sur votre site nouvellement créé.
bench --site test.example.com install-app erpnext
Enfin, démarrez l'application Bench avec la commande suivante :
bench start
Une fois l'application démarrée avec succès, vous devriez voir la sortie suivante :
13:40:10 system | redis_socketio.1 started (pid=2618) 13:40:10 system | worker_long.1 started (pid=2625) 13:40:10 system | watch.1 started (pid=2619) 13:40:10 system | redis_queue.1 started (pid=2626) 13:40:10 redis_socketio.1 | 2630:M 24 Feb 13:40:10.939 * Increased maximum number of open files to 10032 (it was originally set to 1024). 13:40:10 system | web.1 started (pid=2629) 13:40:11 system | schedule.1 started (pid=2634) 13:40:10 redis_socketio.1 | _._ 13:40:10 redis_socketio.1 | _.-``__ ''-._ 13:40:10 redis_socketio.1 | _.-`` `. `_. ''-._ Redis 3.0.6 (00000000/0) 64 bit 13:40:10 redis_socketio.1 | .-`` .-```. ```\/ _.,_ ''-._ 13:40:10 redis_socketio.1 | ( ' , .-` | `, ) Running in standalone mode 13:40:10 redis_socketio.1 | |`-._`-...-` __...-.``-._|'` _.-'| Port: 12000 13:40:10 redis_socketio.1 | | `-._ `._ / _.-' | PID: 2630 13:40:10 redis_socketio.1 | `-._ `-._ `-./ _.-' _.-' 13:40:10 redis_socketio.1 | |`-._`-._ `-.__.-' _.-'_.-'| 13:40:10 redis_socketio.1 | | `-._`-._ _.-'_.-' | http://redis.io 13:40:10 redis_socketio.1 | `-._ `-._`-.__.-'_.-' _.-' 13:40:10 redis_socketio.1 | |`-._`-._ `-.__.-' _.-'_.-'| 13:40:10 redis_socketio.1 | | `-._`-._ _.-'_.-' | 13:40:10 redis_socketio.1 | `-._ `-._`-.__.-'_.-' _.-' 13:40:10 redis_socketio.1 | `-._ `-.__.-' _.-' 13:40:10 redis_socketio.1 | `-._ _.-' 13:40:10 redis_socketio.1 | `-.__.-' 13:40:10 redis_socketio.1 | 13:40:11 system | worker_default.1 started (pid=2639) 13:40:10 redis_socketio.1 | 2630:M 24 Feb 13:40:10.973 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 13:40:10 redis_socketio.1 | 2630:M 24 Feb 13:40:10.974 # Server started, Redis version 3.0.6 13:40:10 redis_socketio.1 | 2630:M 24 Feb 13:40:10.974 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 13:40:10 redis_socketio.1 | 2630:M 24 Feb 13:40:10.974 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. 13:40:10 redis_queue.1 | 2635:M 24 Feb 13:40:10.976 * Increased maximum number of open files to 10032 (it was originally set to 1024). 13:40:10 redis_queue.1 | _._ 13:40:10 redis_queue.1 | _.-``__ ''-._ 13:40:10 redis_queue.1 | _.-`` `. `_. ''-._ Redis 3.0.6 (00000000/0) 64 bit 13:40:10 redis_queue.1 | .-`` .-```. ```\/ _.,_ ''-._ 13:40:10 redis_queue.1 | ( ' , .-` | `, ) Running in standalone mode 13:40:10 redis_queue.1 | |`-._`-...-` __...-.``-._|'` _.-'| Port: 11000 13:40:10 redis_queue.1 | | `-._ `._ / _.-' | PID: 2635 13:40:10 redis_queue.1 | `-._ `-._ `-./ _.-' _.-' 13:40:10 redis_queue.1 | |`-._`-._ `-.__.-' _.-'_.-'| 13:40:10 redis_queue.1 | | `-._`-._ _.-'_.-' | http://redis.io 13:40:10 redis_queue.1 | `-._ `-._`-.__.-'_.-' _.-' 13:40:10 redis_queue.1 | |`-._`-._ `-.__.-' _.-'_.-'| 13:40:10 redis_queue.1 | | `-._`-._ _.-'_.-' | 13:40:10 redis_queue.1 | `-._ `-._`-.__.-'_.-' _.-' 13:40:10 redis_queue.1 | `-._ `-.__.-' _.-' 13:40:10 redis_queue.1 | `-._ _.-' 13:40:10 redis_queue.1 | `-.__.-' 13:40:10 redis_queue.1 | 13:40:10 redis_queue.1 | 2635:M 24 Feb 13:40:10.998 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 13:40:10 redis_queue.1 | 2635:M 24 Feb 13:40:10.999 # Server started, Redis version 3.0.6 13:40:11 redis_queue.1 | 2635:M 24 Feb 13:40:11.000 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 13:40:11 redis_socketio.1 | 2630:M 24 Feb 13:40:11.000 * The server is now ready to accept connections on port 12000 13:40:11 system | socketio.1 started (pid=2637) 13:40:11 redis_queue.1 | 2635:M 24 Feb 13:40:11.029 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. 13:40:11 redis_queue.1 | 2635:M 24 Feb 13:40:11.029 * The server is now ready to accept connections on port 11000 13:40:11 system | redis_cache.1 started (pid=2652) 13:40:11 system | worker_short.1 started (pid=2651) 13:40:11 redis_cache.1 | 2660:M 24 Feb 13:40:11.100 * Increased maximum number of open files to 10032 (it was originally set to 1024). 13:40:11 redis_cache.1 | _._ 13:40:11 redis_cache.1 | _.-``__ ''-._ 13:40:11 redis_cache.1 | _.-`` `. `_. ''-._ Redis 3.0.6 (00000000/0) 64 bit 13:40:11 redis_cache.1 | .-`` .-```. ```\/ _.,_ ''-._ 13:40:11 redis_cache.1 | ( ' , .-` | `, ) Running in standalone mode 13:40:11 redis_cache.1 | |`-._`-...-` __...-.``-._|'` _.-'| Port: 13000 13:40:11 redis_cache.1 | | `-._ `._ / _.-' | PID: 2660 13:40:11 redis_cache.1 | `-._ `-._ `-./ _.-' _.-' 13:40:11 redis_cache.1 | |`-._`-._ `-.__.-' _.-'_.-'| 13:40:11 redis_cache.1 | | `-._`-._ _.-'_.-' | http://redis.io 13:40:11 redis_cache.1 | `-._ `-._`-.__.-'_.-' _.-' 13:40:11 redis_cache.1 | |`-._`-._ `-.__.-' _.-'_.-'| 13:40:11 redis_cache.1 | | `-._`-._ _.-'_.-' | 13:40:11 redis_cache.1 | `-._ `-._`-.__.-'_.-' _.-' 13:40:11 redis_cache.1 | `-._ `-.__.-' _.-' 13:40:11 redis_cache.1 | `-._ _.-' 13:40:11 redis_cache.1 | `-.__.-' 13:40:11 redis_cache.1 | 13:40:11 redis_cache.1 | 2660:M 24 Feb 13:40:11.115 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 13:40:11 redis_cache.1 | 2660:M 24 Feb 13:40:11.115 # Server started, Redis version 3.0.6 13:40:11 redis_cache.1 | 2660:M 24 Feb 13:40:11.115 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 13:40:11 redis_cache.1 | 2660:M 24 Feb 13:40:11.116 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. 13:40:11 redis_cache.1 | 2660:M 24 Feb 13:40:11.116 * The server is now ready to accept connections on port 13000 13:40:16 socketio.1 | listening on *: 9000 13:40:34 worker_long.1 | 13:40:34 RQ worker u'rq:worker:Node1.2632.long' started, version 0.10.0 13:40:34 worker_long.1 | 13:40:34 *** Listening on long... 13:40:34 worker_long.1 | 13:40:34 Cleaning registries for queue: long 13:40:34 worker_default.1 | 13:40:34 RQ worker u'rq:worker:Node1.2646.default' started, version 0.10.0 13:40:34 worker_default.1 | 13:40:34 *** Listening on default... 13:40:34 worker_default.1 | 13:40:34 Cleaning registries for queue: default 13:40:34 worker_short.1 | 13:40:34 RQ worker u'rq:worker:Node1.2661.short' started, version 0.10.0 13:40:34 worker_short.1 | 13:40:34 *** Listening on short... 13:40:34 worker_short.1 | 13:40:34 Cleaning registries for queue: short 13:40:34 web.1 | * Running on http://0.0.0.0:8000/ (Press CTRL+C to quit)
Accéder à l'interface Web ERPNext
ERPNext est maintenant installé et fonctionne sur le port 8000 . Il est temps d'accéder à l'interface Web ERPNext.
Ouvrez votre navigateur Web et saisissez l'URL http://test.exaple.com:8000 , vous serez redirigé vers la page suivante :
Ici, fournissez les informations d'identification de votre compte administrateur et cliquez sur Connexion bouton, vous devriez voir la page suivante :
Ici, choisissez la langue anglaise et cliquez sur Suivant bouton, vous devriez voir la page suivante :
Ici, choisissez votre pays, votre fuseau horaire et votre devise, puis cliquez sur Suivant bouton, vous devriez voir la page suivante :
Ici, indiquez votre nom, votre adresse e-mail et votre mot de passe, puis cliquez sur Suivant bouton, vous devriez voir la page suivante :
Ici, sélectionnez votre domaine comme vous le souhaitez, puis cliquez sur Suivant bouton, vous devriez voir la page suivante :
Ici, indiquez le nom et l'abréviation de votre entreprise, puis cliquez sur Suivant bouton, vous devriez voir la page suivante :
Ici, fournissez les détails de votre organisation et cliquez sur Configuration complète bouton, vous devriez voir la page suivante :
Ici, définissez un objectif que vous souhaitez atteindre pour votre entreprise, puis cliquez sur Créer bouton, vous devriez voir la page suivante :
Ici, cliquez sur Suivant bouton pour continuer, vous devriez voir la page suivante :
Ici, ajoutez les clients que vous souhaitez ajouter, puis cliquez sur Créer bouton, vous devriez voir la page suivante :
Ici, cliquez sur Suivant bouton pour continuer, vous devriez voir la page suivante :
Ici, ajoutez vos fournisseurs que vous souhaitez ajouter, puis cliquez sur Créer bouton, vous devriez voir la page suivante :
Ici, cliquez sur Suivant bouton pour continuer, vous devriez voir la page suivante :
Ici, ajoutez vos produits et services que vous souhaitez acheter ou vendre, puis cliquez sur Créer bouton, vous devriez voir la page suivante :
Ici, cliquez sur Suivant bouton pour continuer, vous devriez voir la page suivante :
Ici, ajoutez des utilisateurs à votre organisation, puis cliquez sur Créer bouton, vous devriez voir la page suivante du tableau de bord ERPNext :
Conclusion
Félicitations ! vous avez installé et configuré avec succès ERPNext sur le serveur Debian 9. Vous pouvez maintenant utiliser facilement l'application pour gérer votre entreprise. Pour plus d'informations, veuillez vous reporter à la page de documentation officielle d'ERPNext sur Doc.