基於ubuntu server 20.04安裝ERPNext Version-13之完全新手指南


此文基於官網貼子:

https://discuss.erpnext.com/t/install-frappe-erpnext-v13-beta-from-scratch-100-guarantee-22-steps-on-ubuntu-20-04/69565

余總的gitee:

https://gitee.com/yuzelin/erpnext-chinese-docs/blob/master/安裝文檔/基於ubuntu20.04安裝ERPNext Version-13 新手版.md

步驟如下

  1. 准備一台裝好ubuntu20.04的服務器,本地虛擬機或者VPS皆可,注意這里的系統指的是Ubuntu server,不是桌面版的,桌面版的系統安裝會狀況百出!!!虛擬機的網絡要用橋接模式。

  2. 設置root密碼

    sudo passwd root
    
  3. 添加用戶

    adduser USERNAME
    #用戶名USERNAME換成自己計划使用的用戶名,如果直接使用已存在且有sudo權限的賬號,這一步和下面這一步就可跳過。
    
  4. 將用戶設置sudo權限:

    usermod -aG sudo USERNAME
    #記得把命令行里的USERNAME改成自己剛設置的用戶名
    
  5. 通過ssh登錄root用戶

    #虛擬機需要先設置將端口22開放才能通過ssh連接
    vim /etc/ssh/sshd_config
    
    按i,移動光標打到以下內容修改:
    
    #Port 22
    改為
    Port 22
    
    #PermitRootLogin prohibit-password
    改為
    PermitRootLogin yes
    
    修改好按ESC,shift+:,輸入wq回車
    
    重啟服務
    /etc/init.d/ssh restart
    
  6. 替換國內鏡像源,下面用的是清華的鏡像源,操作如下(root用戶可不輸入sudo):

    1.備份
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 
    
    2.修改
    sudo vim /etc/apt/sources.list
    
    3.按ggVG進行全選,按d進行刪除
    4.將下面源粘貼
    5.按esc,再按shift+:,輸入wq回車(這步是保存退出)
    
    # 默認注釋了源碼鏡像以提高 apt update 速度,如有需要可自行取消注釋
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
    
    # 預發布軟件源,不建議啟用
    # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
    
  7. 更新並重啟

    apt update && apt upgrade -y && shutdown -r now
    
  8. 下載node.js

    curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
    
  9. 安裝操作系統級依賴

    apt install -y nodejs mariadb-server-10.3 redis-server python3-pip nginx python3-testresources
    #最新的10.5版本的Mariadb數據庫安裝后會報錯,需要更改默認的數據庫引擎。建議10.3版本。——來自Jason Zhang的文檔,所以我這里又在Mariadb后面加上了個版本號
    
  10. 用nano編輯my.cnf文件

nano /etc/mysql/my.cnf

將光標移動到最后空白行,復制以下文本內容,ctrl + O,回車確認,ctrl + X返回命令行

[mysqld]
character-set-client-handshake = FALSE 
character-set-server = utf8mb4 
collation-server = utf8mb4_unicode_ci 

[mysql]
default-character-set = utf8mb4
  1. 重啟sql
service mysql restart
  1. mysql的安全配置
mysql_secure_installation

第一個輸入數據庫密碼對話框出來的時候,直接敲回車代表沒有密碼,剩下的按照下面選擇:

Enter current password for root (enter for none): 
#這里直接回車
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] n
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
  1. 輸入上面新設置的數據庫root賬號密碼,進入數據庫命令行,並執行下面的語句

    mysql -u root -p
    
    USE mysql; 
    UPDATE user SET plugin=' ' WHERE user ='root'; 
    FLUSH PRIVILEGES;
    exit;
    
  2. 【重要】關閉ssh終端,重新以自己“新創建的用戶名”和密碼登錄

  3. 安裝yarn

    sudo npm install -g yarn
    
    #保險起見,還需要將剛剛的yarn,node,npm添加運行權限。 sudo chmod +x /usr/bin/node. 默認有運行權限。——Jason Zhang
    
  4. 查看版本,對照一下,這一步不做也行

    node -v && npm -v && python3 -V && pip3 -V && yarn -v
    
  5. 安裝bench,即erpnext系統的命令行管理工具,類似windows系統的程序管理器。

    sudo pip3 install frappe-bench
    
  6. 安裝git,下一步bench init會報錯缺少git,阿里雲可以省了這一步。

    sudo apt install git
    
  7. 使用bench命令安裝frappe框架,記得把frappe-bench(下方的version-13后面的名字)改成自己想要的名字,這一步時間比較長,別着急,代碼庫已經加了碼雲地址參數。如果網絡超時失敗,可重新運行該命令,重新運行之前需使用命令 rm -r myfrappe 刪除之前生成的目錄。

    bench init --frappe-branch version-13 frappe-bench --frappe-path=https://gitee.com/phipsoft/frappe
    
    #下面這段是警告說pip有新版本,可忽略
    WARNING: You are using pip version 21.0.1; however, version 21.1 is available.
    You should consider upgrading via the '/home/frappe/frappe-bench/env/bin/python -m pip install --upgrade pip' command.
    
    #刪掉目錄重來,還是會報,有時候報很多錯,有時候報一個無法下載某個東東,但還是報成功
    SUCCESS: Bench frappe-bench initialized
    
    #如報錯,sudo rm -r frappe-bench,重新裝過,然后看運氣會有成功的時候
    
  8. 進入bench目錄,同樣記得改名

    cd frappe-bench
    
  9. 新建站點,名字自己取,安裝時會提示輸入數據庫root賬號的密碼, 新站點數據庫及erp系統管理員賬號administator 密碼,其中數據庫root賬號密碼須與上述數據庫安裝時密碼一致,其它密碼自己取 --db-password xxx 也可以命令行參數中直接輸入好密碼,--mariadb-root-password yyyy --admin-password zzzz

    bench new-site mysite
    
  10. 下載安裝erpnext

    bench get-app --branch version-13 erpnext https://gitee.com/phipsoft/erpnext
    
  11. 安裝erpnext

    bench install-app erpnext https://gitee.com/phipsoft/erpnext
    
  12. 設置為生產環境,即用supervisorctl管理所有進程,使用nginx做反向代理,USERNAME換成第3步新建的賬號,大功告成。

    sudo bench setup production USERNAME
    
  13. 安裝完后可查看一下是否有活動的wokers

    bench doctor
    
    #正常情況下會顯示如下:
    -----Checking scheduler status-----
    Scheduler disabled for erpnext
    Scheduler inactive for erpnext
    Workers online: 3
    -----erpnext Jobs-----
    
  14. 以上完成后查看一下安裝了哪些app

    bench version 
    

    正常會顯示以下三個app

    ebclocal 0.0.1
    erpnext 13.1.0
    frappe 13.1.2
    
  15. 如果是虛似機安裝,需要防火牆入站打開80端口。

    ufw allow 80
    
    sudo ufw status verbose
    
    #打開后顯示如下:
    root@erpnext:~# ufw allow 80
    Rule added
    Rule added (v6)
    root@erpnext:~# sudo ufw status verbose
    Status: active
    Logging: on (low)
    Default: deny (incoming), allow (outgoing), deny (routed)
    New profiles: skip
    
    To                         Action      From
    --                         ------      ----
    22/tcp                     ALLOW IN    Anywhere                  
    22                         ALLOW IN    Anywhere                  
    80                         ALLOW IN    Anywhere                  
    22/tcp (v6)                ALLOW IN    Anywhere (v6)             
    22 (v6)                    ALLOW IN    Anywhere (v6)             
    80 (v6)                    ALLOW IN    Anywhere (v6) 
    
  16. 阿里雲服務器要在安全組里添加80的入站端口號。

附注:安裝ebclocal漢化APP

  1. 獲取APP

    bench get-app --branch master https://gitee.com/yuzelin/ebclocal.git
    
  2. 安裝APP

    bench install-app ebclocal
    
  3. 用瀏覽器(推薦 Chrome或Firefox)輸入IP或域名,登錄系統,用戶名administrator,密碼是第21步admin-password密碼。設

常見問題

  1. wkhtmltopdf安裝時出現字體庫依賴無法安裝等錯誤 參考了這個https://askubuntu.com/questions/604029/dependency-problems-with-wkhtmltopdf-when-trying-to-install-latest-version,最后是以下命令解決了

    sudo apt-get -f install
    
  2. 通過打印轉PDF時出現亂碼 參考這個帖子https://www.taodudu.cc/news/show-1772808.html,用以下命令安裝字體

    sudo apt-get install ttf-wqy-zenhei -y
    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM