วิธีการติดตั้ง ERPNext Open Source ERP บน Ubuntu 17.04

ERP หรือการวางแผนทรัพยากรองค์กรเป็นชุดแอปพลิเคชันองค์กรที่ใช้ในการจัดการกระบวนการทางธุรกิจหลัก ERPNext เป็นแอปพลิเคชั่น ERP ที่ให้บริการโฮสต์และไม่ต้องเสียค่าใช้จ่ายซึ่งเขียนด้วยภาษาไพ ธ อน มันใช้ Node.js สำหรับส่วนหน้าและ MariaDB เพื่อจัดเก็บข้อมูล ERPNext มีเว็บอินเตอร์เฟสที่ใช้งานง่ายซึ่งช่วยให้ธุรกิจสามารถจัดการงานประจำวันได้ มันมีโมดูลสำหรับการบัญชี, CRM, HRM, การผลิต, POS, การจัดการโครงการ, การจัดซื้อ, การจัดการการขายการจัดการคลังสินค้าและอื่น ๆ ERPNext สามารถใช้ในการจัดการอุตสาหกรรมต่าง ๆ เช่นผู้ให้บริการการผลิตการค้าปลีกและโรงเรียน

ข้อกำหนดเบื้องต้น

  • อินสแตนซ์ของเซิร์ฟเวอร์ Vultr Ubuntu 17.04
  • sudo ผู้ใช้

หมายเหตุ: สำหรับบทช่วยสอนนี้เราจะใช้erp.example.comเป็นชื่อโดเมนที่ชี้ไปยังเซิร์ฟเวอร์ โปรดตรวจสอบให้แน่ใจว่าได้แทนที่erp.example.comชื่อโดเมนที่แท้จริงทั้งหมดของคุณแล้ว

ก่อนที่เราจะเริ่มตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ของคุณทันสมัย

sudo apt update
sudo apt -y upgrade

ติดตั้งเครื่องมือพัฒนา

ERPNext ต้องการ Python เวอร์ชัน 2.7 เพื่อให้ทำงานได้ ติดตั้ง Python 2.7

sudo apt -y install python-minimal

คุณควรจะตรวจสอบเวอร์ชันของมัน

python -V

คุณจะเห็นผลลัพธ์ต่อไปนี้

user@vultr:~$ python -V
Python 2.7.13

ติดตั้งอีกสองสามพึ่งพา

sudo apt -y install git build-essential python-setuptools python-dev libffi-dev libssl-dev

ติดตั้งpipเครื่องมือของ Python Pip เป็นตัวจัดการการพึ่งพาสำหรับแพ็คเกจ Python

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

ตรวจสอบให้แน่ใจว่าคุณมีเวอร์ชันล่าสุดและpipsetuptools

sudo pip install --upgrade pip setuptools

ติดตั้ง Ansible โดยใช้ Pip Ansible ทำการจัดเตรียมซอฟต์แวร์โดยอัตโนมัติการจัดการการกำหนดค่าและการปรับใช้แอปพลิเคชัน

sudo pip install ansible

ติดตั้งเซิร์ฟเวอร์ MariaDB

เพิ่มที่เก็บ MariaDB เข้าสู่ระบบ

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.nodesdirect.com/mariadb/repo/10.2/ubuntu xenial main'

ติดตั้ง MariaDB

sudo apt update
sudo apt -y install mariadb-server libmysqlclient-dev

ระบุรหัสผ่านที่คาดเดายากสำหรับผู้ใช้รูต MariaDB เมื่อถูกถาม

เอ็นจินการเก็บข้อมูล Barracuda จำเป็นสำหรับการสร้างฐานข้อมูล ERPNext ดังนั้นคุณจะต้องกำหนดค่า MariaDB ให้ใช้เอนจิ้นการเก็บข้อมูล Barracuda my.cnfแก้ไขการตั้งค่าไฟล์ MariaDB เริ่มต้น

sudo nano /etc/mysql/my.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
sudo systemctl enable mariadb

ก่อนที่จะกำหนดค่าฐานข้อมูลคุณจะต้องรักษาความปลอดภัย MariaDB คุณสามารถรักษาความปลอดภัยโดยเรียกใช้mysql_secure_installationสคริปต์

sudo mysql_secure_installation

คุณจะถูกขอรหัสผ่านรูต MariaDB ปัจจุบัน ระบุรหัสผ่านที่คุณตั้งค่าระหว่างการติดตั้ง คุณจะถูกถามว่าคุณต้องการเปลี่ยนรหัสผ่านที่มีอยู่ของผู้ใช้รูทของเซิร์ฟเวอร์ MariaDB หรือไม่ คุณสามารถข้ามการตั้งค่ารหัสผ่านใหม่ได้เนื่องจากคุณได้ระบุรหัสผ่านที่คาดเดายากไว้แล้วระหว่างการติดตั้ง ตอบ "Y" กับคำถามอื่น ๆ ทั้งหมดที่ถาม

ติดตั้ง Nginx, Node.js และ Redis

เพิ่มที่เก็บ Nodesource สำหรับ Node.js 8.x

sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -

ติดตั้ง Nginx, Node.js และ Redis

sudo apt -y install nginx nodejs redis-server

เริ่ม Nginx และเปิดใช้งานเพื่อเริ่มต้นในเวลาบูต

sudo systemctl start nginx
sudo systemctl enable nginx

เริ่ม Redis และเปิดใช้งานเมื่อเริ่มต้นระบบ

sudo systemctl start redis-server
sudo systemctl enable redis-server

ติดตั้ง PDF Converter

wkhtmltopdfโปรแกรมเป็นเครื่องมือบรรทัดคำสั่งที่แปลง HTML เป็น PDF โดยใช้เครื่องมือ QT Webkit การแสดงผล ติดตั้งการพึ่งพาที่จำเป็น

sudo apt -y install libxrender1 libxext6 xfonts-75dpi xfonts-base

wkhtmltopdfดาวน์โหลดรุ่นล่าสุดของ

wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz

แตกไฟล์เก็บถาวร

sudo tar -xf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz -C /opt

/opt/wkhtmltoxคำสั่งดังกล่าวจะแยกเก็บไป สร้าง softlink เพื่อให้wkhtmltopdfและwkhtmltoimageสามารถดำเนินการทั่วโลกว่าเป็นคำสั่ง

sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
sudo ln -s /opt/wkhtmltox/bin/wkhtmltoimage /usr/bin/wkhtmltoimage

ตอนนี้คุณสามารถเรียกใช้wkhtmltopdf -Vเพื่อตรวจสอบว่ามันใช้งานได้หรือไม่คุณจะเห็นสิ่งนี้

user@vultr:~$ wkhtmltopdf -V
wkhtmltopdf 0.12.4 (with patched qt)

ณ จุดนี้เรามีการติดตั้งการอ้างอิงที่จำเป็นทั้งหมด ตอนนี้คุณสามารถทำการติดตั้ง Bench ได้แล้ว

ติดตั้ง Bench

Benchเป็นอรรถประโยชน์บรรทัดคำสั่งที่จัดทำโดย Frappe เพื่อติดตั้งและจัดการแอปพลิเคชัน ERPNext บนระบบที่ใช้ Unix เพื่อการพัฒนาและการผลิต ผู้พิพากษายังสามารถสร้างและจัดการการกำหนดค่า Nginx และผู้ควบคุมงาน

สร้างผู้ใช้ใหม่เพื่อเรียกใช้กระบวนการ Bench ในสภาพแวดล้อมแบบแยก

sudo adduser bench --home /opt/bench

ให้sudoสิทธิ์แก่benchผู้ใช้

sudo usermod -aG sudo bench

เข้าสู่ระบบในฐานะbenchผู้ใช้ที่สร้างขึ้นใหม่

sudo su - bench

/opt/benchโคลนที่เก็บม้านั่งใน

cd /opt/bench
git clone https://github.com/frappe/bench bench-repo

pipติดตั้งโดยใช้ม้านั่ง

sudo pip install -e bench-repo

เมื่อติดตั้ง Bench แล้วให้ดำเนินการต่อเพื่อติดตั้ง ERPNext โดยใช้ Bench

ติดตั้ง ERPNext โดยใช้ Bench

เตรียมข้อมูลเบื้องต้นของ bench bench ด้วยการติดตั้งเฟรมเวิร์ก เพื่อให้ทุกอย่างเรียบร้อยเราจะทำงานภายใต้/opt/benchไดเรกทอรี ผู้พิพากษาจะตั้งค่าการสำรองข้อมูลปกติและการอัปเดตอัตโนมัติวันละครั้ง

cd /opt/bench
bench init erpnext && cd erpnext

สร้างเว็บไซต์ Frappe ใหม่

bench new-site erp.example.com

คำสั่งดังกล่าวจะแจ้งให้คุณใส่รหัสผ่าน root ของ MySQL ระบุรหัสผ่านที่คุณได้ตั้งค่าไว้สำหรับผู้ใช้รูท MySQL ก่อนหน้านี้ นอกจากนี้ยังจะขอให้คุณตั้งรหัสผ่านใหม่สำหรับบัญชีผู้ดูแลระบบ คุณจะต้องใช้รหัสผ่านนี้ในภายหลังเพื่อเข้าสู่แผงควบคุมของผู้ดูแลระบบ

ดาวน์โหลดไฟล์การติดตั้ง ERPNext จากที่เก็บ git ระยะไกลโดยใช้ Bench

bench get-app erpnext https://github.com/frappe/erpnext

ติดตั้ง ERPNext บนเว็บไซต์ที่คุณสร้างขึ้นใหม่

bench --site erp.example.com install-app erpnext

คุณสามารถเริ่มแอปพลิเคชันได้ทันทีเพื่อตรวจสอบว่าติดตั้งแอปพลิเคชันสำเร็จหรือไม่

bench start

อย่างไรก็ตามคุณควรหยุดการดำเนินการและดำเนินการต่อเพื่อตั้งค่าแอปพลิเคชันสำหรับการใช้งานจริง

ผู้ดูแลการติดตั้งและ Nginx

โดยค่าเริ่มต้นฟังการประยุกต์ใช้ ERPNext บนพอร์ตไม่ใช่พอร์ตมาตรฐาน8000 HTTP 80นอกจากนี้ไม่แนะนำให้ใช้งานเว็บเซิร์ฟเวอร์ในตัวเพื่อการใช้งานจริงเนื่องจากเราจะเปิดเผยเซิร์ฟเวอร์ไปทั่วโลก คุณควรใช้เว็บเซิร์ฟเวอร์ที่ใช้งานจริงเป็น reverse proxy เช่น Apache หรือ Nginx เราจะใช้ Nginx เป็น reverse proxy เนื่องจากสามารถกำหนดค่าโดยอัตโนมัติโดยใช้ Bench ผู้พิพากษาสามารถสร้างและติดตั้งการกำหนดค่าตามการตั้งค่า ERPNext โดยอัตโนมัติ

แม้ว่าเราสามารถเริ่มแอปพลิเคชันโดยใช้คำสั่ง 'bench start' การดำเนินการของ ERPNext จะหยุดทันทีที่คุณปิดเทอร์มินัล เพื่อเอาชนะปัญหานี้คุณควรใช้หัวหน้างานซึ่งมีประโยชน์มากในการใช้งานแอปพลิเคชันอย่างต่อเนื่องในสภาพแวดล้อมการผลิต Supervisor เป็นระบบควบคุมกระบวนการที่ช่วยให้คุณสามารถตรวจสอบและควบคุมกระบวนการต่าง ๆ บนระบบปฏิบัติการ Linux เมื่อกำหนดค่าหัวหน้างานแล้วจะเริ่มต้นแอปพลิเคชันโดยอัตโนมัติในเวลาบูตรวมถึงความล้มเหลว Bench สามารถกำหนดค่า Supervisor โดยอัตโนมัติสำหรับแอปพลิเคชัน ERPNext

ติดตั้ง Supervisor

sudo apt -y install supervisor

เริ่มต้นหัวหน้างานและเปิดใช้งานให้เริ่มโดยอัตโนมัติในเวลาบูต

sudo systemctl start supervisor
sudo systemctl enable supervisor

ตั้งค่า Bench สำหรับการใช้งานจริง

 sudo bench setup production bench

คำสั่งดังกล่าวอาจแจ้งให้คุณก่อนที่จะแทนที่ไฟล์กำหนดค่าเริ่มต้นของผู้บังคับบัญชาที่มีอยู่ด้วยใหม่ เลือกyเพื่อดำเนินการต่อ Bench เพิ่มจำนวนกระบวนการในไฟล์กำหนดค่าของผู้ควบคุมงาน คำสั่งดังกล่าวจะถามคุณว่าคุณต้องการแทนที่การกำหนดค่า Nginx ปัจจุบันด้วยการเปลี่ยนใหม่ เข้าyสู่เพื่อดำเนินการต่อ เมื่อ Bench เสร็จสิ้นการติดตั้งการกำหนดค่าให้ผู้ใช้รายอื่นสามารถดำเนินการไฟล์ในโฮมไดเร็กตอรี่ของผู้ใช้ Bench

chmod o+x /opt/bench/

ตอนนี้คุณสามารถเข้าถึงเว็บไซต์http://erp.example.comได้แล้ว

คุณสามารถตรวจสอบสถานะของกระบวนการได้ด้วยการรัน

sudo supervisorctl status all

คุณควรเห็นผลลัพธ์ต่อไปนี้

bench@vultr:~/erpnext$ sudo supervisorctl status all
erpnext-redis:erpnext-redis-cache                 RUNNING   pid 13852, uptime 0:00:54
erpnext-redis:erpnext-redis-queue                 RUNNING   pid 13851, uptime 0:00:54
erpnext-redis:erpnext-redis-socketio              RUNNING   pid 13853, uptime 0:00:54
erpnext-web:erpnext-frappe-web                    RUNNING   pid 13856, uptime 0:00:54
erpnext-web:erpnext-node-socketio                 RUNNING   pid 13855, uptime 0:00:54
erpnext-workers:erpnext-frappe-default-worker-0   RUNNING   pid 13862, uptime 0:00:54
erpnext-workers:erpnext-frappe-long-worker-0      RUNNING   pid 13870, uptime 0:00:54
erpnext-workers:erpnext-frappe-schedule           RUNNING   pid 13869, uptime 0:00:54
erpnext-workers:erpnext-frappe-short-worker-0     RUNNING   pid 13875, uptime 0:00:54

หากต้องการหยุดกระบวนการ ERPNext ทั้งหมด

sudo supervisorctl stop all

เพื่อเริ่มต้นกระบวนการ ERPNext ทั้งหมด

sudo supervisorctl start all

การตั้งค่า SSL โดยใช้ Let's Encrypt

Let's Encrypt มอบใบรับรอง SSL ฟรีให้กับผู้ใช้ SSL สามารถติดตั้งด้วยตนเองหรือโดยอัตโนมัติผ่าน Bench ผู้พิพากษาสามารถติดตั้งไคลเอนต์ Let's Encrypt โดยอัตโนมัติและรับใบรับรอง นอกจากนี้จะอัพเดตการกำหนดค่า Nginx โดยอัตโนมัติเพื่อใช้ใบรับรอง

ชื่อโดเมนที่คุณใช้เพื่อรับใบรับรองจาก Let's Encrypt CA ต้องชี้ไปที่เซิร์ฟเวอร์ ลูกค้าสามารถตรวจสอบผู้มีอำนาจโดเมนก่อนที่จะออกใบรับรอง

เปิดใช้งาน DNS multi-tenancy สำหรับแอปพลิเคชัน ERPNext

bench config dns_multitenant on

รัน Bench เพื่อตั้งค่า Let's Encrypt บนเว็บไซต์ของคุณ

sudo bench setup lets-encrypt erp.example.com

ระหว่างการทำงานของสคริปต์ไคลเอนต์ Let's Encrypt จะขอให้คุณหยุดเว็บเซิร์ฟเวอร์ Nginx ชั่วคราว มันจะติดตั้งแพ็คเกจที่จำเป็นโดยอัตโนมัติและไคลเอนต์ Let's Encrypt ลูกค้าจะแจ้งให้คุณระบุที่อยู่อีเมลของคุณ คุณจะต้องยอมรับข้อกำหนดและเงื่อนไข เมื่อสร้างใบรับรองแล้ว Bench จะสร้างการกำหนดค่าใหม่สำหรับ Nginx ซึ่งใช้ใบรับรอง SSL คุณจะถูกถามก่อนแทนที่การกำหนดค่าที่มีอยู่ ผู้สร้างยังสร้างcrontabรายการเพื่อต่ออายุใบรับรองโดยอัตโนมัติทุกเดือน

สุดท้ายให้เปิดใช้งานตัวกำหนดเวลาเพื่อเรียกใช้งานที่กำหนดไว้โดยอัตโนมัติ

bench enable-scheduler

คุณควรเห็นผลลัพธ์นี้

bench@vultr:~/erpnext$ bench enable-scheduler
Enabled for erp.example.com

ข้อสรุป

https://erp.example.comเมื่อกระบวนการเสร็จสิ้นคุณสามารถเข้าถึงแอพลิเคชันของคุณได้ที่ เข้าสู่ระบบด้วยชื่อผู้ใช้Administratorและรหัสผ่านที่คุณตั้งไว้ในระหว่างการติดตั้ง คุณจะถูกนำไปที่โต๊ะทำงานซึ่งคุณจะต้องให้ข้อมูลเพื่อตั้งค่า ERPNext ERP ตาม บริษัท ของคุณ ตอนนี้คุณสามารถใช้แอปพลิเคชันเพื่อจัดการ บริษัท ของคุณ

ขอแสดงความยินดีคุณมีแอปพลิเคชัน ERPNext ที่ทำงานได้อย่างสมบูรณ์ติดตั้งบนเซิร์ฟเวอร์ Ubuntu 17.04 ของคุณ

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true