如何在Ubuntu 18.04 LTS上安裝ERPNext

如何在Ubuntu 18.04 LTS上安裝ERPNext

ERPNext是一款免費,開源,現代且易於使用的商業管理軟體,被全球數千家公司使用。它是一個非常簡單的ERP平台,支持零售,貿易,服務,製造,人力資源,非營利組織和其他領域。它是在Frappe框架之上用Python編寫的功能強大且功能齊全的ERP系統。它使用Node.js作為前端,MariaDB使用它來存儲數據。 ERPNext提供基於Web的界面來執行日常任務。 ERPNext提供具有辦公套件集成的嵌入式報告系統。

在本教程中,我們將學習如何在Ubuntu 18.04 LTS伺服器上安裝和配置ERPNext。

要求

  • 運行Ubuntu 18.04的伺服器。
  • 具有sudo許可權的非root用戶設置到您的伺服器。

入門

首先,您需要使用最新版本更新系統。您可以通過運行以下命令來執行此操作:

sudo apt-get update -y
sudo apt-get upgrade -y

系統更新後,您需要為ERPNext創建用戶。

您可以使用以下命令執行此操作:

sudo useradd -m -s /bin/bash erpnext
sudo passwd erpnext

接下來,使用以下命令為ERPNext用戶授予sudo許可權:

sudo usermod -aG sudo erpnext

接下來,使用以下命令登錄ERPNext用戶和設置環境變數:

su - erpnext
nano .bashrc

添加以下行:

P新高=$P新高:~/.local/bin/  

完成後保存並關閉文件。然後,重新啟動系統以應用所有更改。

安裝必需的包

首先,使用erpnext用戶登錄系統,並將ERPNext所需的一些依賴項安裝到您的系統中。

sudo apt-get install libffi-dev python-pip python-dev libssl-dev wkhtmltopdf -y

接下來,使用以下命令安裝Nginx和MariaDB伺服器:

sudo apt-get install nginx mariadb-server -y

安裝完成後,您需要在50-server.cnf文件中進行一些更改。您可以使用以下命令執行此操作:

sudo nano /etc/mysql/mariadb.conf.d/50-server.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

您現在可以使用以下命令檢查MariaDB伺服器的狀態:

sudo systemctl status mariadb

您應該看到以下輸出:

? mariadb.service - MariaDB 10.1.38 database server     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)     Active: active (running) since Sat 2019-02-16 06:26:48 UTC; 2h 38min ago       Docs: man:mysqld(8)             https://mariadb.com/kb/en/library/systemd/    Process: 4640 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)    Process: 4636 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)    Process: 4505 ExecStartPre=/bin/sh -c ( ! -e /usr/bin/galera_recovery ) && VAR= ||   VAR=`/usr/bin/galera_recovery`; ( $? -eq 0 )   && systemctl set-    Process: 4503 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)    Process: 4482 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)   Main PID: 4607 (mysqld)     Status: "Taking your SQL requests now..."      Tasks: 31 (limit: 1111)     CGroup: /system.slice/mariadb.service             ??4607 /usr/sbin/mysqld    Aug 16 06:26:47 ubuntu1804 systemd(1): Starting MariaDB 10.1.38 database server...  Aug 16 06:26:48 ubuntu1804 mysqld(4607): 2019-02-16  6:26:48 140715015396480 (Note) /usr/sbin/mysqld (mysqld 10.1.38-MariaDB-0ubuntu0.18.04.1) starting  Aug 16 06:26:48 ubuntu1804 systemd(1): Started MariaDB 10.1.38 database server.  Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start(4642): Upgrading MySQL tables if necessary.  Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start(4659): /usr/bin/mysql_upgrade: the '--basedir' option is always ignored  Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start(4659): Looking for 'mysql' as: /usr/bin/mysql  Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start(4659): Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck  Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start(4659): This installation of MySQL is already upgraded to 10.1.38-MariaDB, use --force if you still n  Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start(4677): Checking for insecure root accounts.  Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start(4681): Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables  

安裝Redis和Node.js

接下來,您需要將Redis和Node.js安裝到您的系統中。您可以通過運行以下命令來安裝它們:

sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
sudo apt-get install gcc g++ make -y
sudo apt-get install nodejs redis-server -y
sudo npm install -g yarn

配置MariaDB

默認情況下,MariaDB安裝不安全,因此您需要先保護它。您可以使用以下命令保護它:

sudo mysql_secure_installation

回答所有問題,如下所示:

    Enter current password for root (enter for none):      Set root password? (Y/n): N      Remove anonymous users? (Y/n): Y      Disallow root login remotely? (Y/n): Y      Remove test database and access to it? (Y/n):  Y      Reload privilege tables now? (Y/n):  Y  

一旦MariaDB受到保護,請使用以下命令登錄MariaDB shell:

sudo mysql -u root -p

提示時輸入您的root密碼。然後,使用以下命令為ERPNext創建資料庫和用戶:

MariaDB ((none))> create database erpnextdb;
MariaDB ((none))> create user (email protected) identified by 'password';

接下來,使用以下命令向ERPNext授予所有許可權:

MariaDB ((none))> GRANT ALL ON erpnextdb.* TO 'erpnextuser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
MariaDB ((none))> GRANT all privileges on *.* to 'root'@'localhost' IDENTIFIED BY '(email protected)' WITH GRANT OPTION;

接下來,使用以下命令刷新許可權並退出MariaDB shell:

MariaDB ((none))> FLUSH PRIVILEGES;
MariaDB ((none))> EXIT;

安裝ERPNext

首先,為ERPNext創建一個目錄,並使用以下命令提供適當的許可權:

sudo mkdir -p /opt/erpnext
sudo chown -R erpnext /opt/erpnext/

接下來,將目錄更改為erpnext並使用以下命令安裝erpnext:

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

輸出:

Cloning into 'bench-repo'...  remote: Enumerating objects: 19, done.  remote: Counting objects: 100% (19/19), done.  remote: Compressing objects: 100% (14/14), done.  remote: Total 6144 (delta 10), reused 13 (delta 5), pack-reused 6125  Receiving objects: 100% (6144/6144), 29.70 MiB | 231.00 KiB/s, done.  Resolving deltas: 100% (3924/3924), done.  

接下來,使用pip命令安裝工作台:

sudo pip install -e bench-repo

接下來,使用frappe框架初始化bench目錄:

bench init erpnext

輸出:

Building frappe assets...    ? Built js/print_format_v3.min.js  ? Built js/dialog.min.js  ? Built js/web_form.min.js  ? Built js/social.min.js  ? Built js/modules.min.js  ? Built js/form.min.js  ? Built js/list.min.js  ? Built js/frappe-vue.min.js  ? Built js/chat.js  ? Built js/desk.min.js  ? Built js/control.min.js  ? Built css/frappe-rtl.css  ? Built css/module.min.css  ? Built css/report.min.css  ? Built css/form.min.css  ? Built css/list.min.css  ? Built frappe/css/email.css  ? Built css/web_form.css  ? Built css/frappe-web.css  ? Built css/desk.min.css  ? Built js/frappe-web.min.js  ? Built js/report.min.js  ?  Done in 31.313s  Done in 34.43s.  INFO:bench.utils:setting up backups  no crontab for erpnext  INFO:bench.utils:setting up auto update  no crontab for erpnext  Bench erpnext initialized  

接下來,使用以下命令將目錄更改為erpnext並為node1.example.com域創建新站點:

bench new-site node1.example.com

系統將要求您提供MySQL root密碼,如下所示:

MySQL root password:

提供root密碼,然後按Enter鍵。您應該看到以下輸出:

Installing frappe...  Updating DocTypes for frappe        : (========================================)  Updating country info               : (========================================)  Set Administrator password:   Re-enter Administrator password:   *** Scheduler is disabled ***  

接下來,使用以下命令為erpnext提供適當的許可權:

sudo chown -R erpnext:erpnext /opt/erpnext/erpnext

最後,使用以下命令啟動伺服器:

bench start

您應該看到以下輸出:

06:34:02 web.1            |  * Running on http://0.0.0.0:8000/ (Press CTRL+C to quit)  06:34:02 web.1            |  * Restarting with inotify reloader  06:34:03 watch.1          | yarn run v1.13.0  06:34:03 watch.1          | $node rollup/watch.js  06:34:03 web.1            |  * Debugger is active!  06:34:04 web.1            |  * Debugger PIN: 159-307-235  06:34:13 watch.1          |   06:34:13 watch.1          | Rollup Watcher Started  06:34:13 watch.1          |   06:34:13 watch.1          | Watching...  06:34:15 watch.1          | Rebuilding frappe-web.css  

訪問ERPNext

現在已安裝ERPNext並在埠8000上進行偵聽。打開Web瀏覽器並鍵入URL http://node1.example.come:8000。您將被重定向到以下頁面:

ERP下載登錄

現在,提供管理員用戶名和您在安裝過程中提供的密碼。然後,單擊「登錄」按鈕。您應該看到以下頁面:

選擇語言

接下來,選擇您的語言並單擊「下一步」按鈕。您應該看到以下頁面:

設置公司名稱

接下來,選擇您所在的國家/地區並單擊「下一步」按您應該看到以下頁面:

添加第一個用戶

接下來,提供您的全名和電子郵件地址。然後,單擊「完成設置」按鈕。您應該看到以下頁面:

ERPNext儀錶板

恭喜您已在Ubuntu 18.04伺服器中成功安裝並配置了ERPNext。您現在可以在生產環境中輕鬆設置ERPNext。

資訊來源:由0x資訊編譯自HOWTOFORGE,版權歸作者所有,未經許可,不得轉載
你可能還喜歡