OS, UBUNTU 24.04
ERPNEXT, version 15
sudo apt update && sudo apt upgrade -y
sudo apt install -y python3 python3-pip python3-venv python3-dev
sudo apt install -y redis-server git
sudo apt install -y supervisor
# install Node.js, official NodeSource
# Remove older versions first
sudo apt remove nodejs npm -y
# Add NodeSource for Node.js 18.x
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
# Install Node.js and npm
sudo apt install -y nodejs
# versions check
node -v
npm -v
yarn -v
redis-server -v
step 03, crete user
# 設定frappe系統使用者
sudo useradd -m -d /dir/for/frappe -s /bin/bash frappe
# 設定frappe密碼
sudo passwd frappe
# 增加frappe群組
sudo groupadd groupname
# 將使用者frappe, 加入群組frappe
sudo usermod -aG frappe frappe
# 將使用者frappe, 加入群組frappe
sudo usermod -aG sudo frappe
step 04, virtual env setup, bench install & initiate
# move to frappe dir
cd /dir/to/frappe
# Switch to user
su frappe
# deploy python virtualenv & activate
python3 -m venv virtualENV
source /path/to/virtualenv
# Install bench & check bench version
pip3 install frappe-bench
bench --version
bench init --frappe-branch version-15 frappeBENCH
# setup bench Instance for
# move to frappe bench directory
mv frappeBENCH
# setup supervisor
確認在/etc/supervisor/conf.d內是否有supervisor.conf. 如果沒有, 執行下列指令.
bench setup supervisor
ln -s /path/to/frappeBench/config/supervisor.conf /etc/supervisor/conf.d
sudo supervisorctl reload
# 下載app
bench get-app --branch version-15 erpnext
bench get-app --branch version-15 payments
bench get-app --branch version-15 hrms
# 利用下列bash script 建立個別erpnext個別網站
#!/usr/bin/env bash
siteNAME=erpnext.gerardchen.com
bench new-site $siteNAME \
--db-host 127.0.0.1 \
--db-port 4306 \
--mariadb-root-username root \
--mariadb-root-password password.for.root \
--admin-password password for admin \
--mariadb-user-host-login-scope='%' \
--verbose
# 啟動bench
bench start
# Install ERPNext app
bench --site siteNAME install-app erpnext
bench --site siteNAME install-app hrms
bench --site siteNAME install-app payments
# setup production server
# enable scheduler service
bench --site siteNAME enable-scheduler
# disable maintenance mode
bench --site siteNAME set-maintenance-mode off
# setup production config
sudo bench setup production [frappe-user]
因為以virtualenv建立python3環境, 且沒有設定PATH
退出使用者frappe, 以superuser身分設定
sudo /path/to/virtualENV/bin/bench setup production [frappe-user]
bench setup socketio
# setup port
bench set-nginx-port siteName port
bench init frappe --frappe-branch version-15
bench init site01-bench --frappe-branch version-14