Як встановити ERPNext Open Source ERP на Ubuntu 17.04

ERP або Enterprise Resource Planning — це пакет корпоративних програм, який використовується для керування основними бізнес-процесами. ERPNext — це безкоштовна програма ERP з відкритим вихідним кодом, яка розміщена на власному сервері, написана на Python. Він використовує Node.js для інтерфейсу і MariaDB для зберігання своїх даних. ERPNext надає простий у використанні веб-інтерфейс, який дозволяє підприємствам керувати повсякденними завданнями. Він містить модулі для бухгалтерського обліку, CRM, HRM, виробництва, POS, управління проектами, закупівлі, управління продажами, управління складом тощо. ERPNext можна використовувати для управління різними галузями, такими як постачальники послуг, виробництво, роздрібна торгівля та школи.

Передумови

  • Примірник сервера Vultr Ubuntu 17.04.
  • Користувач sudo .

Примітка. У цьому посібнику ми будемо використовувати erp.example.comяк доменне ім’я, яке вказує на сервер. Будь ласка, не забудьте замінити всі входження на erp.example.comваше фактичне доменне ім’я .

Перш ніж почати, переконайтеся, що ваш сервер оновлений.

sudo apt update
sudo apt -y upgrade

Установіть засоби розробки

Для роботи ERPNext потрібна версія Python 2.7. В��тановіть Python 2.7.

sudo apt -y install python-minimal

Ви повинні мати можливість перевірити його версію.

python -V

Ви побачите наступний висновок.

user@vultr:~$ python -V
Python 2.7.13

Встановіть ще кілька залежностей.

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

Встановіть pipінструмент Python . Pip — це менеджер залежностей для пакетів Python.

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

Переконайтеся, що у вас є остання версія pipта setuptools.

sudo pip install --upgrade pip setuptools

Встановіть Ansible за допомогою Pip. Ansible автоматизує надання програмного забезпечення, керування конфігурацією та розгортання додатків.

sudo pip install ansible

Встановіть сервер MariaDB

Додайте в систему репозиторій MariaDB.

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'

Встановіть MariaDB.

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

Надайте надійний пароль для користувача root MariaDB, коли його запитають.

Механізм зберігання Barracuda необхідний для створення баз даних ERPNext, тому вам потрібно буде налаштувати MariaDB для використання механізму зберігання Barracuda. Відредагуйте файл конфігурації MariaDB за замовчуванням my.cnf.

sudo nano /etc/mysql/my.cnf

Додайте наступні рядки під [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

Перезапустіть MariaDB і ввімкніть її автоматичний запуск під час завантаження.

sudo systemctl restart mariadb
sudo systemctl enable mariadb

Перед налаштуванням бази даних вам потрібно буде захистити MariaDB. Ви можете захистити його, запустивши mysql_secure_installationскрипт.

sudo mysql_secure_installation

Вас попросять ввести поточний пароль root MariaDB. Введіть пароль, який ви встановили під час встановлення. Вас запитають, чи бажаєте ви змінити існуючий пароль користувача root вашого сервера MariaDB. Ви можете пропустити встановлення нового пароля, оскільки ви вже вказали надійний пароль під час встановлення. Відповідайте «Y» на всі інші запитання.

Встановіть Nginx, Node.js і Redis

Додайте репозиторій Nodesource для Node.js 8.x.

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

Встановіть Nginx, Node.js і Redis.

sudo apt -y install nginx nodejs redis-server

Запустіть Nginx і ввімкніть його запуск під час завантаження.

sudo systemctl start nginx
sudo systemctl enable nginx

Запустіть Redis і ввімкніть його запуск під час завантаження.

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

Встановити PDF Converter

wkhtmltopdfПрограма представляє собою лінію інструменту команди , яка перетворює HTML в PDF , використовуючи движок рендеринга Webkit QT. Встановіть необхідні залежності.

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

Завантажте останню версію wkhtmltopdf.

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

Розпакуйте архів.

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

Наведена вище команда розпакує архів до /opt/wkhtmltox. Створіть програмне посилання, щоб wkhtmltopdfі wkhtmltoimageможна було виконувати глобально як команду.

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

Тепер ви можете запустити, wkhtmltopdf -Vщоб перевірити, чи він працює, ви побачите це.

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

На даний момент ми встановили всі необхідні залежності. Тепер можна переходити до встановлення Bench.

Встановити Bench

Bench— це утиліта командного рядка, надана Frappe для встановлення та керування програмою ERPNext в системі на базі Unix як для розробки, так і для виробництва. Bench також може створювати й керувати конфігураціями Nginx та супервізора.

Створіть нового користувача для запуску процесів Bench в ізольованому середовищі.

sudo adduser bench --home /opt/bench

Надати користувачеві sudoдозволи bench.

sudo usermod -aG sudo bench

Увійдіть як новостворений benchкористувач.

sudo su - bench

Клонуйте репозиторій Bench у /opt/bench.

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

Встановіть Bench за допомогою pip.

sudo pip install -e bench-repo

Після встановлення Bench перейдіть до встановлення ERPNext за допомогою Bench.

Встановіть ERPNext за допомогою Bench

Ініціалізуйте бенч-каталог із встановленим фреймворком frappe. Щоб все було в порядку, будемо працювати під /opt/benchдовідником. Bench також налаштує регулярне резервне копіювання та автоматичне оновлення раз на день.

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

Створіть новий сайт Frappe.

bench new-site erp.example.com

Наведена вище команда запропонує вам ввести пароль root MySQL. Введіть пароль, який ви встановили для користувача root MySQL раніше. Він також попросить вас встановити новий пароль для облікового запису адміністратора. Цей пароль вам знадобиться пізніше, щоб увійти в інформаційну панель адміністратора .

Завантажте інсталяційні файли ERPNext з віддаленого репозиторію git за допомогою Bench.

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

Встановіть ERPNext на новоствореному сайті.

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

Ви можете негайно запустити програму, щоб перевірити, чи вона успішно встановлена.

bench start

Однак вам слід зупинити виконання та продовжити налаштування програми для виробничого використання.

Контролер налаштування та Nginx

За замовчуванням програма ERPNext прослуховує порт 8000, а не стандартний порт HTTP 80. Крім того, не рекомендується запускати вбудований веб-сервер для виробничого використання, оскільки ми будемо відкривати сервер для всього світу. Ви повинні використовувати робочий веб-сервер як зворотний проксі-сервер, наприклад Apache або Nginx. Ми будемо використовувати Nginx як зворотний проксі, оскільки його можна автоматично налаштувати за допомогою Bench. Bench може автоматично згенерувати та встановити конфігурацію відповідно до налаштувань ERPNext.

Хоча ми можемо запустити програму за допомогою команди 'bench start', виконання ERPNext припиниться, як тільки ви закриєте термінал. Щоб подолати цю проблему, вам слід використовувати Supervisor, який дуже корисний для безперервної роботи програми у виробничому середовищі. Supervisor — це система керування процесами, яка дає змогу контролювати й контролювати низку процесів в операційних системах Linux. Після налаштування Supervisor він автоматично запускатиме програму під час завантаження, а також у разі збою. Bench може автоматично налаштувати Supervisor для програми ERPNext.

Встановити Supervisor.

sudo apt -y install supervisor

Запустіть Supervisor і ввімкніть його автоматичний запуск під час завантаження.

sudo systemctl start supervisor
sudo systemctl enable supervisor

Установочний стенд для виробничого використання.

 sudo bench setup production bench

Наведена вище команда може запропонувати вам перед заміною існуючого конфігураційного файлу Supervisor за замовчуванням на новий. Виберіть yпродовжити. Bench додає ряд процесів у файл конфігурації Supervisor. Наведена вище команда також запитає, чи бажаєте ви замінити поточну конфігурацію Nginx новою. Введіть, yщоб продовжити. Після того, як Bench закінчить встановлення конфігурації, надайте іншим користувачам можливість виконувати файли у вашому домашньому каталозі користувача Bench.

chmod o+x /opt/bench/

Тепер ви можете отримати доступ до сайту на http://erp.example.com.

Ви можете перевірити стан процесів, запустивши.

sudo supervisorctl status all

Ви повинні побачити наступний результат.

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

Щоб зупинити всі процеси ERPNext.

sudo supervisorctl stop all

Щоб запустити всі процеси ERPNext.

sudo supervisorctl start all

Налаштування SSL за допомогою Let's Encrypt

Let's Encrypt надає користувачам безкоштовні сертифікати SSL. SSL можна встановити вручну або автоматично через Bench. Bench може автоматично встановити клієнт Let's Encrypt і отримати сертифікати. Крім того, він автоматично оновлює конфігурацію Nginx для використання сертифікатів.

Ім’я домену, яке ви використовуєте для отримання сертифікатів від CA Let’s Encrypt, має бути спрямоване на сервер. Клієнт перевіряє авторизацію домену, перш ніж видати сертифікати .

Увімкніть мультитенантність DNS для програми ERPNext.

bench config dns_multitenant on

Запустіть Bench, щоб налаштувати Let's Encrypt на своєму сайті.

sudo bench setup lets-encrypt erp.example.com

Під час виконання сценарію клієнт Let's Encrypt попросить вас тимчасово зупинити веб-сервер Nginx. Він автоматично встановить необхідні пакунки та клієнт Let's Encrypt. Клієнт запропонує вам ввести адресу електронної пошти. Вам також потрібно буде прийняти умови використання. Після створення сертифікатів Bench також згенерує нову конфігурацію для Nginx, яка використовує сертифікати SSL. Перед заміною наявної конфігурації вам буде запропоновано. Bench також створює crontabзапис для автоматичного поновлення сертифікатів щомісяця.

Нарешті, увімкніть планувальник, щоб автоматично запускати заплановані завдання.

bench enable-scheduler

Ви повинні побачити цей вихід.

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

Висновок

Після завершення процесу ви зможете отримати доступ до своєї програми за адресою https://erp.example.com. Увійдіть за допомогою імені користувача Administratorта пароля, які ви встановили під час встановлення. Вас переведуть до столу, де вам потрібно буде надати інформацію, щоб налаштувати ERPNext ERP відповідно до вашої компанії. Тепер ви можете використовувати програму для керування своєю компанією.

Вітаємо, на вашому сервері Ubuntu 17.04 встановлено повністю працюючу програму ERPNext.


Leave a Comment

Створення блогу Jekyll в Ubuntu 16.04

Створення блогу Jekyll в Ubuntu 16.04

Використання іншої системи? Jekyll — чудова альтернатива WordPress для ведення блогів або обміну вмістом. Для цього не потрібні ніякі бази даних, і це дуже легко i

Як встановити Memcached на Ubuntu 14.04

Як встановити Memcached на Ubuntu 14.04

Memcached — це високопродуктивна система баз даних, яка може допомогти розширити вашу програму. Це дуже швидко, оскільки він не записує на диск, а замість цього t

Встановлення InfluxDB на Ubuntu 14

Встановлення InfluxDB на Ubuntu 14

Вступ InfluxDB — це розподілена база даних часових рядів з відкритим вихідним кодом без зовнішніх залежностей. Так, ви читаєте параграф про відсутність зовнішніх залежностей

Налаштування Fail2ban Ubuntu x64

Налаштування Fail2ban Ubuntu x64

Fail2ban — це програма, яка відстежує активність входу на ваш сервер і блокує невірні IP-адреси. За замовчуванням він блокує IP-адреси на 10 хвилин

Як встановити Vanilla Forum на Ubuntu 16.04

Як встановити Vanilla Forum на Ubuntu 16.04

Використання іншої системи? Vanilla forum — це програма з відкритим вихідним кодом, написана на PHP. Це повністю настроюваний, простий у використанні та підтримує зовнішній вигляд

Як встановити Kanboard на Ubuntu 18.04 LTS

Як встановити Kanboard на Ubuntu 18.04 LTS

Використання іншої системи? Вступ Kanboard — це безкоштовна програма з відкритим вихідним кодом для управління проектами, яка призначена для полегшення та візуалізації

Як встановити Kanboard на Debian 9

Як встановити Kanboard на Debian 9

Використання іншої системи? Вступ Kanboard — це безкоштовна програма з відкритим вихідним кодом для управління проектами, яка призначена для полегшення та візуалізації

Як встановити Tiny Tiny RSS Reader на FreeBSD 11 FAMP VPS

Як встановити Tiny Tiny RSS Reader на FreeBSD 11 FAMP VPS

Використання іншої системи? Tiny Tiny RSS Reader — це безкоштовний зчитувач і агрегатор новин (RSS/Atom) із відкритим вихідним кодом, що розміщується на власному веб-сторінці.

Як встановити Gitea на Debian 9

Як встановити Gitea на Debian 9

Використання іншої системи? Gitea — це альтернативна система контролю версій із відкритим вихідним кодом на базі Git. Gitea написана на Голанг і є

Як встановити Wiki.js на FreeBSD 11

Як встановити Wiki.js на FreeBSD 11

Використання іншої системи? Wiki.js — це безкоштовний сучасний вікі-додаток з відкритим вихідним кодом, побудований на Node.js, MongoDB, Git і Markdown. Вихідний код Wiki.js є публічним

Як встановити Gitea на Ubuntu 18.04

Як встановити Gitea на Ubuntu 18.04

Використання іншої системи? Gitea — це альтернативна система контролю версій із відкритим вихідним кодом, яка працює на базі git. Gitea написана на Голанг і є

Як встановити MODX Revolution на Ubuntu 16.04 LAMP VPS

Як встановити MODX Revolution на Ubuntu 16.04 LAMP VPS

Використання іншої системи? MODX Revolution — це швидка, гнучка, масштабована, безкоштовна система керування вмістом (CMS) корпоративного рівня з відкритим кодом.

Як встановити Vanilla Forum на CentOS 7

Як встановити Vanilla Forum на CentOS 7

Використання іншої системи? Vanilla forum — це програма з відкритим вихідним кодом, написана на PHP. Це повністю настроюваний, простий у використанні та підтримує зовнішній вигляд

Як встановити dotCMS на Ubuntu 16.04

Як встановити dotCMS на Ubuntu 16.04

Використання іншої системи? DotCMS — це система керування вмістом корпоративного рівня з відкритим вихідним кодом, написана на Java. Він містить майже всі необхідні функції

Як встановити CMS Pagekit 1.0 на FreeBSD 11 FAMP VPS

Як встановити CMS Pagekit 1.0 на FreeBSD 11 FAMP VPS

Використання іншої системи? Pagekit 1.0 CMS – це красива, модульна, розширювана та легка, безкоштовна система керування вмістом (CMS) з відкритим вихідним кодом.

Як встановити BigTree CMS на Fedora 26 LAMP VPS

Як встановити BigTree CMS на Fedora 26 LAMP VPS

Використання іншої системи? BigTree CMS 4.2 — це швидка та легка, безкоштовна система управління вмістом (CMS) корпоративного рівня з відкритим вихідним кодом з широким

Як встановити MODX Revolution на FreeBSD 11 FAMP VPS

Як встановити MODX Revolution на FreeBSD 11 FAMP VPS

Використання іншої системи? MODX Revolution — це швидка, гнучка, масштабована система управління вмістом (CMS) корпоративного рівня з відкритим кодом, написана на PHP. Це я

Як встановити Concrete5 на CentOS 7

Як встановити Concrete5 на CentOS 7

Використання іншої системи? Concrete5 — це CMS з відкритим вихідним кодом, яка пропонує багато відмінних і корисних функцій, які допомагають редакторам легко створювати вміст.

Встановіть Adminer на Debian/Ubuntu

Встановіть Adminer на Debian/Ubuntu

Adminer — це легка альтернатива phpMyAdmin. Для порівняння, його загальний розмір пакета становить 400 КБ проти 4,2 МБ phpMyAdmin. На відміну від phpMyAdmin, який

Як встановити Nextcloud на Ubuntu 17.04

Як встановити Nextcloud на Ubuntu 17.04

У цьому посібнику ви навчитеся інсталювати програмне забезпечення NextCloud. Ми будемо використовувати Caddy для потреб нашого веб-сервера, оскільки це спрощує налаштування

Повстання машин: застосування ШІ в реальному світі

Повстання машин: застосування ШІ в реальному світі

Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.

DDOS-атаки: короткий огляд

DDOS-атаки: короткий огляд

Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.

Революційні винаходи від Google, які полегшать ваше життя.

Революційні винаходи від Google, які полегшать ваше життя.

Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.

Еволюція зберігання даних – інфографіка

Еволюція зберігання даних – інфографіка

Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.

Функціональні можливості шарів еталонної архітектури великих даних

Функціональні можливості шарів еталонної архітектури великих даних

Прочитайте блог, щоб дізнатися про різні шари архітектури великих даних та їх функціональні можливості найпростішим способом.

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше