Jak zainstalować ERPNext Open Source ERP na Ubuntu 17.04

ERP lub Enterprise Resource Planning to pakiet aplikacji korporacyjnych służący do zarządzania podstawowymi procesami biznesowymi. ERPNext jest darmową i otwartą aplikacją ERP napisaną w języku Python. Używa Node.js dla interfejsu użytkownika i MariaDB do przechowywania danych. ERPNext zapewnia łatwy w użyciu interfejs internetowy, który pozwala firmom zarządzać codziennymi zadaniami. Zawiera moduły do ​​księgowości, CRM, HRM, produkcji, POS, zarządzania projektami, zakupów, zarządzania sprzedażą, zarządzania magazynem i innych. ERPNext może być wykorzystywany do zarządzania różnymi branżami, takimi jak usługodawcy, producenci, sprzedawcy i szkoły.

Wymagania wstępne

  • Instancja serwera Vultr Ubuntu 17.04.
  • Użytkownik sudo .

Uwaga: w tym samouczku użyjemy erp.example.comjako nazwy domeny wskazanej na serwerze. Pamiętaj, aby zastąpić wszystkie wystąpienia erp.example.comrzeczywistą nazwą domeny .

Zanim zaczniemy, upewnij się, że Twój serwer jest aktualny.

sudo apt update
sudo apt -y upgrade

Zainstaluj narzędzia programistyczne

ERPNext potrzebuje Pythona w wersji 2.7 do działania. Zainstaluj Python 2.7.

sudo apt -y install python-minimal

Powinieneś być w stanie zweryfikować jego wersję.

python -V

Zobaczysz następujące dane wyjściowe.

user@vultr:~$ python -V
Python 2.7.13

Zainstaluj jeszcze kilka zależności.

sudo apt -y install git build-essential python-setuptools python-dev libffi-dev libssl-dev

Zainstaluj pipnarzędzie Pythona . Pip jest menedżerem zależności dla pakietów Pythona.

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

Upewnij się, że masz najnowszą wersję pipi setuptools.

sudo pip install --upgrade pip setuptools

Zainstaluj Ansible za pomocą Pip. Ansible automatyzuje dostarczanie oprogramowania, zarządzanie konfiguracją i wdrażanie aplikacji.

sudo pip install ansible

Zainstaluj MariaDB Server

Dodaj repozytorium MariaDB do systemu.

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'

Zainstaluj MariaDB.

sudo apt update
sudo apt -y install mariadb-server libmysqlclient-dev

Podaj silne hasło dla użytkownika root MariaDB, gdy zostaniesz o to poproszony.

Mechanizm pamięci Barracuda jest wymagany do tworzenia baz danych ERPNext, dlatego konieczne będzie skonfigurowanie MariaDB do korzystania z silnika pamięci Barracuda. Edytuj domyślny plik konfiguracyjny MariaDB my.cnf.

sudo nano /etc/mysql/my.cnf

Dodaj następujące linie pod [mysqld]linią.

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

Dodaj również następujący wiersz pod [mysql]linią.

default-character-set = utf8mb4

Uruchom ponownie MariaDB i włącz automatyczne uruchamianie podczas uruchamiania.

sudo systemctl restart mariadb
sudo systemctl enable mariadb

Przed skonfigurowaniem bazy danych musisz zabezpieczyć MariaDB. Możesz to zabezpieczyć, uruchamiając mysql_secure_installationskrypt.

sudo mysql_secure_installation

Zostaniesz poproszony o podanie bieżącego hasła roota MariaDB. Podaj hasło ustawione podczas instalacji. Zostaniesz zapytany, czy chcesz zmienić istniejące hasło użytkownika root twojego serwera MariaDB. Możesz pominąć ustawienie nowego hasła, ponieważ już podałeś silne hasło podczas instalacji. Odpowiedz „Y” na wszystkie pozostałe pytania.

Zainstaluj Nginx, Node.js i Redis

Dodaj repozytorium Nodesource dla Node.js 8.x.

sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -

Zainstaluj Nginx, Node.js i Redis.

sudo apt -y install nginx nodejs redis-server

Uruchom Nginx i włącz go w czasie uruchamiania.

sudo systemctl start nginx
sudo systemctl enable nginx

Uruchom Redis i włącz go, aby uruchamiał się podczas rozruchu.

sudo systemctl start redis-server
sudo systemctl enable redis-server

Zainstaluj konwerter plików PDF

wkhtmltopdfProgram jest narzędziem wiersza poleceń, które konwertuje HTML do formatu PDF za pomocą silnika renderowania QT Webkit. Zainstaluj wymagane zależności.

sudo apt -y install libxrender1 libxext6 xfonts-75dpi xfonts-base

Pobierz najnowszą wersję wkhtmltopdf.

wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz

Wypakuj archiwum.

sudo tar -xf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz -C /opt

Powyższe polecenie wyodrębni archiwum do /opt/wkhtmltox. Utwórz dowiązanie tak, że wkhtmltopdfi wkhtmltoimagemogą być wykonywane na całym świecie jako polecenie.

sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
sudo ln -s /opt/wkhtmltox/bin/wkhtmltoimage /usr/bin/wkhtmltoimage

Możesz teraz uruchomić, wkhtmltopdf -Vaby sprawdzić, czy działa, zobaczysz to.

user@vultr:~$ wkhtmltopdf -V
wkhtmltopdf 0.12.4 (with patched qt)

W tym momencie mamy zainstalowane wszystkie wymagane zależności. Możesz teraz przejść do instalacji Bench.

Zainstaluj ławkę

Benchto narzędzie wiersza polecenia dostarczone przez Frappe do instalowania aplikacji ERPNext i zarządzania nią w systemie uniksowym, zarówno do celów programistycznych, jak i produkcyjnych. Bench może także tworzyć i zarządzać konfiguracjami Nginx i superwizora.

Utwórz nowego użytkownika do uruchamiania procesów testowych w izolowanym środowisku.

sudo adduser bench --home /opt/bench

Udziel sudouprawnień benchużytkownikowi.

sudo usermod -aG sudo bench

Zaloguj się jako nowo utworzony benchużytkownik.

sudo su - bench

Sklonuj repozytorium Bench w /opt/bench.

cd /opt/bench
git clone https://github.com/frappe/bench bench-repo

Zainstaluj Bench za pomocą pip.

sudo pip install -e bench-repo

Po zainstalowaniu Bench przejdź do instalacji ERPNext za pomocą Bench.

Zainstaluj ERPNext za pomocą Bench

Zainicjuj katalog bench z zainstalowanym frappe framework. Aby wszystko było uporządkowane, będziemy pracować w /opt/benchkatalogu. Ławka będzie także konfigurować regularne kopie zapasowe i automatyczne aktualizacje raz dziennie.

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

Utwórz nową stronę Frappe.

bench new-site erp.example.com

Powyższe polecenie wyświetli monit o podanie hasła root MySQL. Podaj hasło ustawione wcześniej dla użytkownika root MySQL. Poprosi Cię również o ustawienie nowego hasła do konta administratora. Będziesz potrzebować tego hasła później, aby zalogować się do pulpitu administratora .

Pobierz pliki instalacyjne ERPNext ze zdalnego repozytorium git za pomocą Bench.

bench get-app erpnext https://github.com/frappe/erpnext

Zainstaluj ERPNext na nowo utworzonej stronie.

bench --site erp.example.com install-app erpnext

Możesz natychmiast uruchomić aplikację, aby sprawdzić, czy aplikacja została pomyślnie zainstalowana.

bench start

Należy jednak zatrzymać wykonywanie i przejść dalej, aby skonfigurować aplikację do użytku produkcyjnego.

Instalator i Nginx

Domyślnie aplikacja ERPNext nasłuchuje na porcie 8000, a nie na standardowym porcie HTTP 80. Ponadto nie jest zalecane uruchamianie wbudowanego serwera WWW do celów produkcyjnych, ponieważ będziemy udostępniać serwer światu. Należy używać produkcyjnego serwera WWW jako odwrotnego proxy, takiego jak Apache lub Nginx. Będziemy używać Nginx jako odwrotnego proxy, ponieważ można go automatycznie skonfigurować za pomocą Bench. Ławka może automatycznie wygenerować i zainstalować konfigurację zgodnie z konfiguracją ERPNext.

Chociaż możemy uruchomić aplikację za pomocą komendy „bench start”, wykonanie ERPNext zostanie zatrzymane, gdy tylko zamkniesz terminal. Aby rozwiązać ten problem, należy użyć funkcji Supervisor, która jest bardzo pomocna w ciągłym uruchamianiu aplikacji w środowisku produkcyjnym. Supervisor to system kontroli procesu, który umożliwia monitorowanie i kontrolowanie wielu procesów w systemach operacyjnych Linux. Po skonfigurowaniu Supervisora, aplikacja automatycznie uruchomi się w czasie rozruchu, a także w przypadku awarii. Ławka może automatycznie skonfigurować Supervisora ​​dla aplikacji ERPNext.

Zainstaluj Supervisor.

sudo apt -y install supervisor

Uruchom Supervisora ​​i włącz go tak, aby uruchamiał się automatycznie podczas rozruchu.

sudo systemctl start supervisor
sudo systemctl enable supervisor

Stół warsztatowy do użytku produkcyjnego.

 sudo bench setup production bench

Powyższe polecenie może spowodować wyświetlenie monitu przed zastąpieniem istniejącego domyślnego pliku konfiguracyjnego Supervisor nowym plikiem. Wybierz, yaby kontynuować. Ławka dodaje wiele procesów do pliku konfiguracyjnego Supervisor. Powyższe polecenie zapyta również, czy chcesz zastąpić bieżącą konfigurację Nginx nową. Wejdź, yaby kontynuować. Po zakończeniu instalacji konfiguracji przez Bench, zapewnij innym użytkownikom wykonanie plików w twoim katalogu domowym użytkownika Bench.

chmod o+x /opt/bench/

Możesz teraz uzyskać dostęp do witryny na http://erp.example.com.

Możesz sprawdzić status procesów, uruchamiając.

sudo supervisorctl status all

Powinieneś zobaczyć następujące dane wyjściowe.

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

Aby zatrzymać wszystkie procesy ERPNext.

sudo supervisorctl stop all

Aby uruchomić wszystkie procesy ERPNext.

sudo supervisorctl start all

Konfigurowanie SSL za pomocą Let's Encrypt

Let's Encrypt zapewnia użytkownikom bezpłatne certyfikaty SSL. SSL może być zainstalowany ręcznie lub automatycznie przez Bench. Bench może automatycznie zainstalować klienta Let's Encrypt i uzyskać certyfikaty. Ponadto automatycznie aktualizuje konfigurację Nginx, aby używać certyfikatów.

Nazwa domeny, której używasz do uzyskania certyfikatów z Let's Encrypt CA, musi być skierowana w stronę serwera. Klient weryfikuje urząd domeny przed wydaniem certyfikatów .

Włącz wielodostępność DNS dla aplikacji ERPNext.

bench config dns_multitenant on

Uruchom Bench, aby skonfigurować Let's Encrypt na swojej stronie.

sudo bench setup lets-encrypt erp.example.com

Podczas wykonywania skryptu klient Let's Encrypt poprosi Cię o tymczasowe zatrzymanie serwera WWW Nginx. Automatycznie zainstaluje wymagane pakiety i klienta Let's Encrypt. Klient wyświetli monit o podanie adresu e-mail. Będziesz także musiał zaakceptować warunki. Po wygenerowaniu certyfikatów Bench wygeneruje również nową konfigurację dla Nginx, która korzysta z certyfikatów SSL. Zostaniesz zapytany przed zastąpieniem istniejącej konfiguracji. Ławka tworzy również crontabwpis, aby automatycznie odnawiać certyfikaty co miesiąc.

Na koniec włącz harmonogram, aby automatycznie uruchamiał zaplanowane zadania.

bench enable-scheduler

Powinieneś zobaczyć to wyjście.

bench@vultr:~/erpnext$ bench enable-scheduler
Enabled for erp.example.com

Wniosek

Po zakończeniu procesu możesz uzyskać dostęp do aplikacji pod adresem https://erp.example.com. Zaloguj się, podając nazwę użytkownika Administratori hasło ustawione podczas instalacji. Zostaniesz przeniesiony do biurka, gdzie będziesz musiał podać informacje, aby ustawić ERPNext ERP zgodnie z twoją firmą. Możesz teraz używać aplikacji do zarządzania firmą.

Gratulacje, masz w pełni działającą aplikację ERPNext zainstalowaną na serwerze Ubuntu 17.04.



Leave a Comment

Jak zainstalować platformę koszyków LiteCart na Ubuntu 16.04

Jak zainstalować platformę koszyków LiteCart na Ubuntu 16.04

LiteCart to darmowa i otwarta platforma koszyka na zakupy napisana w PHP, jQuery i HTML 5. Jest to prosty, lekki i łatwy w użyciu program do handlu elektronicznego

Jak zainstalować Anchor CMS na CentOS 7 LAMP VPS

Jak zainstalować Anchor CMS na CentOS 7 LAMP VPS

Używasz innego systemu? Anchor CMS to bardzo prosty i niezwykle lekki, darmowy i otwarty system zarządzania treścią (CMS) Blog Engine, który

Jak zainstalować Matomo Analytics na Fedorze 28

Jak zainstalować Matomo Analytics na Fedorze 28

Używasz innego systemu? Matomo (wcześniej Piwik) to platforma analityczna typu open source, otwarta alternatywa dla Google Analytics. Źródło Matomo jest hostowane o

Skonfiguruj serwer TeamTalk w systemie Linux

Skonfiguruj serwer TeamTalk w systemie Linux

TeamTalk to system konferencyjny, który pozwala użytkownikom na wysokiej jakości rozmowy audio / wideo, czat tekstowy, przesyłanie plików i udostępnianie ekranów. To ja

Jak zainstalować TextPattern CMS 4.6.2 na FreeBSD 11 FAMP VPS

Jak zainstalować TextPattern CMS 4.6.2 na FreeBSD 11 FAMP VPS

Używasz innego systemu? TextPattern CMS 4.6.2 to prosty, elastyczny, bezpłatny i otwarty system zarządzania treścią (CMS), który umożliwia projektantom stron internetowych

Jak zainstalować forum NodeBB na FreeBSD 12

Jak zainstalować forum NodeBB na FreeBSD 12

Używasz innego systemu? NodeBB to oprogramowanie forum oparte na Node.js. Wykorzystuje gniazda sieciowe do natychmiastowych interakcji i powiadomień w czasie rzeczywistym. NodeB

Jak zainstalować Ranger Terminal File Manager w systemie Linux

Jak zainstalować Ranger Terminal File Manager w systemie Linux

Ranger to oparty na linii poleceń menedżer plików z powiązaniami klawiszy VI. Zapewnia minimalistyczny i ładny interfejs curses z widokiem na hierarchię katalogów

Skonfiguruj Magento na CentOS 6

Skonfiguruj Magento na CentOS 6

Niezależnie od tego, czy chcesz umieścić zapasy sklepów online, czy po prostu prosty sklep z akcesoriami technicznymi, Magento jest doskonałym rozwiązaniem dla eCommerce online. Ten artykuł

Jak zbudować Brotli ze źródła na Ubuntu 18.04 LTS

Jak zbudować Brotli ze źródła na Ubuntu 18.04 LTS

Używasz innego systemu? Brotli to nowa metoda kompresji z lepszym współczynnikiem kompresji niż GZIP. Jego kod źródłowy jest publicznie hostowany na tym Githu

Jak zainstalować i skonfigurować OrientDB Community Edition na CentOS 7

Jak zainstalować i skonfigurować OrientDB Community Edition na CentOS 7

OrientDB to wielomodowy model open source NoSQL DBMS nowej generacji. Dzięki obsłudze wielu modeli danych, OrientDB może zapewnić większą funkcjonalność i elastyczność

Jak zainstalować Neos CMS na CentOS 7

Jak zainstalować Neos CMS na CentOS 7

Neos to innowacyjny system zarządzania treścią typu open source, który doskonale nadaje się do tworzenia i edytowania treści online. Z myślą o autorach i redaktorach, Neo

Jak zainstalować DokuWiki na Ubuntu 16.04 LTS

Jak zainstalować DokuWiki na Ubuntu 16.04 LTS

Używasz innego systemu? DokuWiki to program wiki typu open source napisany w PHP, który nie wymaga bazy danych. Przechowuje dane w plikach tekstowych. DokuWik

Jak zainstalować i skonfigurować CyberPanel na Ubuntu 18.04 LTS

Jak zainstalować i skonfigurować CyberPanel na Ubuntu 18.04 LTS

Używasz innego systemu? Wprowadzenie CyberPanel jest jednym z pierwszych paneli sterowania na rynku, który jest zarówno open source, jak i wykorzystuje OpenLiteSpeed. Co ty?

Konfigurowanie ClamFS i ClamAV na Ubuntu

Konfigurowanie ClamFS i ClamAV na Ubuntu

ClamAV to darmowy pakiet antywirusowy typu open source. Planując strategię bezpieczeństwa dla swojego serwera, możesz rozważyć uruchomienie programu antywirusowego w celu ochrony

Jak zainstalować forum NodeBB na Fedorze 28

Jak zainstalować forum NodeBB na Fedorze 28

Używasz innego systemu? NodeBB jest forum opartym na Node.js. Wykorzystuje gniazda sieciowe do natychmiastowych interakcji i powiadomień w czasie rzeczywistym. Kod źródłowy NodeBB i

Jak budować Brotli ze źródła na Debianie 9

Jak budować Brotli ze źródła na Debianie 9

Używasz innego systemu? Brotli to nowa metoda kompresji z lepszym współczynnikiem kompresji niż Gzip. Jego kod źródłowy jest publicznie hostowany na Github. Cześć

Instalowanie Netdata na CentOS 7

Instalowanie Netdata na CentOS 7

Używasz innego systemu? Netdata jest wschodzącą gwiazdą w dziedzinie monitorowania wskaźników systemowych w czasie rzeczywistym. W porównaniu z innymi narzędziami tego samego rodzaju, Netdata:

Jak skonfigurować serwer pocztowy za pomocą iRedMail na Ubuntu 16.04

Jak skonfigurować serwer pocztowy za pomocą iRedMail na Ubuntu 16.04

Używasz innego systemu? Wprowadzenie Jeśli kiedykolwiek zbudowałeś serwer pocztowy od podstaw, będziesz wiedział, że może to być żmudne przedsięwzięcie. Tutaj ja

Jak zainstalować Monikę na Ubuntu 18.04 LTS

Jak zainstalować Monikę na Ubuntu 18.04 LTS

Używasz innego systemu? Monica to system zarządzania relacjami osobistymi typu open source. Pomyśl o tym jak o CRM (popularnym narzędziu używanym przez zespoły sprzedażowe w th

Jak zainstalować panel sterowania OpenSIPS na Ubuntu 16.04

Jak zainstalować panel sterowania OpenSIPS na Ubuntu 16.04

Panel sterowania OpenSIPS to oparta na PHP aplikacja internetowa do obsługi serwera OpenSIPS SIP. Może służyć do udostępniania, obsługi i monitorowania multiplikacji

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.