Forutsetninger
Installer utviklingsverktøy
Installer MariaDB Server
Installer Nginx, Node.js og Redis
Installer PDF Converter
Installer benk
Installer ERPNext ved å bruke Bench
Setup Supervisor og Nginx
Konklusjon
ERP eller Enterprise Resource Planning er en bedriftsapplikasjonspakke som brukes til å administrere kjernevirksomhetsprosesser. ERPNext er en gratis og åpen kildekode, selvdrevet ERP-applikasjon skrevet i Python. Den bruker Node.js for grensesnittet og MariaDB for å lagre dataene sine. ERPNext gir et brukervennlig webgrensesnitt som lar bedrifter administrere daglige oppgaver. Den inneholder moduler for regnskap, CRM, HRM, produksjon, POS, prosjektledelse, innkjøp, salgsledelse, lagerstyring og mer. ERPNext kan brukes til å administrere ulike bransjer som tjenesteleverandører, produksjon, detaljhandel og skoler.
Forutsetninger
- En Vultr Ubuntu 17.04 serverforekomst.
- En sudo-bruker .
Merk: For denne opplæringen vil vi bruke erp.example.comsom domenenavnet som pekte til serveren. Sørg for å erstatte alle forekomster av erp.example.commed ditt faktiske domenenavn .
Før vi begynner, sørg for at serveren din er oppdatert.
sudo apt update
sudo apt -y upgrade
ERPNext trenger Python versjon 2.7 for å fungere. Installer Python 2.7.
sudo apt -y install python-minimal
Du bør være i stand til å bekrefte versjonen.
python -V
Du vil se følgende utgang.
user@vultr:~$ python -V
Python 2.7.13
Installer noen flere avhengigheter.
sudo apt -y install git build-essential python-setuptools python-dev libffi-dev libssl-dev
Installer Pythons pipverktøy. Pip er avhengighetsbehandleren for Python-pakker.
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
Sørg for at du har den nyeste versjonen av pipog setuptools.
sudo pip install --upgrade pip setuptools
Installer Ansible med Pip. Ansible automatiserer programvarelevering, konfigurasjonsadministrasjon og applikasjonsdistribusjon.
sudo pip install ansible
Installer MariaDB Server
Legg til MariaDB-depotet i systemet.
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'
Installer MariaDB.
sudo apt update
sudo apt -y install mariadb-server libmysqlclient-dev
Oppgi et sterkt passord for MariaDB-rotbrukeren når du blir bedt om det.
Barracuda-lagringsmotoren er nødvendig for å lage ERPNext-databaser, så du må konfigurere MariaDB til å bruke Barracuda-lagringsmotoren. Rediger standard MariaDB-konfigurasjonsfilen my.cnf.
sudo nano /etc/mysql/my.cnf
Legg til følgende linjer under [mysqld]linjen.
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
Legg også til følgende linje under [mysql]linjen.
default-character-set = utf8mb4
Start MariaDB på nytt og la den starte automatisk ved oppstart.
sudo systemctl restart mariadb
sudo systemctl enable mariadb
Før du konfigurerer databasen, må du sikre MariaDB. Du kan sikre det ved å kjøre mysql_secure_installationskriptet.
sudo mysql_secure_installation
Du vil bli bedt om det gjeldende MariaDB-rotpassordet. Oppgi passordet du har angitt under installasjonen. Du vil bli spurt om du ønsker å endre det eksisterende passordet til rotbrukeren til MariaDB-serveren din. Du kan hoppe over å angi et nytt passord, siden du allerede har oppgitt et sterkt passord under installasjonen. Svar "Y" på alle de andre spørsmålene som stilles.
Installer Nginx, Node.js og Redis
Legg til Nodesource-repositoriet for Node.js 8.x.
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
Installer Nginx, Node.js og Redis.
sudo apt -y install nginx nodejs redis-server
Start Nginx og aktiver den til å starte ved oppstart.
sudo systemctl start nginx
sudo systemctl enable nginx
Start Redis og aktiver den til å starte ved oppstart.
sudo systemctl start redis-server
sudo systemctl enable redis-server
Installer PDF Converter
Det wkhtmltopdfprogrammet er et kommandolinjeverktøy som konverterer HTML til PDF ved hjelp av QT Webkit rendering motoren. Installer de nødvendige avhengighetene.
sudo apt -y install libxrender1 libxext6 xfonts-75dpi xfonts-base
Last ned den nyeste versjonen av wkhtmltopdf.
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
Trekk ut arkivet.
sudo tar -xf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz -C /opt
Kommandoen ovenfor vil trekke ut arkivet til /opt/wkhtmltox. Lag en softlink slik at wkhtmltopdfog wkhtmltoimagekan utføres globalt som en kommando.
sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
sudo ln -s /opt/wkhtmltox/bin/wkhtmltoimage /usr/bin/wkhtmltoimage
Du kan nå løpe for wkhtmltopdf -Vå sjekke om det fungerer, du vil se dette.
user@vultr:~$ wkhtmltopdf -V
wkhtmltopdf 0.12.4 (with patched qt)
På dette tidspunktet har vi alle nødvendige avhengigheter installert. Du kan nå fortsette å installere Bench.
Installer benk
Bencher et kommandolinjeverktøy levert av Frappe for å installere og administrere ERPNext-applikasjonen på et Unix-basert system for både utviklings- og produksjonsformål. Bench kan også opprette og administrere Nginx- og veilederkonfigurasjoner.
Opprett en ny bruker for å kjøre Bench-prosesser i det isolerte miljøet.
sudo adduser bench --home /opt/bench
Gi sudotillatelser til benchbrukeren.
sudo usermod -aG sudo bench
Logg inn som den nyopprettede benchbrukeren.
sudo su - bench
Klon Bench-depotet i /opt/bench.
cd /opt/bench
git clone https://github.com/frappe/bench bench-repo
Installer benk ved hjelp av pip.
sudo pip install -e bench-repo
Når Bench er installert, fortsett videre for å installere ERPNext ved å bruke Bench.
Installer ERPNext ved å bruke Bench
Initialiser en benkkatalog med frappe-rammeverk installert. For å holde alt ryddig, vil vi jobbe under /opt/benchkatalogen. Bench vil også sette opp regelmessige sikkerhetskopier og automatiske oppdateringer en gang om dagen.
cd /opt/bench
bench init erpnext && cd erpnext
Opprett en ny Frappe-side.
bench new-site erp.example.com
Kommandoen ovenfor vil be deg om MySQL root-passordet. Oppgi passordet som du har angitt for MySQL root-brukeren tidligere. Den vil også be deg om å angi et nytt passord for administratorkontoen. Du trenger dette passordet senere for å logge inn på administratordashbordet .
Last ned ERPNext-installasjonsfiler fra det eksterne git-depotet ved å bruke Bench.
bench get-app erpnext https://github.com/frappe/erpnext
Installer ERPNext på ditt nyopprettede nettsted.
bench --site erp.example.com install-app erpnext
Du kan starte programmet umiddelbart for å sjekke om programmet ble installert.
bench start
Du bør imidlertid stoppe kjøringen og gå videre for å sette opp applikasjonen for produksjonsbruk.
Setup Supervisor og Nginx
Som standard lytter ERPNext-applikasjonen på port 8000, ikke standard HTTP-port 80. Det anbefales heller ikke å kjøre den innebygde webserveren for produksjonsbruk, da vi vil eksponere serveren for verden. Du bør bruke en produksjonswebserver som en omvendt proxy som Apache eller Nginx. Vi vil bruke Nginx som en omvendt proxy da den kan konfigureres automatisk ved hjelp av Bench. Bench kan automatisk generere og installere konfigurasjonen i henhold til ERPNext-oppsettet.
Selv om vi kan starte applikasjonen ved å bruke 'bench start'-kommandoen, vil kjøringen av ERPNext stoppe så snart du lukker terminalen. For å overvinne dette problemet bør du bruke Supervisor, som er svært nyttig for å kjøre applikasjonen kontinuerlig i et produksjonsmiljø. Supervisor er et prosesskontrollsystem som lar deg overvåke og kontrollere en rekke prosesser på Linux-operativsystemer. Når Supervisor er konfigurert, vil den automatisk starte programmet ved oppstart så vel som ved feil. Bench kan automatisk konfigurere Supervisor for ERPNext-applikasjonen.
Installer Supervisor.
sudo apt -y install supervisor
Start Supervisor og aktiver den til å starte automatisk ved oppstart.
sudo systemctl start supervisor
sudo systemctl enable supervisor
Oppsettbenk for produksjonsbruk.
sudo bench setup production bench
Kommandoen ovenfor kan spørre deg før du erstatter den eksisterende standardkonfigurasjonsfilen for Supervisor med en ny. Velg yå fortsette. Bench legger til en rekke prosesser i Supervisor-konfigurasjonsfilen. Kommandoen ovenfor vil også spørre deg om du ønsker å erstatte den nåværende Nginx-konfigurasjonen med en ny. Enter for yå fortsette. Når Bench er ferdig med å installere konfigurasjonen, gi andre brukere til å kjøre filene i hjemmekatalogen til Bench-brukeren.
chmod o+x /opt/bench/
Du kan nå få tilgang til siden på http://erp.example.com.
Du kan sjekke statusen til prosessene ved å kjøre.
sudo supervisorctl status all
Du bør se følgende utgang.
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
For å stoppe alle ERPNext-prosessene.
sudo supervisorctl stop all
For å starte alle ERPNext-prosessene.
sudo supervisorctl start all
Sette opp SSL ved hjelp av Let's Encrypt
Let's Encrypt gir gratis SSL-sertifikater til brukerne. SSL kan installeres manuelt eller automatisk gjennom Bench. Bench kan automatisk installere Let's Encrypt-klienten og få sertifikatene. I tillegg oppdaterer den automatisk Nginx-konfigurasjonen for å bruke sertifikatene.
Domenenavnet du bruker for å få sertifikatene fra Let's Encrypt CA må peke mot serveren. Klienten verifiserer domeneautoriteten før sertifikatene utstedes .
Aktiver DNS multi-tenancy for ERPNext-applikasjonen.
bench config dns_multitenant on
Kjør Bench for å sette opp Let's Encrypt på nettstedet ditt.
sudo bench setup lets-encrypt erp.example.com
Under kjøringen av skriptet vil Let's Encrypt-klienten be deg om å stoppe Nginx-nettserveren midlertidig. Den vil automatisk installere de nødvendige pakkene og Let's Encrypt-klienten. Klienten vil be deg om e-postadressen din. Du må også godta vilkårene og betingelsene. Når sertifikatene er generert, vil Bench også generere den nye konfigurasjonen for Nginx som bruker SSL-sertifikatene. Du vil bli spurt før du erstatter den eksisterende konfigurasjonen. Bench oppretter også en crontaboppføring for å automatisk fornye sertifikatene hver måned.
Til slutt, aktiver planleggeren for å kjøre de planlagte jobbene automatisk.
bench enable-scheduler
Du bør se denne utgangen.
bench@vultr:~/erpnext$ bench enable-scheduler
Enabled for erp.example.com
Konklusjon
Når prosessen er fullført, kan du få tilgang til søknaden din på https://erp.example.com. Logg på med brukernavnet Administratorog passordet du har angitt under installasjonen. Du vil bli tatt til pulten hvor du må oppgi informasjon for å sette ERPNext ERP i henhold til din bedrift. Du kan nå bruke applikasjonen til å administrere bedriften din.
Gratulerer, du har en fullt fungerende ERPNext-applikasjon installert på din Ubuntu 17.04-server.