Comment installer ERPNext Open Source ERP sur Ubuntu 17.04

ERP ou Enterprise Resource Planning est une suite d'applications d'entreprise utilisée pour gérer les principaux processus métier. ERPNext est une application ERP auto-hébergée gratuite et open source écrite en Python. Il utilise Node.js pour le frontal et MariaDB pour stocker ses données. ERPNext fournit une interface Web facile à utiliser qui permet aux entreprises de gérer les tâches quotidiennes. Il contient des modules pour la comptabilité, le CRM, la GRH, la fabrication, le POS, la gestion de projet, les achats, la gestion des ventes, la gestion des entrepôts, etc. ERPNext peut être utilisé pour gérer différentes industries telles que les prestataires de services, la fabrication, la vente au détail et les écoles.

Conditions préalables

Remarque: Pour ce didacticiel, nous utiliserons erp.example.comle nom de domaine pointé vers le serveur. Veuillez vous assurer de remplacer toutes les occurrences de erp.example.compar votre nom de domaine réel .

Avant de commencer, assurez-vous que votre serveur est à jour.

sudo apt update
sudo apt -y upgrade

Installer les outils de développement

ERPNext a besoin de Python version 2.7 pour fonctionner. Installez Python 2.7.

sudo apt -y install python-minimal

Vous devriez pouvoir vérifier sa version.

python -V

Vous verrez la sortie suivante.

user@vultr:~$ python -V
Python 2.7.13

Installez quelques autres dépendances.

sudo apt -y install git build-essential python-setuptools python-dev libffi-dev libssl-dev

Installez l' pipoutil Python . Pip est le gestionnaire de dépendances pour les packages Python.

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

Assurez-vous que vous disposez de la dernière version de pipet setuptools.

sudo pip install --upgrade pip setuptools

Installez Ansible à l'aide de Pip. Ansible automatise l'approvisionnement logiciel, la gestion de la configuration et le déploiement d'applications.

sudo pip install ansible

Installer le serveur MariaDB

Ajoutez le référentiel MariaDB dans le système.

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.nodesdirect.com/mariadb/repo/10.2/ubuntu xenial main'

Installez MariaDB.

sudo apt update
sudo apt -y install mariadb-server libmysqlclient-dev

Fournissez un mot de passe fort pour l'utilisateur root MariaDB lorsque vous y êtes invité.

Le moteur de stockage Barracuda est requis pour la création de bases de données ERPNext, vous devrez donc configurer MariaDB pour utiliser le moteur de stockage Barracuda. Modifiez le fichier de configuration MariaDB par défaut my.cnf.

sudo nano /etc/mysql/my.cnf

Ajoutez les lignes suivantes sous la [mysqld]ligne.

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

Ajoutez également la ligne suivante sous la [mysql]ligne.

default-character-set = utf8mb4

Redémarrez MariaDB et activez-le pour démarrer automatiquement au démarrage.

sudo systemctl restart mariadb
sudo systemctl enable mariadb

Avant de configurer la base de données, vous devrez sécuriser MariaDB. Vous pouvez le sécuriser en exécutant le mysql_secure_installationscript.

sudo mysql_secure_installation

Le mot de passe root de MariaDB vous sera demandé. Fournissez le mot de passe que vous avez défini lors de l'installation. Il vous sera demandé si vous souhaitez modifier le mot de passe existant de l'utilisateur root de votre serveur MariaDB. Vous pouvez ignorer la définition d'un nouveau mot de passe, car vous avez déjà fourni un mot de passe fort lors de l'installation. Répondez «Y» à toutes les autres questions posées.

Installez Nginx, Node.js et Redis

Ajoutez le référentiel Nodesource pour Node.js 8.x.

sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -

Installez Nginx, Node.js et Redis.

sudo apt -y install nginx nodejs redis-server

Démarrez Nginx et activez-le pour démarrer au démarrage.

sudo systemctl start nginx
sudo systemctl enable nginx

Démarrez Redis et activez-le au démarrage.

sudo systemctl start redis-server
sudo systemctl enable redis-server

Installer PDF Converter

Le wkhtmltopdfprogramme est un outil en ligne de commande qui convertit HTML en PDF à l'aide du moteur de rendu QT Webkit. Installez les dépendances requises.

sudo apt -y install libxrender1 libxext6 xfonts-75dpi xfonts-base

Téléchargez la dernière version de wkhtmltopdf.

wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz

Extraire l'archive.

sudo tar -xf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz -C /opt

La commande ci-dessus extraira l'archive vers /opt/wkhtmltox. Créez un lien logiciel afin que wkhtmltopdfet wkhtmltoimagepuisse être exécuté globalement comme une commande.

sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
sudo ln -s /opt/wkhtmltox/bin/wkhtmltoimage /usr/bin/wkhtmltoimage

Vous pouvez maintenant exécuter wkhtmltopdf -Vpour vérifier si cela fonctionne, vous verrez ceci.

user@vultr:~$ wkhtmltopdf -V
wkhtmltopdf 0.12.4 (with patched qt)

À ce stade, nous avons installé toutes les dépendances requises. Vous pouvez maintenant procéder à l'installation de Bench.

Installer le banc

Benchest un utilitaire de ligne de commande fourni par Frappe pour installer et gérer l'application ERPNext sur un système basé sur Unix à des fins de développement et de production. Bench peut également créer et gérer des configurations Nginx et superviseur.

Créez un nouvel utilisateur pour exécuter les processus Bench dans l'environnement isolé.

sudo adduser bench --home /opt/bench

Fournissez des sudoautorisations à l' benchutilisateur.

sudo usermod -aG sudo bench

Connectez-vous en tant benchqu'utilisateur nouvellement créé .

sudo su - bench

Clonez le référentiel Bench dans /opt/bench.

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

Installez le banc à l'aide de pip.

sudo pip install -e bench-repo

Une fois Bench installé, poursuivez l'installation d'ERPNext à l'aide de Bench.

Installer ERPNext à l'aide de Bench

Initialisez un répertoire bench avec le framework frappe installé. Pour garder tout en ordre, nous travaillerons sous le /opt/benchrépertoire. Bench configurera également des sauvegardes régulières et des mises à jour automatiques une fois par jour.

cd /opt/bench
bench init erpnext && cd erpnext

Créez un nouveau site Frappe.

bench new-site erp.example.com

La commande ci-dessus vous demandera le mot de passe root MySQL. Fournissez le mot de passe que vous avez défini précédemment pour l'utilisateur root MySQL. Il vous demandera également de définir un nouveau mot de passe pour le compte administrateur. Vous aurez besoin de ce mot de passe ultérieurement pour vous connecter au tableau de bord administrateur .

Téléchargez les fichiers d'installation d'ERPNext à partir du référentiel git distant à l'aide de Bench.

bench get-app erpnext https://github.com/frappe/erpnext

Installez ERPNext sur votre site nouvellement créé.

bench --site erp.example.com install-app erpnext

Vous pouvez démarrer l'application immédiatement pour vérifier si l'application a été installée avec succès.

bench start

Cependant, vous devez arrêter l'exécution et poursuivre la configuration de l'application pour une utilisation en production.

Superviseur de l'installation et Nginx

Par défaut, l'application ERPNext écoute sur le port 8000, pas sur le port HTTP standard 80. En outre, l'exécution du serveur Web intégré pour une utilisation en production n'est pas recommandée car nous exposerons le serveur au monde. Vous devez utiliser un serveur Web de production comme proxy inverse tel qu'Apache ou Nginx. Nous utiliserons Nginx comme proxy inverse car il peut être configuré automatiquement à l'aide de Bench. Bench peut générer et installer automatiquement la configuration selon la configuration ERPNext.

Bien que nous puissions démarrer l'application à l'aide de la commande «bench start», l'exécution d'ERPNext s'arrêtera dès que vous fermerez le terminal. Pour résoudre ce problème, vous devez utiliser Supervisor, qui est très utile pour exécuter l'application en continu dans un environnement de production. Supervisor est un système de contrôle de processus qui vous permet de surveiller et de contrôler un certain nombre de processus sur les systèmes d'exploitation Linux. Une fois le superviseur configuré, il démarrera automatiquement l'application au démarrage ainsi qu'en cas d'échecs. Bench peut configurer automatiquement Supervisor pour l'application ERPNext.

Installez Supervisor.

sudo apt -y install supervisor

Démarrez Supervisor et activez-le pour démarrer automatiquement au démarrage.

sudo systemctl start supervisor
sudo systemctl enable supervisor

Configuration du banc pour une utilisation en production.

 sudo bench setup production bench

La commande ci-dessus peut vous demander de remplacer le fichier de configuration par défaut de Supervisor existant par un nouveau. Choisissez yde continuer. Bench ajoute un certain nombre de processus au fichier de configuration du superviseur. La commande ci-dessus vous demandera également si vous souhaitez remplacer la configuration actuelle de Nginx par une nouvelle. Entrez ypour continuer. Une fois que Bench a terminé l'installation de la configuration, fournissez d'autres utilisateurs pour exécuter les fichiers dans votre répertoire personnel de l'utilisateur Bench.

chmod o+x /opt/bench/

Vous pouvez maintenant accéder au site sur http://erp.example.com.

Vous pouvez vérifier l'état des processus en exécutant.

sudo supervisorctl status all

Vous devriez voir la sortie suivante.

bench@vultr:~/erpnext$ sudo supervisorctl status all
erpnext-redis:erpnext-redis-cache                 RUNNING   pid 13852, uptime 0:00:54
erpnext-redis:erpnext-redis-queue                 RUNNING   pid 13851, uptime 0:00:54
erpnext-redis:erpnext-redis-socketio              RUNNING   pid 13853, uptime 0:00:54
erpnext-web:erpnext-frappe-web                    RUNNING   pid 13856, uptime 0:00:54
erpnext-web:erpnext-node-socketio                 RUNNING   pid 13855, uptime 0:00:54
erpnext-workers:erpnext-frappe-default-worker-0   RUNNING   pid 13862, uptime 0:00:54
erpnext-workers:erpnext-frappe-long-worker-0      RUNNING   pid 13870, uptime 0:00:54
erpnext-workers:erpnext-frappe-schedule           RUNNING   pid 13869, uptime 0:00:54
erpnext-workers:erpnext-frappe-short-worker-0     RUNNING   pid 13875, uptime 0:00:54

Pour arrêter tous les processus ERPNext.

sudo supervisorctl stop all

Pour démarrer tous les processus ERPNext.

sudo supervisorctl start all

Configuration de SSL à l'aide de Let's Encrypt

Let's Encrypt fournit des certificats SSL gratuits aux utilisateurs. SSL peut être installé manuellement ou automatiquement via Bench. Bench peut installer automatiquement le client Let's Encrypt et obtenir les certificats. De plus, il met automatiquement à jour la configuration Nginx pour utiliser les certificats.

Le nom de domaine que vous utilisez pour obtenir les certificats de l'AC Let's Encrypt doit être dirigé vers le serveur. Le client vérifie l'autorité de domaine avant d'émettre les certificats .

Activez la mutualisation DNS pour l'application ERPNext.

bench config dns_multitenant on

Exécutez Bench pour configurer Let's Encrypt sur votre site.

sudo bench setup lets-encrypt erp.example.com

Pendant l'exécution du script, le client Let's Encrypt vous demandera d'arrêter temporairement le serveur Web Nginx. Il installera automatiquement les packages requis et le client Let's Encrypt. Le client vous demandera votre adresse e-mail. Vous devrez également accepter les termes et conditions. Une fois les certificats générés, Bench générera également la nouvelle configuration pour Nginx qui utilise les certificats SSL. Il vous sera demandé avant de remplacer la configuration existante. Bench crée également une crontabentrée pour renouveler automatiquement les certificats chaque mois.

Enfin, activez le planificateur pour exécuter automatiquement les travaux planifiés.

bench enable-scheduler

Vous devriez voir cette sortie.

bench@vultr:~/erpnext$ bench enable-scheduler
Enabled for erp.example.com

Conclusion

Une fois le processus terminé, vous pouvez accéder à votre application à l'adresse https://erp.example.com. Connectez-vous avec le nom d'utilisateur Administratoret le mot de passe que vous avez définis lors de l'installation. Vous serez redirigé vers le bureau où vous devrez fournir des informations pour configurer ERPNext ERP en fonction de votre entreprise. Vous pouvez désormais utiliser l'application pour gérer votre entreprise.

Félicitations, vous avez une application ERPNext pleinement opérationnelle installée sur votre serveur Ubuntu 17.04.



Leave a Comment

Comment installer MODX Revolution sur un VPS CentOS 7 LAMP

Comment installer MODX Revolution sur un VPS CentOS 7 LAMP

Vous utilisez un système différent? MODX Revolution est un système de gestion de contenu (CMS) de niveau entreprise rapide, flexible, évolutif, gratuit et open source écrit i

Comment installer Blacklistd sur FreeBSD 11.1

Comment installer Blacklistd sur FreeBSD 11.1

Introduction Tout service connecté à Internet est une cible potentielle dattaques par force brute ou daccès injustifié. Il existe des outils comme fail2ba

Configurer un serveur TeamTalk sous Linux

Configurer un serveur TeamTalk sous Linux

TeamTalk est un système de conférence qui permet aux utilisateurs davoir des conversations audio / vidéo de haute qualité, un chat textuel, de transférer des fichiers et de partager des écrans. Cest moi

Comment installer et configurer CyberPanel sur votre serveur CentOS 7

Comment installer et configurer CyberPanel sur votre serveur CentOS 7

Vous utilisez un système différent? Introduction CyberPanel est lun des premiers panneaux de contrôle du marché à la fois open source et utilisant OpenLiteSpeed. Quest-ce que

Installer eSpeak sur CentOS 7

Installer eSpeak sur CentOS 7

Vous utilisez un système différent? ESpeak peut générer des fichiers audio de synthèse vocale (TTS). Ceux-ci peuvent être utiles pour de nombreuses raisons, telles que la création de votre propre Turin

Comment installer Thelia 2.3 sur CentOS 7

Comment installer Thelia 2.3 sur CentOS 7

Vous utilisez un système différent? Thelia est un outil open source pour la création de sites Web de commerce électronique et la gestion de contenu en ligne, écrit en PHP. Code source Thelia i

Comment installer la pile Apache, MySQL et PHP (FAMP) sur FreeBSD 12.0

Comment installer la pile Apache, MySQL et PHP (FAMP) sur FreeBSD 12.0

Introduction Une pile FAMP, qui est comparable à une pile LAMP sous Linux, est une collection de logiciels open source qui sont généralement installés ensemble t

Installation de Fuel CMS sur Ubuntu 16.04 LTS

Installation de Fuel CMS sur Ubuntu 16.04 LTS

Vous utilisez un système différent? Fuel CMS est un système de gestion de contenu basé sur CodeIgniter. Son code source est hébergé sur GitHub. Ce guide vous montrera comment

Comment déployer Ghost v0.11 LTS sur Ubuntu 16.04

Comment déployer Ghost v0.11 LTS sur Ubuntu 16.04

Vous utilisez un système différent? Ghost est une plate-forme de blogs open source qui gagne en popularité auprès des développeurs et des utilisateurs ordinaires depuis sa 201

Comment installer Pip sur Linux

Comment installer Pip sur Linux

Pip est un outil de gestion des packages Python. Lutilisation dun gestionnaire de packages permet une gestion efficace de votre serveur. Dans ce tutoriel, je vais expliquer comment t

Comment installer Icinga 2 et Icinga Web 2 sur Ubuntu 16.04

Comment installer Icinga 2 et Icinga Web 2 sur Ubuntu 16.04

Icinga 2 est un système de surveillance des ressources réseau open source largement utilisé, et Icinga Web 2 est linterface Web officielle pour Icinga 2. Dans ce didacticiel,

Comment installer YOURLS sur CentOS 7

Comment installer YOURLS sur CentOS 7

YOURLS (Your Own URL Shortener) est une application open source de raccourcissement dURL et danalyse de données. Dans cet article, nous couvrirons le processus dinstallation

Comment installer Alfresco Community Edition sur Ubuntu 16.04

Comment installer Alfresco Community Edition sur Ubuntu 16.04

Vous utilisez un système différent? Alfresco Community Edition est une version open source des services de contenu Alfresco. Il est écrit en Java et utilise PostgreSQL t

Installer Docker sur Ubuntu 14.04

Installer Docker sur Ubuntu 14.04

Vous utilisez un système différent? Docker est une application qui permet de déployer des programmes exécutés en tant que conteneurs. Il a été écrit dans le populaire programme Go

Comment installer LimeSurvey sur CentOS 7

Comment installer LimeSurvey sur CentOS 7

LimeSurvey est un outil de sondage en ligne gratuit et open source qui est largement utilisé pour publier des sondages en ligne et recueillir des commentaires sur les sondages. Dans cet article, je vais

Comment installer et configurer CyberPanel sur Ubuntu 18.04 LTS

Comment installer et configurer CyberPanel sur Ubuntu 18.04 LTS

Vous utilisez un système différent? Introduction CyberPanel est lun des premiers panneaux de contrôle du marché à la fois open source et utilisant OpenLiteSpeed. Quest-ce que

Installer Java SE sur CentOS

Installer Java SE sur CentOS

Introduction Java est une plate-forme logicielle populaire qui vous permet de développer et dexécuter des applications et des applets Java dans divers environnements matériels. Il y a

Comment installer Vanilla Forum sur CentOS 7

Comment installer Vanilla Forum sur CentOS 7

Vous utilisez un système différent? Le forum Vanilla est une application de forum open source écrite en PHP. Il est entièrement personnalisable, facile à utiliser et prend en charge externa

Comment installer Kanboard sur Debian 9

Comment installer Kanboard sur Debian 9

Vous utilisez un système différent? Introduction Kanboard est un logiciel de gestion de projet gratuit et open source conçu pour faciliter et visualiser

Installation de Netdata sur CentOS 7

Installation de Netdata sur CentOS 7

Vous utilisez un système différent? Netdata est une étoile montante dans le domaine de la surveillance des métriques système en temps réel. Par rapport à dautres outils du même type, Netdata:

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques d'analyse des mégadonnées : partie 1

Limpact de lintelligence artificielle dans les soins de santé 2021

Limpact de lintelligence artificielle dans les soins de santé 2021

L'IA dans le domaine de la santé a fait de grands progrès au cours des dernières décennies. Ainsi, l'avenir de l'IA dans les soins de santé continue de croître de jour en jour.