Предуслови
Инсталирајте развојне алате
Инсталирајте МариаДБ сервер
Инсталирајте Нгинк, Нодејс и Редис
Инсталирајте ПДФ Цонвертер
Инсталирајте Бенцх
Инсталирајте ЕРПНект користећи Бенцх
Надзорник подешавања и Нгинк
Окончање
ЕРП или Ентерприсе Ресоурце Планнинг је пакет пословних апликација који се користи за управљање основним пословним процесима. ЕРПНект је бесплатна ЕРП апликација отвореног кода која се сама хостује на Питхон-у. Користи Ноде.јс за предњи крај и МариаДБ за складиштење својих података. ЕРПНект пружа веб интерфејс једноставан за коришћење који омогућава предузећима да управљају свакодневним задацима. Садржи модуле за рачуноводство, ЦРМ, ХРМ, производњу, ПОС, управљање пројектима, набавку, управљање продајом, управљање складиштем и још много тога. ЕРПНект се може користити за управљање различитим индустријама као што су пружаоци услуга, производња, малопродаја и школе.
У овом водичу ћемо инсталирати ЕРПНект на ЦентОС 7.
Предуслови
За овај туторијал користићемо erp.example.comкао име домена које указује на сервер. Обавезно замените сва појављивања erp.example.comса својим стварним именом домена.
Ажурирајте свој основни систем користећи водич „ Како ажурирати ЦентОС 7 “. Када се ваш систем ажурира, наставите са инсталирањем Питхон-а.
ЕРПНект треба Питхон верзију 2.7 да би радио. Питхон 2.7 је подразумевано инсталиран у свим инстанцама ЦентОС сервера. Можете да проверите да ли је инсталирана верзија Питхон-а тако што ћете покренути:
python -V
Требало би да добијете сличан излаз.
[user@vultr ~]$ python -V
Python 2.7.5
Иако инсталирана верзија Питхон-а није најновија, ради без проблема. Промена подразумеване верзије Питхон-а може нарушити ИУМ.
Инсталирајте пакете у 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алат. Пип је менаџер зависности за Питхон пакете.
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
Горња команда ће инсталирати Пип на ваш систем. Да бисте били сигурни да имате најновију верзију pipи setuptools, покрените:
sudo pip install --upgrade pip setuptools
Инсталирајте Ансибле користећи Пип. Ансибле аутоматизује обезбеђивање софтвера, управљање конфигурацијом и примену апликација.
sudo pip install ansible
Инсталирајте МариаДБ сервер
МариаДБ је форк МиСКЛ сервера базе података. Инсталирајте МариаДБ покретањем.
sudo yum -y install mariadb mariadb-server mysql-devel
Баррацуда механизам за складиштење је неопходан за креирање ЕРПНект база података, стога ћете морати да конфигуришете МариаДБ да користи Баррацуда механизам за складиштење. Уредите подразумевану МариаДБ конфигурациону датотеку 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
Покрените МариаДБ и омогућите му да се аутоматски покреће при покретању.
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Пре конфигурисања базе података, мораћете да обезбедите МариаДБ. Можете га осигурати покретањем mysql_secure_installationскрипте:
sudo mysql_secure_installation
Од вас ће се тражити тренутна МариаДБ роот лозинка. Подразумевано, на МариаДБ није постављена роот лозинка. Притисните тастер "Ентер" да бисте наставили. Поставите јаку лозинку за роот корисника вашег МариаДБ сервера и одговорите са „И“ на сва друга питања која се постављају. Постављена питања су сама по себи разумљива.
Инсталирајте Нгинк, Нодејс и Редис
Пошто је ЕПЕЛ спремиште подразумевано инсталирано у свим инстанцама Вултр ЦентОС 7, можете директно да инсталирате Редис и Нгинк. Али да бисте инсталирали најновију верзију Ноде.јс, мораћете да додате Нодесоурце спремиште у свој систем.
Додајте спремиште Нодесоурце за Ноде.јс 8.к.
sudo curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
Инсталирајте Нгинк, Нодејс и Редис:
sudo yum -y install nginx nodejs redis
Покрените Нгинк и омогућите му да се покрене у тренутку покретања тако што ћете покренути:
sudo systemctl start nginx
sudo systemctl enable nginx
Покрените Редис и омогућите му да се покрене у време покретања тако што ћете покренути:
sudo systemctl start redis
sudo systemctl enable redis
Инсталирајте ПДФ Цонвертер
wkhtmltopdfПрограм је командна линија алат који претвара ХТМЛ-у ПДФ-у користећи рендеринг енгине КТ Вебкит. Инсталирајте потребне зависности:
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је услужни програм командне линије који обезбеђује Фраппе за инсталирање и управљање ЕРПНект апликацијом на систему заснованом на Уник-у за развојне и производне сврхе. Бенцх такође може да креира и управља Нгинк-ом и конфигурацијом супервизора.
Креирајте новог корисника за покретање Бенцх процеса у изолованом окружењу.
sudo adduser bench -d /opt/bench
Промените лозинку корисника.
sudo passwd bench
Обезбедите sudoдозволе benchкориснику.
sudo usermod -aG wheel bench
Пријавите се као новокреирани benchкорисник:
sudo su - bench
Клонирајте Бенцх спремиште у /opt/bench:
cd /opt/bench
git clone https://github.com/frappe/bench bench-repo
Инсталирајте Бенцх користећи pip.
sudo pip install -e bench-repo
Када је Бенцх инсталиран, наставите даље да инсталирате ЕРПНект користећи Бенцх.
Инсталирајте ЕРПНект користећи Бенцх
Иницијализујте бенцх директоријум са инсталираним Фраппе фрамеворк-ом. Да би све било уредно, радићемо у /opt/benchименику. Бенцх ће такође поставити редовне резервне копије и аутоматска ажурирања једном дневно.
cd /opt/bench
bench init erpnext && cd erpnext
Направите нову Фраппе локацију:
bench new-site erp.example.com
Горња команда ће од вас затражити МиСКЛ роот лозинку. Наведите лозинку коју сте раније поставили за МиСКЛ роот корисника. Такође ће од вас тражити да поставите нову лозинку за администраторски налог. Ова лозинка ће вам требати касније да бисте се пријавили на администраторску контролну таблу.
Преузмите ЕРПНект инсталационе датотеке из удаљеног гит спремишта користећи Бенцх.
bench get-app erpnext https://github.com/frappe/erpnext
Инсталирајте ЕРПНект на ваш новокреирани сајт:
bench --site erp.example.com install-app erpnext
ЕРПНект је инсталиран на вашем серверу. Можете одмах покренути апликацију да бисте проверили да ли је апликација успешно покренута:
bench start
Међутим, требало би да зауставите извршење и наставите даље да бисте подесили апликацију за производну употребу.
Надзорник подешавања и Нгинк
Подразумевано, ЕРПНект апликација слуша порт 8000, а не стандардни ХТТП порт 80. Такође, не препоручује се покретање уграђеног веб сервера за производну употребу јер ћемо сервер изложити свету. Дакле, требало би да користите производни веб сервер као обрнути прокси као што је Апацхе или Нгинк. У овом водичу ћемо користити Нгинк као обрнути прокси јер се може аутоматски конфигурисати помоћу Бенцх-а. Бенцх може аутоматски да генерише и инсталира конфигурацију према ЕРПНект подешавању.
Иако можемо покренути апликацију користећи горњу команду, извршавање ЕРПНект ће се зауставити чим затворите терминал. Да бисте превазишли овај проблем, препоручујем да користите Супервисор који је од велике помоћи у непрекидном покретању апликације у производном окружењу. Супервизор је систем контроле процеса који вам омогућава да надгледате и контролишете бројне процесе на Линук оперативним системима. Једном када је Супервизор конфигурисан, он ће аутоматски покренути апликацију у време покретања, као иу случају кварова. Бенцх може аутоматски да конфигурише Супервизор за ЕРПНект апликацију.
Инсталирај Супервизор:
sudo yum -y install supervisor
Покрените Супервизор и омогућите му да се аутоматски покреће при покретању:
sudo systemctl start supervisord
sudo systemctl enable supervisord
Сетуп Бенцх за производну употребу:
sudo bench setup production bench
Горња команда може од вас затражити пре него што замените постојећу подразумевану конфигурациону датотеку Супервизора новом. Изаберите yда наставите. Бенцх додаје бројне процесе у конфигурациону датотеку Супервизора. Горња команда ће вас такође питати да ли желите да замените тренутну Нгинк конфигурацију новом. Унесите yда бисте наставили. Када Бенцх заврши инсталирање конфигурације, омогућите другим корисницима да изврше датотеке у вашем кућном директоријуму корисника Бенцх-а.
chmod o+x /opt/bench/
Ако користите заштитни зид на свом серверу, мораћете да конфигуришете заштитни зид да постави изузетак за ХТТП услугу. Дозволите Нгинк обрнутом проксију да се повеже ван мреже.
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
Да бисте зауставили све ЕРПНект процесе, користите:
sudo supervisorctl stop all
Да бисте покренули све ЕРПНект процесе, користите:
sudo supervisorctl start all
Подешавање ССЛ-а помоћу Лет'с Енцрипт
Лет'с Енцрипт корисницима пружа бесплатне ССЛ сертификате. ССЛ се може инсталирати ручно или аутоматски преко Бенцх-а. Бенцх може аутоматски да инсталира клијента Лет'с Енцрипт и добије сертификате. Поред тога, аутоматски ажурира Нгинк конфигурацију да користи сертификате.
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.
Омогућите ДНС мулти-тенанци за ЕРПНект апликацију.
bench config dns_multitenant on
Покрените Бенцх да бисте подесили Лет'с Енцрипт на свом сајту:
sudo bench setup lets-encrypt erp.example.com
Током извршавања скрипте, клијент Лет'с Енцрипт ће од вас тражити да привремено зауставите Нгинк веб сервер. Аутоматски ће инсталирати потребне пакете и Лет'с Енцрипт клијент. Клијент ће затражити вашу адресу е-поште. Такође ћете морати да прихватите одредбе и услове. Када се сертификати генеришу, Бенцх ће такође генерисати нову конфигурацију за Нгинк који користи ССЛ сертификате. Бићете упитани пре него што замените постојећу конфигурацију. Бенцх такође креира crontabунос за аутоматско обнављање сертификата сваког месеца.
На крају, омогућите планеру да аутоматски покреће заказане послове:
bench enable-scheduler
Требало би да видите:
[bench@vultr erpnext]$ bench enable-scheduler
Enabled for erp.example.com
Окончање
Када се процес заврши, можете приступити својој апликацији на https://erp.example.com. Пријавите се са корисничким именом Administratorи лозинком које сте поставили током инсталације. Бићете одведени до стола где ћете морати да дате информације за постављање ЕРПНект ЕРП-а према вашој компанији. Сада можете користити апликацију за управљање својом компанијом.
Честитамо, имате потпуно функционалну ЕРПНект апликацију инсталирану на вашем ЦентОС 7 серверу.