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

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

Предпосылки

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

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

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

Хотя мы можем запустить приложение с помощью команды «Стенд запуска», выполнение 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 для использования сертификатов.

Доменное имя, которое вы используете для получения сертификатов от 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 в соответствии с вашей компанией. Теперь вы можете использовать приложение для управления вашей компанией.

Поздравляем, на вашем сервере Ubuntu 17.04 установлено полностью работающее приложение ERPNext.



Leave a Comment

Как установить платформу интернет-магазина LiteCart в Ubuntu 16.04

Как установить платформу интернет-магазина LiteCart в Ubuntu 16.04

LiteCart является бесплатной платформой для покупок с открытым исходным кодом, написанной на PHP, jQuery и HTML 5. Это простой, легкий и простой в использовании софтвар для электронной коммерции.

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

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

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

Как установить Matomo Analytics на Fedora 28

Как установить Matomo Analytics на Fedora 28

Используете другую систему? Matomo (ранее Piwik) - это аналитическая платформа с открытым исходным кодом, открытая альтернатива Google Analytics. Источник Matomo размещен o

Настройте сервер TeamTalk в Linux

Настройте сервер TeamTalk в Linux

TeamTalk - это система конференц-связи, которая позволяет пользователям вести высококачественные аудио / видео-беседы, текстовый чат, передавать файлы и обмениваться экранами. Это я

Как установить TextPattern CMS 4.6.2 на VBS FreeBSD 11 FAMP

Как установить TextPattern CMS 4.6.2 на VBS FreeBSD 11 FAMP

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

Как установить форум NodeBB на FreeBSD 12

Как установить форум NodeBB на FreeBSD 12

Используете другую систему? NodeBB - это программное обеспечение для форумов на базе Node.js. Он использует веб-сокеты для мгновенного взаимодействия и уведомления в режиме реального времени. УзелБ

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

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

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

Как установить Ranger Terminal File Manager в Linux

Как установить Ranger Terminal File Manager в Linux

Ranger - это файловый менеджер на основе командной строки с привязками клавиш VI. Он предоставляет минималистичный и приятный интерфейс curses с видом на иерархию каталогов.

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

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

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

Как собрать Brotli из исходного кода на Ubuntu 18.04 LTS

Как собрать Brotli из исходного кода на Ubuntu 18.04 LTS

Используете другую систему? Brotli - это новый метод сжатия с лучшей степенью сжатия, чем GZIP. Его исходный код размещен на этом Githu

Как установить 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 может обеспечить большую функциональность и гибкость в

Как установить Subrion 4.1 CMS на Ubuntu 16.04 LAMP VPS

Как установить Subrion 4.1 CMS на Ubuntu 16.04 LAMP VPS

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

Как установить DokuWiki на Ubuntu 16.04 LTS

Как установить DokuWiki на Ubuntu 16.04 LTS

Используете другую систему? DokuWiki - это вики-программа с открытым исходным кодом, написанная на PHP, для которой не требуется база данных. Хранит данные в текстовых файлах. DokuWik

Создание внешнего интерфейса HTML 5 RDP / SSH с использованием гуакамоле в Ubuntu 16.04 LTS

Создание внешнего интерфейса HTML 5 RDP / SSH с использованием гуакамоле в Ubuntu 16.04 LTS

Введение Цель этого руководства - избавиться от общедоступных соединений SSH и общедоступных RDP. Поместив все это за очень удобный клиент HTML5

Как установить и настроить CyberPanel в Ubuntu 18.04 LTS

Как установить и настроить CyberPanel в Ubuntu 18.04 LTS

Используете другую систему? Введение CyberPanel - одна из первых панелей управления на рынке, которая имеет открытый исходный код и использует OpenLiteSpeed. Что это

Как установить форум NodeBB на Fedora 28

Как установить форум NodeBB на Fedora 28

Используете другую систему? NodeBB - это форум на базе Node.js. Он использует веб-сокеты для мгновенного взаимодействия и уведомления в режиме реального времени. Исходный код NodeBB я

Как собрать Brotli из исходного кода на Debian 9

Как собрать Brotli из исходного кода на Debian 9

Используете другую систему? Brotli - это новый метод сжатия с лучшей степенью сжатия, чем в Gzip. Его исходный код публично размещен на Github. Thi

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

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

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

Изучение 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. Прочтите эту статью, чтобы узнать больше