Comment installer ERPNext sur Ubuntu 18.04 LTS

ERPNext est un logiciel de gestion d’entreprise gratuit, open-source, moderne et facile à utiliser, utilisé par des milliers d’entreprises dans le monde entier. Il s’agit d’une plateforme ERP très simple qui prend en charge le commerce de détail, le commerce, les services, la fabrication, les ressources humaines, les organisations à but non lucratif et d’autres secteurs. C’est un système ERP puissant et complet écrit en Python au sommet du framework Frappe. Il utilise Node.js pour le front-end et MariaDB pour stocker ses données. ERPNext fournit une interface Web pour effectuer les tâches quotidiennes. ERPNext fournit un système de rapports intégré avec une intégration de la suite bureautique.

Dans ce tutoriel, nous allons apprendre à installer et à configurer ERPNext sur le serveur Ubuntu 18.04 LTS.

Exigences

  • Un serveur exécutant Ubuntu 18.04.
  • Un utilisateur non-root avec des privilèges sudo configuré sur ton serveur.

Pour commencer

Tout d’abord, tu dois mettre à jour ton système avec la dernière version. Tu peux le faire en exécutant la commande suivante :

sudo apt-get update -y
sudo apt-get upgrade -y

Une fois que ton système est mis à jour, tu devras créer un utilisateur pour ERPNext.

Tu peux le faire avec la commande suivante :

sudo useradd -m -s /bin/bash erpnext
sudo passwd erpnext

Ensuite, donne des privilèges sudo à l’utilisateur ERPNext avec la commande suivante :

sudo usermod -aG sudo erpnext

Ensuite, connecte-toi à l’utilisateur ERPNext et configure la variable d’environnement avec la commande suivante :

su - erpnext
nano .bashrc

Ajoute la ligne suivante :

PATH=$PATH:~/.local/bin/

Sauvegarde et ferme le fichier, lorsque tu as terminé. Ensuite, redémarre ton système pour appliquer toutes les modifications.

Installe les paquets requis

Tout d’abord, connecte-toi à ton système avec l’utilisateur erpnext et installe certaines dépendances requises par ERPNext sur ton système.

sudo apt-get install libffi-dev python-pip python-dev libssl-dev wkhtmltopdf -y

Ensuite, installe Nginx et le serveur MariaDB avec la commande suivante :

sudo apt-get install nginx mariadb-server -y

Une fois l’installation terminée, tu devras apporter quelques modifications au fichier 50-server.cnf. Tu peux le faire avec la commande suivante :

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Apporte les modifications 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

Enregistre et ferme le fichier. Ensuite, redémarre le service MariaDB pour appliquer toutes les modifications :

sudo systemctl restart mariadb

Tu peux maintenant vérifier l’état du serveur MariaDB avec la commande suivante :

sudo systemctl status mariadb

Tu devrais voir la sortie suivante :

? mariadb.service - MariaDB 10.1.38 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2019-02-16 06:26:48 UTC; 2h 38min ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 4640 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 4636 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
  Process: 4505 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-
  Process: 4503 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 4482 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
 Main PID: 4607 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 31 (limit: 1111)
   CGroup: /system.slice/mariadb.service
           ??4607 /usr/sbin/mysqld

Aug 16 06:26:47 ubuntu1804 systemd[1]: Starting MariaDB 10.1.38 database server...
Aug 16 06:26:48 ubuntu1804 mysqld[4607]: 2019-02-16  6:26:48 140715015396480 [Note] /usr/sbin/mysqld (mysqld 10.1.38-MariaDB-0ubuntu0.18.04.1) starting
Aug 16 06:26:48 ubuntu1804 systemd[1]: Started MariaDB 10.1.38 database server.
Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4642]: Upgrading MySQL tables if necessary.
Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored
Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: Looking for 'mysql' as: /usr/bin/mysql
Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: This installation of MySQL is already upgraded to 10.1.38-MariaDB, use --force if you still n
Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4677]: Checking for insecure root accounts.
Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4681]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables

Installe Redis et Node.js

Ensuite, tu dois installer Redis et Node.js sur ton système. Tu peux les installer en exécutant la commande suivante :

sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
sudo apt-get install gcc g++ make -y
sudo apt-get install nodejs redis-server -y
sudo npm install -g yarn

Configurer MariaDB

Par défaut, l’installation de MariaDB n’est pas sécurisée, tu devras donc d’abord la sécuriser. Tu peux la sécuriser à l’aide de la commande suivante :

sudo mysql_secure_installation

Réponds à toutes les questions comme indiqué ci-dessous :

    Enter current password for root (enter for none):
    Set root password? [Y/n]: N
    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

Une fois que MariaDB est sécurisée, connecte-toi au shell MariaDB avec la commande suivante :

sudo mysql -u root -p

Saisis ton mot de passe root à l’invite. Ensuite, crée une base de données et un utilisateur pour ERPNext avec la commande suivante :

MariaDB [(none)]> create database erpnextdb;
MariaDB [(none)]> create user [email protected] identified by 'password';

Ensuite, accorde tous les privilèges à ERPNext avec la commande suivante :

MariaDB [(none)]> GRANT ALL ON erpnextdb.* TO 'erpnextuser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
MariaDB [(none)]> GRANT all privileges on *.* to 'root'@'localhost' IDENTIFIED BY '[email protected]' WITH GRANT OPTION;

Ensuite, annule les privilèges et quitte le shell MariaDB avec la commande suivante :

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Installer ERPNext

Tout d’abord, crée un répertoire pour ERPNext et donne les permissions appropriées avec la commande suivante :

sudo mkdir -p /opt/erpnext
sudo chown -R erpnext /opt/erpnext/

Ensuite, change le répertoire en erpnext et installe erpnext avec la commande suivante :

cd /opt/erpnext
git clone https://github.com/frappe/bench bench-repo

Sortie :

Cloning into 'bench-repo'...
remote: Enumerating objects: 19, done.
remote: Counting objects: 100% (19/19), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 6144 (delta 10), reused 13 (delta 5), pack-reused 6125
Receiving objects: 100% (6144/6144), 29.70 MiB | 231.00 KiB/s, done.
Resolving deltas: 100% (3924/3924), done.

Ensuite, installe bench à l’aide de la commande pip :

sudo pip install -e bench-repo

Ensuite, initialise le répertoire bench avec le framework frappe :

bench init erpnext

Sortie :

Building frappe assets...

? Built js/print_format_v3.min.js
? Built js/dialog.min.js
? Built js/web_form.min.js
? Built js/social.min.js
? Built js/modules.min.js
? Built js/form.min.js
? Built js/list.min.js
? Built js/frappe-vue.min.js
? Built js/chat.js
? Built js/desk.min.js
? Built js/control.min.js
? Built css/frappe-rtl.css
? Built css/module.min.css
? Built css/report.min.css
? Built css/form.min.css
? Built css/list.min.css
? Built frappe/css/email.css
? Built css/web_form.css
? Built css/frappe-web.css
? Built css/desk.min.css
? Built js/frappe-web.min.js
? Built js/report.min.js
?  Done in 31.313s
Done in 34.43s.
INFO:bench.utils:setting up backups
no crontab for erpnext
INFO:bench.utils:setting up auto update
no crontab for erpnext
Bench erpnext initialized

Ensuite, change le répertoire en erpnext et crée un nouveau site pour le domaine node1.example.com avec la commande suivante :

bench new-site node1.example.com

Il te sera demandé de fournir ton mot de passe racine MySQL comme indiqué ci-dessous :

MySQL root password:

Indique ton mot de passe root et appuie sur Entrée. Tu devrais voir la sortie suivante :

Installing frappe...
Updating DocTypes for frappe        : [========================================]
Updating country info               : [========================================]
Set Administrator password: 
Re-enter Administrator password: 
*** Scheduler is disabled ***

Ensuite, donne les permissions appropriées à l’erpnext avec la commande suivante :

sudo chown -R erpnext:erpnext /opt/erpnext/erpnext

Enfin, démarre le serveur avec la commande suivante :

bench start

Tu devrais voir le résultat suivant :

06:34:02 web.1            |  * Running on http://0.0.0.0:8000/ (Press CTRL+C to quit)
06:34:02 web.1            |  * Restarting with inotify reloader
06:34:03 watch.1          | yarn run v1.13.0
06:34:03 watch.1          | $ node rollup/watch.js
06:34:03 web.1            |  * Debugger is active!
06:34:04 web.1            |  * Debugger PIN: 159-307-235
06:34:13 watch.1          | 
06:34:13 watch.1          | Rollup Watcher Started
06:34:13 watch.1          | 
06:34:13 watch.1          | Watching...
06:34:15 watch.1          | Rebuilding frappe-web.css

Accéder à ERPNext

ERPNext est maintenant installé et écoute sur le port 8000. Ouvre ton navigateur Web et tape l’URL http://node1.example.come:8000. Tu seras redirigé vers la page suivante :

Connexion à ERPNext

Maintenant, indique le nom d’utilisateur comme Administrateur et le mot de passe que tu as fourni pendant l’installation. Ensuite, clique sur le bouton Se connecter. Tu devrais voir la page suivante :

Sélectionne la langue

Ensuite, choisis ta langue et clique sur le bouton Suivant. Tu devrais voir la page suivante :

Définir le nom de l'entreprise

Ensuite, choisis ton pays et clique sur le bouton Suivant. Tu devrais voir la page suivante :

Ajoute un premier utilisateur

Ensuite, indique ton nom complet et ton adresse e-mail. Puis, clique sur le bouton Terminer l’ installation. Tu devrais voir la page suivante :

Tableau de bord ERPNext

Félicitations ! Tu as réussi à installer et à configurer ERPNext dans le serveur Ubuntu 18.04. Tu peux maintenant facilement installer ERPNext dans un environnement de production.

Vous aimerez aussi...