Як встановити ERPNext Open Source ERP на CentOS 7

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

У цьому підручнику ми встановимо ERPNext на CentOS 7.

Передумови

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

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

Оновіть свою базову систему за допомогою посібника « Як оновити CentOS 7 ». Після оновлення системи перейдіть до встановлення Python.

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

Для роботи ERPNext потрібна версія Python 2.7. Python 2.7 встановлюється за замовчуванням у всіх екземплярах сервера CentOS. Ви можете перевірити, чи встановлена ​​версія Python, запустивши:

python -V

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

[user@vultr ~]$ python -V
Python 2.7.5

Хоча встановлена ​​версія Python не остання, вона працює без проблем. Зміна версії Python за замовчуванням може порушити YUM.

Встановіть пакунки в Development toolsгрупі, необхідні для компіляції файлів інсталятора.

sudo yum groupinstall -y "Development tools"

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

sudo yum install -y redhat-lsb-core git python-setuptools python-devel openssl-devel libffi-devel

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

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

Наведена вище команда встановить Pip у вашу систему. Щоб переконатися, що у вас є остання версія pipта setuptools, запустіть:

sudo pip install --upgrade pip setuptools

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

sudo pip install ansible

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

MariaDB — це форк сервера баз даних MySQL. Встановіть MariaDB, запустивши.

sudo yum -y install mariadb mariadb-server mysql-devel

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

sudo nano /etc/my.cnf

Додайте наступні рядки під symbolic-links=0рядком.

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 start mariadb.service
sudo systemctl enable mariadb.service

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

sudo mysql_secure_installation

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

Встановіть Nginx, Nodejs і Redis

Оскільки репозиторій EPEL встановлено за замовчуванням у всіх екземплярах Vultr CentOS 7, ви можете безпосередньо встановити Redis і Nginx. Але щоб встановити останню версію Node.js, вам потрібно буде додати репозиторій Nodesource у вашу систему.

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

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

Встановіть Nginx, Nodejs і Redis:

sudo yum -y install nginx nodejs redis

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

sudo systemctl start nginx
sudo systemctl enable nginx

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

sudo systemctl start redis
sudo systemctl enable redis

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

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

sudo yum -y install libXrender libXext xorg-x11-fonts-75dpi xorg-x11-fonts-Type1

Завантажте останню версію 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 -d /opt/bench

Змінити пароль користувача.

sudo passwd bench

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

sudo usermod -aG wheel 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

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

bench start

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

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

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

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

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

sudo yum -y install supervisor

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

sudo systemctl start supervisord
sudo systemctl enable supervisord

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

 sudo bench setup production bench

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

chmod o+x /opt/bench/

Якщо ви використовуєте брандмауер на своєму сервері, вам потрібно буде налаштувати брандмауер, щоб встановити виняток для служби HTTP. Дозволити зворотному проксі-серверу Nginx підключатися поза мережею.

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

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

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

sudo supervisorctl status all

Ви повинні побачити такий вихід:

[bench@vultr ~]$ sudo supervisorctl status all
erpnext-redis:erpnext-redis-cache                 RUNNING   pid 2554, uptime 1:06:58
erpnext-redis:erpnext-redis-queue                 RUNNING   pid 2553, uptime 1:06:58
erpnext-redis:erpnext-redis-socketio              RUNNING   pid 2555, uptime 1:06:58
erpnext-web:erpnext-frappe-web                    RUNNING   pid 2559, uptime 1:06:58
erpnext-web:erpnext-node-socketio                 RUNNING   pid 2556, uptime 1:06:58
erpnext-workers:erpnext-frappe-default-worker-0   RUNNING   pid 2549, uptime 1:06:58
erpnext-workers:erpnext-frappe-long-worker-0      RUNNING   pid 2551, uptime 1:06:58
erpnext-workers:erpnext-frappe-schedule           RUNNING   pid 2550, uptime 1:06:58
erpnext-workers:erpnext-frappe-short-worker-0     RUNNING   pid 2552, uptime 1:06:58

Щоб зупинити всі процеси 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 для використання сертифікатів.

The domain name which you are using to obtain the certificates from the Let's Encrypt CA must be pointed towards the server. The client verifies the domain authority before issuing the certificates.

Увімкніть мультитенантність 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 відповідно до вашої компанії. Тепер ви можете використовувати програму для керування своєю компанією.

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


Leave a Comment

Встановіть Plesk на CentOS 7

Встановіть Plesk на CentOS 7

Використання іншої системи? Plesk — це власна панель керування веб-хостом, яка дозволяє користувачам адмініструвати свої персональні та/або клієнтські веб-сайти, бази даних

Як встановити Squid Proxy на CentOS

Як встановити Squid Proxy на CentOS

Squid — популярна безкоштовна програма для Linux, яка дозволяє створювати веб-проксі для переадресації. У цьому посібнику ви дізнаєтеся, як встановити Squid на CentOS, щоб перетворити вас

Як встановити Lighttpd (LLMP Stack) на CentOS 6

Як встановити Lighttpd (LLMP Stack) на CentOS 6

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

Налаштування статичної мережі та IPv6 на CentOS 7

Налаштування статичної мережі та IPv6 на CentOS 7

VULTR нещодавно вніс зміни на свою сторону, і тепер усе має працювати нормально з коробки з увімкненим NetworkManager. Якщо ви бажаєте вимкнути

Змінення Icinga2 для використання моделі Master/Client на CentOS 6 або CentOS 7

Змінення Icinga2 для використання моделі Master/Client на CentOS 6 або CentOS 7

Icinga2 — це потужна система моніторингу, і при використанні в моделі «майстер-клієнт» вона може замінити потребу в перевірках моніторингу на основі NRPE. Майстер-клієнт

Як встановити Apache Cassandra 3.11.x на CentOS 7

Як встановити Apache Cassandra 3.11.x на CentOS 7

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

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

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

Використання іншої системи? Microweber — це CMS та інтернет-магазин із відкритим вихідним кодом. Вихідний код Microweber розміщено на GitHub. Цей посібник покаже вам

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

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

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

Як встановити Mattermost 4.1 на CentOS 7

Як встановити Mattermost 4.1 на CentOS 7

Використання іншої системи? Mattermost — це автономна альтернатива службі обміну повідомленнями Slack SAAS з відкритим кодом. Іншими словами, з Mattermost ви бл

Lets Encrypt на Plesk

Lets Encrypt на Plesk

Панель керування Plesk має дуже гарну інтеграцію для Lets Encrypt. Lets Encrypt є одним із єдиних постачальників SSL, які надають сертифікати повністю

Дозволяє шифрувати на cPanel

Дозволяє шифрувати на cPanel

Lets Encrypt — це центр сертифікації, який надає безкоштовні сертифікати SSL. cPanel створив чітку інтеграцію, щоб ви і ваш клієнт

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

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

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

Як встановити Review Board на CentOS 7

Як встановити Review Board на CentOS 7

Використання іншої системи? Review Board — це безкоштовний інструмент з відкритим кодом для перегляду вихідного коду, документації, зображень та багато іншого. Це веб-програмне забезпечення

Налаштуйте автентифікацію HTTP за допомогою Nginx на CentOS 7

Налаштуйте автентифікацію HTTP за допомогою Nginx на CentOS 7

У цьому посібнику ви дізнаєтеся, як налаштувати автентифікацію HTTP для веб-сервера Nginx, що працює на CentOS 7. Вимоги Щоб почати, вам знадобиться

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

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

Використання іншої системи? GoAccess — це аналізатор веб-журналів з відкритим вихідним кодом. Ви можете використовувати його для аналізу журналів у режимі реального часу в терміналі або

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

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

YOURLS (Your Own URL Shortener) — програма для скорочення URL-адрес і аналізу даних із відкритим вихідним кодом. У цій статті ми розглянемо процес встановлення

Як встановити та налаштувати ArangoDB на CentOS 7

Як встановити та налаштувати ArangoDB на CentOS 7

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

Використання Etckeeper для контролю версій /etc

Використання Etckeeper для контролю версій /etc

Вступ Каталог /etc/ відіграє важливу роль у функціонуванні системи Linux. Причина цього в тому, що майже кожна конфігурація системи

Чому ви повинні використовувати SSHFS? Як підключити віддалену файлову систему з SSHFS на CentOS 6

Чому ви повинні використовувати SSHFS? Як підключити віддалену файлову систему з SSHFS на CentOS 6

Багато системних адміністраторів керують великою кількістю серверів. Якщо потрібно отримати доступ до файлів на різних серверах, увійти на кожен окремо бл

Налаштування сервера Half Life 2 на CentOS 6

Налаштування сервера Half Life 2 на CentOS 6

У цьому посібнику буде описано процес встановлення ігрового сервера Half Life 2 на систему CentOS 6. Крок 1: Встановлення необхідних умов Щоб налаштувати ou

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

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

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

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. Прочитайте цю статтю, щоб дізнатися більше