如何在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。您將被重定向到以下頁面:
現在,提供管理員用戶名和您在安裝過程中提供的密碼。然後,單擊「登錄」按鈕。您應該看到以下頁面:
接下來,選擇您的語言並單擊「下一步」按鈕。您應該看到以下頁面:
接下來,選擇您所在的國家/地區並單擊「下一步」按您應該看到以下頁面:
接下來,提供您的全名和電子郵件地址。然後,單擊「完成設置」按鈕。您應該看到以下頁面:
恭喜您已在Ubuntu 18.04伺服器中成功安裝並配置了ERPNext。您現在可以在生產環境中輕鬆設置ERPNext。