Как установить ERPNext с открытым исходным кодом ERP на CentOS 7

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

В этом уроке мы установим ERPNext на CentOS 7.

Предпосылки

В этом уроке мы будем использовать 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

Механизм хранения Barracuda требуется для создания баз данных ERPNext, поэтому вам необходимо настроить 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 вашего сервера 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утилита командной строки, предоставляемая Frappe для установки и управления приложением ERPNext в Unix-системах как для целей разработки, так и для производства. Bench также может создавать и управлять конфигурациями Nginx и supervisor.

Создайте нового пользователя для запуска процессов 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

Инициализируйте стендовый каталог с установленным фреймворком. Чтобы сохранить все в порядке, мы будем работать в /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 для использования сертификатов.

Доменное имя, которое вы используете для получения сертификатов от Let's Encrypt CA, должно быть указано на сервер. Клиент проверяет полномочия домена перед выдачей сертификатов.

Включите многопользовательский режим 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

Как установить Anchor CMS на CentOS 7 LAMP VPS

Как установить Anchor CMS на CentOS 7 LAMP VPS

Используете другую систему? Anchor CMS - это сверхпростая и чрезвычайно легкая бесплатная система управления контентом (CMS) с открытым исходным кодом.

Как обновить CentOS 7, Ubuntu 16.04 и Debian 8

Как обновить CentOS 7, Ubuntu 16.04 и Debian 8

При настройке нового сервера Linux рекомендуется обновить ядро ​​системы и другие пакеты до последней стабильной версии. В этой статье

Как установить Backdrop CMS 1.8.0 на CentOS 7 LAMP VPS

Как установить Backdrop CMS 1.8.0 на CentOS 7 LAMP VPS

Используете другую систему? Backdrop CMS 1.8.0 - это простая и гибкая, удобная для мобильных устройств, бесплатная система с открытым исходным кодом (CMS), которая позволяет нам

Настройте Magento на CentOS 6

Настройте Magento на CentOS 6

Если вы хотите разместить свой инвентарь в Интернете или просто магазин технических аксессуаров, Magento - отличное решение для электронной коммерции в Интернете. Это статья

Как установить AirSonic на CentOS 7

Как установить AirSonic на CentOS 7

Используете другую систему? AirSonic - это бесплатный и потоковый сервер с открытым исходным кодом. В этом уроке я проведу вас через процесс развертывания

Как установить OrangeScrum на CentOS 7

Как установить OrangeScrum на CentOS 7

OrangeScrum - это бесплатный инструмент управления проектами с открытым исходным кодом, который широко используется в малом и среднем бизнесе. В этой статье я проведу вас через

Как установить и настроить OrientDB Community Edition для CentOS 7

Как установить и настроить OrientDB Community Edition для CentOS 7

OrientDB - это мультимодельная СУБД NoSQL с открытым исходным кодом нового поколения. Благодаря поддержке нескольких моделей данных OrientDB может обеспечить большую функциональность и гибкость в

Как установить Vtiger CRM с открытым исходным кодом на CentOS 7

Как установить Vtiger CRM с открытым исходным кодом на CentOS 7

Vtiger CRM - это популярное приложение для управления взаимоотношениями с клиентами, которое может помочь предприятиям увеличить продажи, обеспечить обслуживание клиентов и увеличить прибыль. я

Как установить MaraDNS на CentOS 6

Как установить MaraDNS на CentOS 6

MaraDNS - это легкая, но надежная программа с открытым исходным кодом для DNS-сервера. По сравнению с другими приложениями того же типа, такими как ISC BIND, PowerDNS и djbdns

Установка Netdata в CentOS 7

Установка Netdata в CentOS 7

Используете другую систему? Netdata - восходящая звезда в области мониторинга показателей системы в режиме реального времени. По сравнению с другими инструментами того же рода, Netdata:

Как установить Starbound Server в CentOS 7

Как установить Starbound Server в CentOS 7

Используете другую систему? В этом уроке я расскажу, как настроить сервер Starbound в CentOS 7. Предварительные условия Вы должны иметь эту игру на себе

Кластеризация RabbitMQ на CentOS 7

Кластеризация RabbitMQ на CentOS 7

RabbitMQ - это брокер сообщений с открытым исходным кодом, который поддерживает AMQP, STOMP и другие коммуникационные технологии. Широко используется в корпоративных приложениях

Настройка многопользовательского сервера SA-MP San Andreas на CentOS 6

Настройка многопользовательского сервера SA-MP San Andreas на CentOS 6

Добро пожаловать в другой учебник Vultr. Здесь вы узнаете, как установить и запустить сервер SAMP. Это руководство было написано для CentOS 6. Предварительные условия

Установите Elgg на CentOS 7

Установите Elgg на CentOS 7

Используете другую систему? Elgg - это движок социальных сетей с открытым исходным кодом, который позволяет создавать социальные среды, такие как социальные сети кампуса и

Установка Bolt CMS на CentOS 7

Установка Bolt CMS на CentOS 7

Bolt - это CMS с открытым исходным кодом, написанная на PHP. Исходный код Bolts размещен на GitHub. Это руководство покажет вам, как установить Bolt CMS на новую CentOS 7 Vult.

Как установить и использовать Apache PredictionIO для машинного обучения в CentOS 7

Как установить и использовать Apache PredictionIO для машинного обучения в CentOS 7

Традиционные подходы к анализу данных невозможно использовать, когда наборы данных достигают определенного размера. Современная альтернатива анализу огромных массивов данных, которые я

Как установить Elasticsearch на экземпляре Vultr CentOS 7 Server

Как установить Elasticsearch на экземпляре Vultr CentOS 7 Server

Elasticsearch - популярный движок полнотекстового поиска и аналитики с открытым исходным кодом. Благодаря своей универсальности, масштабируемости и простоте использования, Elasticsearch широко используется

Развертывание Kubernetes с помощью Kubeadm на CentOS 7

Развертывание Kubernetes с помощью Kubeadm на CentOS 7

Обзор Эта статья призвана помочь вам в кратчайшие сроки запустить и запустить кластер Kubernetes с помощью kubeadm. Это руководство будет развертывать два сервера, на

Настройте Sails.js для разработки на CentOS 7

Настройте Sails.js для разработки на CentOS 7

Используете другую систему? Введение Sails.js - это инфраструктура MVC для Node.js, аналогичная Ruby on Rails. Это делает для разработки современных приложений вер

Как установить PufferPanel (бесплатная панель управления Minecraft) на CentOS 7

Как установить PufferPanel (бесплатная панель управления Minecraft) на CentOS 7

Введение В этом руководстве мы будем устанавливать PufferPanel на нашем Vultr VPS. PufferPanel - это бесплатная панель управления с открытым исходным кодом для управления вами.

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

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

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

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

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

По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

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

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

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

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

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