ERPNEXT deployment, 25-001, basic system setup

Gerard Chen Avatar

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

Reference

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *