Как да инсталирате 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.


Създаване на блог на Jekyll в Ubuntu 16.04

Създаване на блог на Jekyll в Ubuntu 16.04

Използване на различна система? Jekyll е чудесна алтернатива на WordPress за блогове или споделяне на съдържание. Не изисква никакви бази данни и е много лесно i

Как да инсталирате Squid Proxy на CentOS

Как да инсталирате Squid Proxy на CentOS

Squid е популярна, безплатна програма за Linux, която ви позволява да създадете уеб прокси за препращане. В това ръководство ще видите как да инсталирате Squid на CentOS, за да ви обърне

Как да инсталирате 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 минути

Настройте Red5 Media Server на Ubuntu 16.04

Настройте Red5 Media Server на Ubuntu 16.04

Използване на различна система? Red5 е медиен сървър с отворен код, внедрен в Java, който ви позволява да стартирате Flash многопотребителски приложения, като например предаване на живо

Как да инсталирате 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 е написана на Голанг и е

Как да инсталирате Thelia 2.3 на Debian 9

Как да инсталирате Thelia 2.3 на Debian 9

Използване на различна система? Thelia е инструмент с отворен код за създаване на уебсайтове за е-бизнес и управление на онлайн съдържание, написано на PHP. Изходен код на Thelia i

Как да инсталирате Microweber на CentOS 7

Как да инсталирате Microweber на CentOS 7

Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже

Инсталиране на Microweber на Ubuntu 16.04

Инсталиране на Microweber на Ubuntu 16.04

Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже

Как да инсталирате MODX Revolution на Ubuntu 16.04 LAMP VPS

Как да инсталирате MODX Revolution на Ubuntu 16.04 LAMP VPS

Използване на различна система? MODX Revolution е бърза, гъвкава, мащабируема, безплатна и отворена система за управление на съдържанието (CMS) от корпоративен клас, написана i

Как да инсталирате Mattermost 4.1 на CentOS 7

Как да инсталирате Mattermost 4.1 на CentOS 7

Използване на различна система? Mattermost е самостоятелно хоствана алтернатива с отворен код на Slack SAAS услугата за съобщения. С други думи, с Mattermost, вие ca

Как да инсталирате dotCMS на Ubuntu 16.04

Как да инсталирате dotCMS на Ubuntu 16.04

Използване на различна система? DotCMS е система за управление на съдържанието от корпоративен клас с отворен код, написана на Java. Той съдържа почти всички необходими функции

Как да инсталирате Pagekit 1.0 CMS на FreeBSD 11 FAMP VPS

Как да инсталирате Pagekit 1.0 CMS на FreeBSD 11 FAMP VPS

Използване на различна система? Pagekit 1.0 CMS е красива, модулна, разширяема и лека, безплатна система за управление на съдържанието (CMS) с отворен код с

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