ERPNext est un logiciel de gestion d'entreprise gratuit, open-source, moderne et facile à utiliser utilisé par des milliers d'entreprises à travers le monde. Il s'agit d'une plate-forme ERP très simple qui prend en charge les secteurs de la vente au détail, du commerce, des services, de la fabrication, des ressources humaines, à but non lucratif et autres. Il s'agit d'un système ERP puissant et complet écrit en Python sur le 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 reporting intégré avec 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és sur votre serveur.
Mise en route
Tout d'abord, vous devrez mettre à jour votre système avec la dernière version. Vous pouvez le faire en exécutant la commande suivante :
sudo apt-get update -y
sudo apt-get upgrade -y
Une fois votre système mis à jour, vous devrez créer un utilisateur pour ERPNext.
Vous pouvez le faire avec la commande suivante :
sudo useradd -m -s /bin/bash erpnext
sudo passwd erpnext
Ensuite, donnez les privilèges sudo à l'utilisateur ERPNext avec la commande suivante :
sudo usermod -aG sudo erpnext
Ensuite, connectez-vous à l'utilisateur ERPNext et configurez la variable d'environnement avec la commande suivante :
su - erpnext
nano .bashrc
Ajoutez la ligne suivante :
PATH=$PATH:~/.local/bin/
Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, redémarrez votre système pour appliquer toutes les modifications.
Installer les packages requis
Tout d'abord, connectez-vous à votre système avec l'utilisateur erpnext et installez certaines dépendances requises par ERPNext sur votre système.
sudo apt-get install libffi-dev python-pip python-dev libssl-dev wkhtmltopdf -y
Ensuite, installez le serveur Nginx et MariaDB avec la commande suivante :
sudo apt-get install nginx mariadb-server -y
Une fois l'installation terminée, vous devrez apporter quelques modifications au fichier 50-server.cnf. Vous pouvez le faire avec la commande suivante :
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Effectuez 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
Enregistrez et fermez le fichier. Ensuite, redémarrez le service MariaDB pour appliquer toutes les modifications :
sudo systemctl restart mariadb
Vous pouvez maintenant vérifier l'état du serveur MariaDB avec la commande suivante :
sudo systemctl status mariadb
Vous devriez voir le résultat suivant :
? 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
Installer Redis et Node.js
Ensuite, vous devrez installer Redis et Node.js sur votre système. Vous pouvez 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, vous devrez donc d'abord la sécuriser. Vous pouvez le sécuriser avec la commande suivante :
sudo mysql_secure_installation
Répondez à 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 MariaDB sécurisée, connectez-vous au shell MariaDB avec la commande suivante :
sudo mysql -u root -p
Entrez votre mot de passe root lorsque vous y êtes invité. Ensuite, créez 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, accordez tous les privilèges à l'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, videz les privilèges et quittez le shell MariaDB avec la commande suivante :
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Installer ERPNext
Tout d'abord, créez un répertoire pour ERPNext et donnez les autorisations appropriées avec la commande suivante :
sudo mkdir -p /opt/erpnext
sudo chown -R erpnext /opt/erpnext/
Ensuite, changez le répertoire en erpnext et installez 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, installez bench à l'aide de la commande pip :
sudo pip install -e bench-repo
Ensuite, initialisez le répertoire bench avec frappe framework :
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, changez le répertoire en erpnext et créez un nouveau site pour le domaine node1.example.com avec la commande suivante :
bench new-site node1.example.com
Il vous sera demandé de fournir votre mot de passe root MySQL comme indiqué ci-dessous :
MySQL root password:
Indiquez votre mot de passe root et appuyez sur Entrée. Vous devriez voir le résultat suivant :
Installing frappe... Updating DocTypes for frappe : [========================================] Updating country info : [========================================] Set Administrator password: Re-enter Administrator password: *** Scheduler is disabled ***
Ensuite, fournissez les autorisations appropriées à l'erpnext avec la commande suivante :
sudo chown -R erpnext:erpnext /opt/erpnext/erpnext
Enfin, démarrez le serveur avec la commande suivante :
bench start
Vous devriez 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. Ouvrez votre navigateur Web et saisissez l'URL http://node1.example.come:8000. Vous serez redirigé vers la page suivante :
Maintenant, indiquez le nom d'utilisateur en tant qu'administrateur et le mot de passe que vous avez fourni lors de la configuration. Cliquez ensuite sur Signer dans bouton. Vous devriez voir la page suivante :
Ensuite, choisissez votre langue et cliquez sur Suivant bouton. Vous devriez voir la page suivante :
Ensuite, choisissez votre pays et cliquez sur Suivant bouton. Vous devriez voir la page suivante :
Ensuite, indiquez votre nom complet et votre adresse e-mail. Cliquez ensuite sur Terminer Configuration bouton. Vous devriez voir la page suivante :
Toutes nos félicitations! vous avez installé et configuré avec succès ERPNext sur le serveur Ubuntu 18.04. Vous pouvez désormais configurer facilement ERPNext dans un environnement de production.