ติดตั้ง ERPNEXT VERSION 15 IN UBUNTU 22.04 ฟรี
สวัสดีครับวันนี้ผมจะมาสอนวิธีการติดตั้งระบบ ERPNEXT VERSION 15 บน UBUNTU 22.04 ในบทความนี้ เราจะมาเริ่มกันทีละขั้นตอนเพื่อกำหนดค่าระบบปฏิบัติการ Ubuntu 22.04 ที่เพิ่งติดตั้งใหม่ เพื่อจัดเตรียมสภาพแวดล้อมและติดตั้ง ERPNext เวอร์ชัน 15 มาเริ่มกันเลย!
ข้อกำหนดเบื้องต้น
ข้อกำหนดเบื้องต้นด้านล่างนี้แนะนำเพื่อให้ได้ประสิทธิภาพที่เหมาะสมของ ERPNext บนเซิร์ฟเวอร์ของคุณ
ข้อกำหนดของซอฟต์แวร์ (Software Requirements)
ข้อกำหนดของฮาร์ดแวร์ (Hardware Requirements)
การตั้งค่าเซิร์ฟเวอร์ (Server Settings)
การอัปเดตและอัปเกรดแพ็กเกจ (Update and Upgrade Packages)
sudo apt-get update -y
sudo apt-get upgrade -y
สร้างผู้ใช้ใหม่ – (bench user)
ในระบบ linux ผู้ใช้ root มีสิทธิพิเศษที่สูงที่สุดในการทำงานต่างๆ ในระบบ ซึ่งเป็นเหตุผลว่าทำไมการใช้งานผู้ใช้นี้ในชีวิตประจำวันจึงไม่แนะนำ เราจะสร้างผู้ใช้ใหม่เพื่อใช้งานแทน และผู้ใช้นี้จะถูกใช้เป็นผู้ใช้สำหรับ Frappe Bench ด้วย
sudo adduser [frappe-user]
sudo usermod -aG sudo [frappe-user]
su [frappe-user]
cd /home/[frappe-user]
คุณสามารถใช้คำสั่ง sudo adduser [frappe-user] เพื่อเพิ่มผู้ใช้ เช่น sudo adduser frappe
ติดตั้งแพ็คเกจที่จำเป็น
การติดตั้งซอฟต์แวร์เช่น ERPNext ซึ่งสร้างขึ้นบนเฟร็อป (Frappe) Framework ต้องการหลายแพ็คเกจเพื่อให้ทำงานได้อย่างราบรื่น นี่คือแพ็คเกจที่เราจะติดตั้งในขั้นตอนนี้
ติดตั้ง GIT
sudo apt-get install git
ติดตั้ง Python
ERPNext เวอร์ชัน 15 ต้องการ Python เวอร์ชัน 3.10+ นั่นเอง และนี่คือสิ่งที่เราจะติดตั้งในขั้นตอนนี้
sudo apt-get install python3-dev python3.10-dev python3-setuptools python3-pip python3-distutils
การติดตั้งสภาพแวดล้อมเสมือนจริงของ Python
สภาพแวดล้อมเสมือนจริงช่วยในการจัดการความขึ้นต่อกันของสารอาหารสำหรับซอฟต์แวร์หนึ่งในสถานที่หนึ่งโดยไม่ต้องแทรกรวมกับส่วนอื่น ๆ ในคอมพิวเตอร์หรือเซิร์ฟเวอร์ที่ซอฟต์แวร์กำลังทำงานอยู่
sudo apt-get install python3.10-venv
ติดตั้งซอฟต์แวร์ Properties Common
Software Properties Common จะช่วยในการจัดการคลังข้อมูล
sudo apt-get install software-properties-common
ติดตั้ง MariaDB
ERPNext ถูกสร้างให้ทำงานโดยความเข้าใจแล้วบน MariaDB ทีมกำลังทำงานเพื่อให้สามารถทำงานบน PostgreSQL ได้เช่นกัน แต่การทำงานนี้ยังไม่พร้อมใช้งานในขณะนี้
sudo apt install mariadb-server mariadb-client
ติดตั้งเซิร์ฟเวอร์ Redis
sudo apt-get install redis-server
ติดตั้งแพ็คเกจอื่น ๆ
ฟังก์ชันของ ERPNext ยังขึ้นอยู่กับแพ็คเกจอื่น ๆ ที่เราจะติดตั้งในขั้นตอนนี้ ซึ่งจะโหลดแบบอักษร เอกสาร PDF และทรัพยากรอื่น ๆ ไปยังอินสแตนซ์ของเรา
sudo apt-get install xvfb libfontconfig wkhtmltopdf
sudo apt-get install libmysqlclient-dev
กำหนดค่าเซิร์ฟเวอร์ MySQL
การตั้งค่าเซิร์ฟเวอร์
sudo mysql_secure_installation
เมื่อคุณเรียกใช้คำสั่งนี้ เซิร์ฟเวอร์จะแสดงโพรมต์ต่อไปนี้ โปรดทำตามขั้นตอนดังต่อไปนี้เพื่อดำเนินการติดตั้งให้ถูกต้อง:
การแก้ไขไฟล์กำหนดค่า MySQL ค่าเริ่มต้น
sudo nano /etc/mysql/my.cnf
เพิ่มบล็อกโค้ดต่อไปนี้เข้าไปโดยเหมือนเดิม:
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[mysql]
default-character-set = utf8mb4
รีสตาร์ทเซิร์ฟเวอร์ MySQL
sudo service mysql restart
ติดตั้ง CURL, Node, NPM, และ Yarn
ติดตั้ง CURL
sudo apt install curl
ติดตั้ง Node
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
source ~/.profile
nvm install 18
คัดลอกทีละแถว
ติดตั้ง NPM
sudo apt-get install npm
ติดตั้ง Yarn
sudo npm install -g yarn
ติดตั้ง Frappe Bench
sudo pip3 install frappe-bench
เริ่มต้น Frappe Bench
bench init --frappe-branch version-15 frappe-bench
เปลี่ยนไดเร็กทอรีเข้าไปในไดเร็กทอรีของ Frappe
cd frappe-bench
เปลี่ยนสิทธิ์ของไดเร็กทอรีผู้ใช้
การทำนี้จะให้ผู้ใช้ bench มีสิทธิ์ในการดำเนินการในไดเร็กทอรีหลัก
chmod -R o+rx /home/[frappe-user]
สร้างเว็บไซต์ใหม่
เว็บไซต์เป็นข้อกำหนดใน ERPNext, Frappe และแอปอื่น ๆ ที่เราจะต้องติดตั้ง เราจะสร้างเว็บไซต์ในขั้นตอนนี้
bench new-site [site-name]
แนะนำตัวอย่าง
bench new-site familyazza.com
ติดตั้ง ERPNext และแอปอื่น ๆ
ดาวน์โหลดแอปทั้งหมดที่เราต้องการติดตั้ง แอปแรกที่เราจะดาวน์โหลดคือแอปการชำระเงิน แอปนี้จำเป็นตอนกำลังติดตั้ง ERPNext
bench get-app payments
ต่อไปเราจะดาวน์โหลดแอป ERPNext
bench get-app --branch version-15 erpnext
ดาวน์โหลดแอปใดก็ได้ที่คุณสนใจในรูปแบบเดียวกัน เช่นหากคุณต้องการที่จะติดตั้งแอปทรัพยากรมนุษย์ ใช้คำสั่งต่อไปนี้:
bench get-app hrms
ติดตั้งแอปทั้งหมดในเว็บไซต์ของเรา
bench --site [site-name] install-app erpnext
ติดตั้งแอปอื่น ๆ ทั้งหมดที่คุณดาวน์โหลดในลักษณะเดียวกัน ตัวอย่างเช่น หากคุณดาวน์โหลดแอปทรัพยากรมนุษย์ ใช้คำสั่งด้านล่างนี้เพื่อติดตั้ง:
bench --site [site-name] install-app hrms
เราได้ติดตั้ง ERPNext เวอร์ชัน 15 บน Ubuntu 22.04 สำเร็จแล้ว คุณสามารถเริ่มเซิร์ฟเวอร์ได้โดยใช้คำสั่งด้านล่างนี้:
bench use [site-name]
bench start
หากคุณไม่มีอินสแตนซ์ ERPNext อื่นที่กำลังทำงานบนเซิร์ฟเวอร์เดียวกัน ERPNext จะเริ่มทำงานที่พอร์ต 8000 หากคุณเข้าไปที่ [YOUR SERVER IP:8000] คุณควรจะสามารถเห็น ERPNext เวอร์ชัน 15 ที่กำลังทำงาน
โปรดทราบว่าอินสแตนซ์ที่ทำงานในโหมดพัฒนา เช่นที่เราเพิ่งตั้งค่า จะไม่เริ่มทำงานเมื่อคุณรีสตาร์ทเซิร์ฟเวอร์ คุณจะต้องเรียกใช้คำสั่ง bench start ทุกครั้งเมื่อเซิร์ฟเวอร์รีสตาร์ท
ในขั้นตอนด้านล่างนี้ เราจะเรียนรู้วิธีการปรับใช้โหมดผลิต (production mode)
การตั้งค่า ERPNext สำหรับการใช้งานจริง (Production)
เปิดใช้งาน Scheduler
bench --site [site-name] enable-scheduler
ปิดใช้งานโหมดการบำรุงรักษา
bench --site [site-name] set-maintenance-mode off
ตั้งค่าการใช้งานในโหมด config
sudo bench setup production [frappe-user]
ตั้งค่า NGINX เพื่อใช้การเปลี่ยนแปลง
bench setup nginx
รีสตาร์ท Supervisor และเริ่มโหมด config
sudo supervisorctl restart all
sudo bench setup production [frappe-user]
จบขั้นตอนการติดตั้งไว้แต่เพียงเท่านี้ หากมีข้อสงสัย ติดต่อผ่านคอมเม้นไว้นะครับเดี่ยวจะตอบกลับ
หากมีการแจ้งให้บันทึกไฟล์การกำหนดค่าใหม่/ที่มีอยู่ ตอบด้วย Y
เมื่อการตั้งค่านี้เสร็จสมบูรณ์ อินสแตนซ์ของคุณจะอยู่ในโหมดผลิตและสามารถเข้าถึงได้โดยใช้ IP ของคุณโดยไม่ต้องใช้พอร์ต
นอกจากนี้ยังหมายความว่าอินสแตนซ์ของคุณจะเริ่มทำงานโดยอัตโนมัติแม้ในกรณีที่คุณรีสตาร์ทเซิร์ฟเวอร์
ขอให้โชคดี! 🙂