Preduvjeti
Instalirajte razvojne alate
Instalirajte MariaDB poslužitelj
Instalirajte Nginx, Node.js i Redis
Instalirajte PDF Converter
Instalirajte Bench
Instalirajte ERPNext pomoću Bench-a
Nadzornik postavljanja i Nginx
Zaključak
ERP ili Enterprise Resource Planning je paket poslovnih aplikacija koji se koristi za upravljanje osnovnim poslovnim procesima. ERPNext je besplatna ERP aplikacija otvorenog koda s vlastitim hostingom napisana na Pythonu. Koristi Node.js za prednji kraj i MariaDB za pohranu svojih podataka. ERPNext pruža web sučelje jednostavno za korištenje koje tvrtkama omogućuje upravljanje svakodnevnim zadacima. Sadrži module za računovodstvo, CRM, HRM, proizvodnju, POS, upravljanje projektima, nabavu, upravljanje prodajom, upravljanje skladištem i još mnogo toga. ERPNext se može koristiti za upravljanje različitim industrijama kao što su pružatelji usluga, proizvodnja, maloprodaja i škole.
Preduvjeti
- Instanca poslužitelja Vultr Ubuntu 17.04.
- Korisnik sudoa .
Napomena: Za ovaj vodič koristit ćemo erp.example.comkao ime domene usmjereno na poslužitelj. Svakako zamijenite sva pojavljivanja erp.example.comsa svojim stvarnim imenom domene .
Prije nego što počnemo, provjerite je li vaš poslužitelj ažuran.
sudo apt update
sudo apt -y upgrade
ERPNext treba Python verziju 2.7 za rad. Instalirajte Python 2.7.
sudo apt -y install python-minimal
Trebali biste moći provjeriti njegovu verziju.
python -V
Vidjet ćete sljedeći izlaz.
user@vultr:~$ python -V
Python 2.7.13
Instalirajte još nekoliko ovisnosti.
sudo apt -y install git build-essential python-setuptools python-dev libffi-dev libssl-dev
Instalirajte Pythonov pipalat. Pip je upravitelj ovisnosti za Python pakete.
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
Provjerite imate li najnoviju verziju pipi setuptools.
sudo pip install --upgrade pip setuptools
Instalirajte Ansible koristeći Pip. Ansible automatizira osiguravanje softvera, upravljanje konfiguracijom i implementaciju aplikacija.
sudo pip install ansible
Instalirajte MariaDB poslužitelj
Dodajte MariaDB spremište u sustav.
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'
Instalirajte MariaDB.
sudo apt update
sudo apt -y install mariadb-server libmysqlclient-dev
Navedite jaku lozinku za MariaDB root korisnika kada se to zatraži.
Mehanizam za pohranu Barracuda potreban je za stvaranje ERPNext baza podataka, tako da ćete morati konfigurirati MariaDB da koristi Barracuda mehanizam za pohranu. Uredite zadanu MariaDB konfiguracijsku datoteku my.cnf.
sudo nano /etc/mysql/my.cnf
Dodajte sljedeće retke ispod [mysqld]crte.
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
Također, ispod [mysql]reda dodajte sljedeći redak.
default-character-set = utf8mb4
Ponovno pokrenite MariaDB i omogućite mu da se automatski pokrene prilikom pokretanja.
sudo systemctl restart mariadb
sudo systemctl enable mariadb
Prije konfiguriranja baze podataka, morat ćete osigurati MariaDB. Možete ga osigurati pokretanjem mysql_secure_installationskripte.
sudo mysql_secure_installation
Od vas će se tražiti trenutna MariaDB root lozinka. Unesite lozinku koju ste postavili tijekom instalacije. Bit ćete upitani želite li promijeniti postojeću lozinku root korisnika vašeg MariaDB poslužitelja. Možete preskočiti postavljanje nove lozinke jer ste već naveli jaku lozinku tijekom instalacije. Odgovorite "Y" na sva ostala postavljena pitanja.
Instalirajte Nginx, Node.js i Redis
Dodajte spremište Nodesource za Node.js 8.x.
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
Instalirajte Nginx, Node.js i Redis.
sudo apt -y install nginx nodejs redis-server
Pokrenite Nginx i omogućite mu pokretanje prilikom pokretanja.
sudo systemctl start nginx
sudo systemctl enable nginx
Pokrenite Redis i omogućite mu pokretanje prilikom pokretanja.
sudo systemctl start redis-server
sudo systemctl enable redis-server
Instalirajte PDF Converter
wkhtmltopdfProgram je alat naredbenog retka koji pretvara HTML u PDF pomoću QT WebKit renderiranje motor. Instalirajte potrebne ovisnosti.
sudo apt -y install libxrender1 libxext6 xfonts-75dpi xfonts-base
Preuzmite najnoviju verziju wkhtmltopdf.
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
Ekstrahirajte arhivu.
sudo tar -xf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz -C /opt
Gornja naredba će izdvojiti arhivu u /opt/wkhtmltox. Stvaranje softlink tako da wkhtmltopdfi wkhtmltoimagemože se izvršiti na globalnoj razini kao zapovijed.
sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
sudo ln -s /opt/wkhtmltox/bin/wkhtmltoimage /usr/bin/wkhtmltoimage
Sada možete pokrenuti wkhtmltopdf -Vda provjerite radi li, vidjet ćete ovo.
user@vultr:~$ wkhtmltopdf -V
wkhtmltopdf 0.12.4 (with patched qt)
U ovom trenutku imamo instalirane sve potrebne ovisnosti. Sada možete nastaviti s instaliranjem Bench-a.
Instalirajte Bench
Benchje uslužni program naredbenog retka koji pruža Frappe za instalaciju i upravljanje aplikacijom ERPNext na sustavu temeljenom na Unixu za razvojne i proizvodne svrhe. Bench također može kreirati i upravljati Nginxom i konfiguracijama nadzornika.
Stvorite novog korisnika za pokretanje Bench procesa u izoliranom okruženju.
sudo adduser bench --home /opt/bench
Omogućite korisniku sudodopuštenja bench.
sudo usermod -aG sudo bench
Prijavite se kao novostvoreni benchkorisnik.
sudo su - bench
Klonirajte spremište Bench u /opt/bench.
cd /opt/bench
git clone https://github.com/frappe/bench bench-repo
Instalirajte Bench pomoću pip.
sudo pip install -e bench-repo
Nakon što je Bench instaliran, nastavite dalje da instalirate ERPNext pomoću Bench-a.
Instalirajte ERPNext pomoću Bench-a
Inicijalizirajte bench direktorij s instaliranim Frappe frameworkom. Da sve bude uredno, radit ćemo po /opt/benchimeniku. Bench će također postaviti redovite sigurnosne kopije i automatska ažuriranja jednom dnevno.
cd /opt/bench
bench init erpnext && cd erpnext
Napravite novu Frappe stranicu.
bench new-site erp.example.com
Gornja naredba će od vas zatražiti MySQL root lozinku. Navedite lozinku koju ste ranije postavili za MySQL root korisnika. Također će od vas tražiti da postavite novu lozinku za administratorski račun. Ova će vam lozinka trebati kasnije za prijavu na administratorsku nadzornu ploču .
Preuzmite ERPNext instalacijske datoteke iz udaljenog git repozitorija koristeći Bench.
bench get-app erpnext https://github.com/frappe/erpnext
Instalirajte ERPNext na svoju novostvorenu stranicu.
bench --site erp.example.com install-app erpnext
Možete odmah pokrenuti aplikaciju kako biste provjerili je li aplikacija uspješno instalirana.
bench start
Međutim, trebali biste zaustaviti izvršenje i nastaviti dalje za postavljanje aplikacije za proizvodnu upotrebu.
Nadzornik postavljanja i Nginx
Prema zadanim postavkama, aplikacija ERPNext sluša port 8000, a ne standardni HTTP port 80. Također, ne preporučuje se pokretanje ugrađenog web poslužitelja za proizvodnu upotrebu jer ćemo server izložiti svijetu. Trebali biste koristiti proizvodni web poslužitelj kao obrnuti proxy kao što je Apache ili Nginx. Koristit ćemo Nginx kao obrnuti proxy jer se može automatski konfigurirati pomoću Bench-a. Bench može automatski generirati i instalirati konfiguraciju prema ERPNext postavci.
Iako aplikaciju možemo pokrenuti pomoću naredbe 'bench start', izvršavanje ERPNext će se zaustaviti čim zatvorite terminal. Da biste prevladali ovaj problem, trebali biste koristiti Supervisor, koji je vrlo koristan za kontinuirano pokretanje aplikacije u proizvodnom okruženju. Supervizor je sustav kontrole procesa koji vam omogućuje praćenje i kontrolu brojnih procesa na Linux operativnim sustavima. Nakon što je Supervizor konfiguriran, automatski će pokrenuti aplikaciju u vrijeme pokretanja, kao i u slučaju kvarova. Bench može automatski konfigurirati Supervisor za ERPNext aplikaciju.
Instalirajte Supervisor.
sudo apt -y install supervisor
Pokrenite Supervisor i omogućite mu automatsko pokretanje prilikom pokretanja.
sudo systemctl start supervisor
sudo systemctl enable supervisor
Klupa za postavljanje za proizvodnju.
sudo bench setup production bench
Gornja naredba može od vas zatražiti prije zamjene postojeće zadane konfiguracijske datoteke Supervizora novom. Odaberite ynastaviti. Bench dodaje niz procesa u konfiguracijsku datoteku Supervisora. Gornja naredba će vas također pitati želite li zamijeniti trenutnu Nginx konfiguraciju novom. Unesite yza nastavak. Nakon što Bench završi instalaciju konfiguracije, omogućite drugim korisnicima da izvrše datoteke u vašem početnom direktoriju korisnika Bench-a.
chmod o+x /opt/bench/
Sada možete pristupiti stranici na http://erp.example.com.
Status procesa možete provjeriti pokretanjem.
sudo supervisorctl status all
Trebali biste vidjeti sljedeći izlaz.
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
Za zaustavljanje svih ERPNext procesa.
sudo supervisorctl stop all
Za pokretanje svih ERPNext procesa.
sudo supervisorctl start all
Postavljanje SSL-a pomoću Let's Encrypt
Let's Encrypt korisnicima pruža besplatne SSL certifikate. SSL se može instalirati ručno ili automatski putem Bench-a. Bench može automatski instalirati Let's Encrypt klijent i dobiti certifikate. Osim toga, automatski ažurira konfiguraciju Nginxa za korištenje certifikata.
Naziv domene koji koristite za dobivanje certifikata od Let's Encrypt CA mora biti usmjeren prema poslužitelju. Klijent provjerava ovlaštenje domene prije izdavanja certifikata .
Omogućite višenamjensko korištenje DNS-a za aplikaciju ERPNext.
bench config dns_multitenant on
Pokrenite Bench da biste postavili Let's Encrypt na svoju stranicu.
sudo bench setup lets-encrypt erp.example.com
Tijekom izvršavanja skripte, Let's Encrypt klijent će od vas tražiti da privremeno zaustavite Nginx web poslužitelj. Automatski će instalirati potrebne pakete i klijent Let's Encrypt. Klijent će od vas tražiti vašu adresu e-pošte. Također ćete morati prihvatiti uvjete i odredbe. Nakon što su certifikati generirani, Bench će također generirati novu konfiguraciju za Nginx koji koristi SSL certifikate. Bit ćete upitani prije zamjene postojeće konfiguracije. Bench također kreira crontabunos za automatsko obnavljanje certifikata svaki mjesec.
Konačno, omogućite planeru za automatsko pokretanje zakazanih poslova.
bench enable-scheduler
Trebali biste vidjeti ovaj izlaz.
bench@vultr:~/erpnext$ bench enable-scheduler
Enabled for erp.example.com
Zaključak
Nakon što je proces završen, svojoj aplikaciji možete pristupiti na https://erp.example.com. Prijavite se s korisničkim imenom Administratori lozinkom koje ste postavili tijekom instalacije. Bit ćete odvedeni do stola gdje ćete morati dati informacije za postavljanje ERPNext ERP-a prema vašoj tvrtki. Sada možete koristiti aplikaciju za upravljanje svojom tvrtkom.
Čestitamo, imate potpuno funkcionalnu ERPNext aplikaciju instaliranu na vašem Ubuntu 17.04 poslužitelju.