Как да инсталирате ERPNext Open Source 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. Предоставете паролата, която сте задали по време на инсталацията. Ще бъдете попитани дали искате да промените съществуващата парола на 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 с помощта на QT Webkit модул за визуализация на. Инсталирайте необходимите зависимости.

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

Инициализирайте бенч директория с инсталиран фреймворк. За да поддържаме всичко подредено, ще работим под /opt/benchдиректорията. Bench също така ще настройва редовни архиви и автоматични актуализации веднъж на ден.

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

Създайте нов сайт на Frappe.

bench new-site erp.example.com

Горната команда ще ви подкани за MySQL root парола. Предоставете паролата, която сте задали за 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, за да използва сертификатите.

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

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

Оставете коментар

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

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 машини. Прочетете тази статия, за да научите повече