ERPNext là phần mềm quản lý doanh nghiệp miễn phí, mã nguồn mở, hiện đại và dễ sử dụng được hàng nghìn công ty trên toàn thế giới sử dụng. Đây là nền tảng ERP rất đơn giản hỗ trợ bán lẻ, thương mại, dịch vụ, sản xuất, nguồn nhân lực, phi lợi nhuận và các lĩnh vực khác. Đây là hệ thống ERP mạnh mẽ và đầy đủ tính năng được viết bằng Python trên nền tảng Frappe. Nó sử dụng Node.js cho giao diện người dùng và MariaDB để lưu trữ dữ liệu. ERPNext cung cấp giao diện dựa trên web để thực hiện các tác vụ hàng ngày. ERPNext cung cấp một hệ thống báo cáo nhúng với tích hợp bộ ứng dụng văn phòng.
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt và cấu hình ERPNext trên máy chủ Ubuntu 18.04 LTS.
Sau khi hệ thống của bạn được cập nhật, bạn sẽ cần tạo người dùng cho ERPNext.
Bạn có thể thực hiện bằng lệnh sau:
Tiếp theo, cấp quyền sudo cho người dùng ERPNext bằng lệnh sau:
Tiếp theo, đăng nhập vào người dùng ERPNext và thiết lập biến môi trường bằng lệnh sau:
Thêm dòng sau:
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động lại hệ thống để áp dụng tất cả các thay đổi.
Tiếp theo, cài đặt máy chủ Nginx và MariaDB bằng lệnh sau:
Sau khi quá trình cài đặt hoàn tất, bạn sẽ cần thực hiện một số thay đổi trong tệp 50-server.cnf. Bạn có thể thực hiện bằng lệnh sau:
Thực hiện các thay đổi sau:
Lưu và đóng tệp. Sau đó, khởi động lại dịch vụ MariaDB để áp dụng tất cả các thay đổi:
Bây giờ bạn có thể kiểm tra trạng thái của máy chủ MariaDB bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Trả lời tất cả các câu hỏi như được hiển thị bên dưới:
Sau khi MariaDB được bảo mật, hãy đăng nhập vào shell MariaDB bằng lệnh sau:
Nhập mật khẩu root của bạn khi được nhắc. Sau đó, tạo cơ sở dữ liệu và người dùng cho ERPNext bằng lệnh sau:
Tiếp theo, cấp tất cả các quyền cho ERPNext bằng lệnh sau:
Tiếp theo, xóa các quyền và thoát khỏi shell MariaDB bằng lệnh sau:
Tiếp theo, thay đổi thư mục thành erpnext và cài đặt erpnext bằng lệnh sau:
Đầu ra:
Tiếp theo, cài đặt bench bằng lệnh pip:
Tiếp theo, khởi tạo thư mục bench với frappe framework:
Đầu ra:
Tiếp theo, hãy thay đổi thư mục thành erpnext và tạo một trang web mới cho miền node1.example.com bằng lệnh sau:
Bạn sẽ được yêu cầu cung cấp mật khẩu gốc MySQL của mình như hiển thị bên dưới:
Cung cấp mật khẩu gốc của bạn và nhấn Enter. Bạn sẽ thấy kết quả đầu ra sau:
Tiếp theo, cung cấp quyền thích hợp cho erpnext bằng lệnh sau:
Cuối cùng, hãy khởi động máy chủ bằng lệnh sau:
Bạn sẽ thấy kết quả sau output:
Bây giờ, hãy cung cấp tên người dùng là Quản trị viên và mật khẩu bạn đã cung cấp trong quá trình thiết lập. Sau đó, nhấp vào nút Đăng nhập vào. Bạn sẽ thấy trang sau:
Tiếp theo, chọn ngôn ngữ của bạn và nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:
Tiếp theo, chọn quốc gia của bạn và nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:
Tiếp theo, hãy cung cấp tên đầy đủ và địa chỉ email của bạn. Sau đó, nhấp vào nút Hoàn tất Thiết lập. Bạn sẽ thấy trang sau:
Xin chúc mừng! bạn đã cài đặt và cấu hình ERPNext thành công trên máy chủ Ubuntu 18.04. Bây giờ bạn có thể dễ dàng thiết lập ERPNext trong môi trường sản xuất.
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt và cấu hình ERPNext trên máy chủ Ubuntu 18.04 LTS.
Yêu cầu
- Một máy chủ chạy Ubuntu 18.04.
- Một người dùng không phải root có quyền sudo được thiết lập cho máy chủ của bạn.
Bắt đầu
Trước tiên, bạn sẽ cần cập nhật hệ thống của mình lên phiên bản mới nhất. Bạn có thể thực hiện bằng cách chạy lệnh sau:
Mã:
sudo apt-get update -y
sudo apt-get upgrade -y
Bạn có thể thực hiện bằng lệnh sau:
Mã:
sudo useradd -m -s /bin/bash erpnext
sudo passwd erpnext
Mã:
sudo usermod -aG sudo erpnext
Mã:
su - erpnext
Mã:
nano .bashrc
Mã:
PATH=$PATH:~/.local/bin/
Cài đặt các gói bắt buộc
Trước tiên, hãy đăng nhập hệ thống của bạn bằng người dùng erpnext và cài đặt một số phụ thuộc mà ERPNext yêu cầu vào hệ thống của bạn.
Mã:
sudo apt-get install libffi-dev python-pip python-dev libssl-dev wkhtmltopdf -y
Mã:
sudo apt-get install nginx mariadb-server -y
Mã:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Mã:
[mysqld]innodb-file-format=barracudainnodb-file-per-table=1innodb-large-prefix=1character-set-client-handshake = FALSEcharacter-set-server = utf8mb4collation-server = utf8mb4_unicode_ci[mysql]default-character-set = utf8mb4
Mã:
sudo systemctl restart mariadb
Mã:
sudo systemctl status mariadb
Mã:
? mariadb.service - Máy chủ cơ sở dữ liệu MariaDB 10.1.38 Đã tải: đã tải (/lib/systemd/system/mariadb.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Sat 2019-02-16 06:26:48 UTC; 2 giờ 38 phút trước Tài liệu: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Tiến trình: 4640 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS) Tiến trình: 4636 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS) Tiến trình: 4505 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set- Tiến trình: 4503 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS) Tiến trình: 4482 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS) PID chính: 4607 (mysqld) Trạng thái: "Đang tiếp nhận yêu cầu SQL của bạn ngay..." Nhiệm vụ: 31 (giới hạn: 1111) CGroup: /system.slice/mariadb.service ??4607 /usr/sbin/mysqld16/08 06:26:47 ubuntu1804 systemd[1]: Đang khởi động máy chủ cơ sở dữ liệu MariaDB 10.1.38...16/08 06:26:48 ubuntu1804 mysqld[4607]: 2019-02-16 6:26:48 140715015396480 [Lưu ý] /usr/sbin/mysqld (mysqld 10.1.38-MariaDB-0ubuntu0.18.04.1) đang khởi động16 tháng 8 06:26:48 ubuntu1804 systemd[1]: Đã khởi động máy chủ cơ sở dữ liệu MariaDB 10.1.38.16 tháng 8 06:26:48 ubuntu1804 /etc/mysql/debian-start[4642]: Đang nâng cấp các bảng MySQL nếu cần thiết.16/08 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: /usr/bin/mysql_upgrade: tùy chọn '--basedir' luôn bị bỏ qua16/08 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: Đang tìm 'mysql' dưới dạng: /usr/bin/mysql16/08 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: Đang tìm 'mysqlcheck' dưới dạng: /usr/bin/mysqlcheck16/08 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: Bản cài đặt MySQL này đã được nâng cấp lên 10.1.38-MariaDB, hãy sử dụng --force nếu bạn vẫn n16/08 06:26:48 ubuntu1804 /etc/mysql/debian-start[4677]: Kiểm tra các tài khoản root không an toàn.16 tháng 8 06:26:48 ubuntu1804 /etc/mysql/debian-start[4681]: Kích hoạt myisam-recover cho tất cả các bảng MyISAM và aria-recover cho tất cả các bảng Aria
Cài đặt Redis và Node.js
Tiếp theo, bạn sẽ cần cài đặt Redis và Node.js vào hệ thống của mình. Bạn có thể cài đặt chúng bằng cách chạy lệnh sau:
Mã:
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
sudo apt-get install gcc g++ make -y
sudo apt-get install nodejs redis-server -y
sudo npm install -g yarn
Cấu hình MariaDB
Theo mặc định, quá trình cài đặt MariaDB không được bảo mật, vì vậy trước tiên bạn cần bảo mật nó. Bạn có thể bảo mật nó bằng lệnh sau:
Mã:
sudo mysql_secure_installation
Mã:
Nhập mật khẩu hiện tại cho root (nhập nếu không): Đặt mật khẩu root? [Y/n]: Không Xóa người dùng ẩn danh? [Y/n]: Có Không cho phép root đăng nhập từ xa? [Y/n]: Có Xóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [Y/n]: Có Tải lại bảng đặc quyền ngay bây giờ? [Y/n]: Y
Mã:
sudo mysql -u root -p
Mã:
MariaDB [(none)]> create database erpnextdb;
MariaDB [(none)]> create user erpnextuser@localhost defined by 'password';
Mã:
MariaDB [(none)]> GRANT ALL ON erpnextdb.* TO 'erpnextuser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
MariaDB [(none)]> CẤP tất cả các quyền trên *.* cho 'root'@'localhost' ĐƯỢC XÁC ĐỊNH BỞI 'admin@123' VỚI TÙY CHỌN CẤP;
Mã:
MariaDB [(none)]> XÓA CÁC QUYỀN;
MariaDB [(none)]> EXIT;
Cài đặt ERPNext
Trước tiên, tạo một thư mục cho ERPNext và cấp quyền thích hợp bằng lệnh sau:
Mã:
sudo mkdir -p /opt/erpnext
sudo chown -R erpnext /opt/erpnext/
Mã:
cd /opt/erpnext
Mã:
git clone https://github.com/frappe/bench bench-repo
Mã:
Đang sao chép vào 'bench-repo'...remote: Đang liệt kê các đối tượng: 19, xong.remote: Đang đếm các đối tượng: 100% (19/19), xong.remote: Nén đối tượng: 100% (14/14), xong.remote: Tổng cộng 6144 (delta 10), tái sử dụng 13 (delta 5), pack-reused 6125Nhận đối tượng: 100% (6144/6144), 29,70 MiB | 231,00 KiB/giây, xong.Giải quyết delta: 100% (3924/3924), xong.
Mã:
sudo pip install -e bench-repo
Mã:
bench init erpnext
Mã:
Đang xây dựng tài sản frappe...? Đang xây dựng js/print_format_v3.min.js? Đang xây dựng js/dialog.min.js? Đang xây dựng js/web_form.min.js? Đang xây dựng js/social.min.js? Đang xây dựng js/modules.min.js? Đang xây dựng js/form.min.js? Đang xây dựng js/list.min.js? Đang xây dựng js/frappe-vue.min.js? Đang xây dựng js/chat.js? Đang xây dựng js/desk.min.js? Đang xây dựng js/control.min.js? Đang xây dựng css/frappe-rtl.css? Đang xây dựng css/module.min.css? Đang xây dựng css/report.min.css? Đang xây dựng css/form.min.css? Đang xây dựng css/list.min.css? Đã xây dựng frappe/css/email.css? Đã xây dựng css/web_form.css? Đã xây dựng css/frappe-web.css? Đã xây dựng css/desk.min.css? Đã xây dựng js/frappe-web.min.js? Đã xây dựng js/report.min.js? Hoàn thành trong 31.313 giâyHoàn thành trong 34.43 giây.INFO:bench.utils:thiết lập bản sao lưukhông có crontab cho erpnextINFO:bench.utils:thiết lập bản cập nhật tự độngkhông có crontab cho erpnextBench erpnext đã được khởi tạo
Mã:
bench new-site node1.example.com
Mã:
Mật khẩu gốc MySQL:
Mã:
Đang cài đặt frappe...Đang cập nhật DocTypes cho frappe: [========================================]Đang cập nhật thông tin quốc gia: [===========================================]Đặt mật khẩu quản trị viên:Nhập lại mật khẩu quản trị viên:*** Trình lập lịch đã bị vô hiệu hóa ***
Mã:
sudo chown -R erpnext:erpnext /opt/erpnext/erpnext
Mã:
bench start
Mã:
06:34:02 web.1 | * Đang chạy trên http://0.0.0.0:8000/ (Nhấn CTRL+C để thoát)06:34:02 web.1 | * Đang khởi động lại bằng inotify reloader06:34:03 watch.1 | yarn run v1.13.006:34:03 watch.1 | $ node rollup/watch.js06:34:03 web.1 | * Trình gỡ lỗi đang hoạt động!06:34:04 web.1 | * Mã PIN gỡ lỗi: 159-307-23506:34:13 watch.1 |06:34:13 watch.1 | Rollup Watcher đã bắt đầu06:34:13 watch.1 |06:34:13 watch.1 | Đang theo dõi...06:34:15 watch.1 | Xây dựng lại frappe-web.css
Truy cập ERPNext
ERPNext hiện đã được cài đặt và đang lắng nghe trên cổng 8000. Mở trình duyệt web của bạn và nhập URL http://node1.example.come:8000. Bạn sẽ được chuyển hướng đến trang sau:Bây giờ, hãy cung cấp tên người dùng là Quản trị viên và mật khẩu bạn đã cung cấp trong quá trình thiết lập. Sau đó, nhấp vào nút Đăng nhập vào. Bạn sẽ thấy trang sau:
Tiếp theo, chọn ngôn ngữ của bạn và nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:
Tiếp theo, chọn quốc gia của bạn và nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:
Tiếp theo, hãy cung cấp tên đầy đủ và địa chỉ email của bạn. Sau đó, nhấp vào nút Hoàn tất Thiết lập. Bạn sẽ thấy trang sau:
Xin chúc mừng! bạn đã cài đặt và cấu hình ERPNext thành công trên máy chủ Ubuntu 18.04. Bây giờ bạn có thể dễ dàng thiết lập ERPNext trong môi trường sản xuất.