Cách cài đặt ERPNext trên Ubuntu 20.04 LTS

theanh

Administrator
Nhân viên
ERPNext là phần mềm ERP miễn phí và mã nguồn mở được xây dựng bằng Python, JavaScript và Frappe Framework. Đây là hệ thống kinh doanh hiện đại, dễ sử dụng và miễn phí được các nhà sản xuất, nhà phân phối và dịch vụ sử dụng. ERPNext được thiết kế cho các doanh nghiệp vừa và nhỏ giúp các công ty quản lý mọi khía cạnh trong hoạt động kinh doanh của họ. ERPNext là một trong những phần mềm quản lý ERP mã nguồn mở tốt nhất được hàng nghìn doanh nghiệp trên toàn thế giới sử dụng để quản lý quy trình ERP của họ.

Trong hướng dẫn này, tôi sẽ giải thích cách cài đặt ERPNext trên máy chủ Ubuntu 20.04.

Điều kiện tiên quyết​

  • Một máy chủ chạy Ubuntu 20.04.
  • Một tên miền hợp lệ được trỏ đến máy chủ của bạn.
  • Một mật khẩu gốc được cấu hình trên máy chủ của bạn.

Bắt đầu​

Trước khi bắt đầu, bạn sẽ cần cài đặt các phụ thuộc Python bắt buộc trong hệ thống của mình. Bạn có thể cài đặt tất cả chúng bằng lệnh sau:
Mã:
apt-get install python3-dev libffi-dev git python3-pip python3-testresources libssl-dev wkhtmltopdf gcc g++ make -y
Sau khi cài đặt các phụ thuộc Python, ERPNext cũng sử dụng Node.js cho giao diện người dùng của mình. Vì vậy, hãy thêm kho lưu trữ Node.js bằng lệnh sau:
Mã:
curl -sL https://deb.nodesource.com/setup_12.x | bash -
Tiếp theo, cài đặt Node.js và Redis server bằng lệnh sau:
Mã:
apt-get install nodejs redis-server -y
Sau khi cả hai gói được cài đặt, hãy cài đặt gói Yarn bằng cách chạy lệnh sau:
Mã:
npm install -g yarn
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cài đặt và cấu hình cơ sở dữ liệu MariaDB​

Theo mặc định, MariaDB có sẵn trong kho lưu trữ mặc định của Ubuntu 20.04. Bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install mariadb-server -y
Sau khi cài đặt, hãy bảo mật MariaDB và đặt mật khẩu gốc MariaDB bằng lệnh sau:
Mã:
mysql_secure_installation
Trả lời tất cả các câu hỏi như hiển thị bên dưới để đặt mật khẩu gốc MariaDB và bảo mật cài đặt:
Mã:
Nhập mật khẩu hiện tại cho root (nhập nếu không có):Đặt mật khẩu gốc? [C/N] CMật khẩu mới:Nhập lại mật khẩu mới:Xóa người dùng ẩn danh? [C/N] CKhông cho phép đăng nhập root từ xa? [C/N] CXóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [C/N] CTải lại bảng đặc quyền ngay bây giờ? [Y/n] Y
Sau khi MariaDB được bảo mật, hãy đăng nhập vào bảng điều khiển MariaDB bằng lệnh sau:
Mã:
mysql -u root -p
Tiếp theo, hãy thay đổi plugin xác thực MariaDB bằng lệnh sau:
Mã:
MariaDB [(none)]>USE mysql;
MariaDB [(none)]>UPDATE user SET plugin='mysql_native_password' WHERE User='root';
Tiếp theo, hãy xóa các đặc quyền và thoát khỏi shell MariaDB bằng lệnh sau:
Mã:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Tiếp theo, bạn sẽ cần phải thay đổi định dạng tệp MariaDB Innodb thành Barracuda. Bạn có thể thực hiện bằng cách chỉnh sửa tệp /etc/mysql/mariadb.conf.d/50-server.cnf:
Mã:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Thêm/Sửa đổi các dòng sau:
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
Lưu và đóng tệp, sau đó khởi động lại dịch vụ MariaDB để triển khai các thay đổi:
Mã:
systemctl restart mariadb

Cài đặt ERPNext​

Trong phần này, chúng tôi sẽ chỉ cho bạn cách tạo người dùng ERPNext, cài đặt công cụ bench và cài đặt ERPNext trong hệ thống của bạn.

Tạo người dùng ERPNext​

Trước tiên, hãy tạo một người dùng mới để chạy ERPNext bằng lệnh sau:
Mã:
useradd -m -s /bin/bash erpnext
Tiếp theo, hãy đặt mật khẩu cho ERPNext bằng lệnh sau:
Mã:
passwd erpnext
Tiếp theo, hãy thêm người dùng ERPNext vào nhóm sudo bằng lệnh sau:
Mã:
usermod -aG sudo erpnext
Tiếp theo, hãy đă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:
Mã:
su - erpnext
nano ~/.bashrc
Thêm lệnh sau dòng:
Mã:
PATH=$PATH:~/.local/bin/
Lưu tệp sau đó kích hoạt biến môi trường bằng lệnh sau:
Mã:
source ~/.bashrc

Cài đặt Bench Tool​

Đầu tiên, chuyển thư mục sang người dùng ERPNext và tạo một thư mục cho ERPNext bằng lệnh sau:
Mã:
su - erpnext
sudo mkdir /opt/bench
Tiếp theo, đặt quyền sở hữu cho người dùng erpnext:
Mã:
sudo chown -R erpnext:erpnext /opt/bench
Tiếp theo, thay đổi thư mục thành /opt/bench và sao chép kho lưu trữ bench từ Git Hub:
Mã:
cd /opt/bench
git clone https://github.com/frappe/bench bench-repo
Tiếp theo, cài đặt kho lưu trữ bench bằng lệnh pip3:
Mã:
pip3 install -e bench-repo
Sau khi cài đặt, hãy khởi tạo thư mục bench bằng frappe framework bằng lệnh sau:
Mã:
bench init erpnext
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
? Đã xây dựng js/checkout.min.js? Đã xây dựng js/dialog.min.js? Đã xây dựng js/social.min.js? Đã xây dựng js/web_form.min.js? Đã xây dựng js/list.min.js? Đã xây dựng js/chat.jsBrowserslist: caniuse-lite đã lỗi thời. Vui lòng chạy lệnh tiếp theo `yarn upgrade caniuse-lite browserslist`? Đã xây dựng css/frappe-rtl.css? Đã xây dựng css/printview.css? Đã xây dựng js/bootstrap-4-web.min.js? Đã xây dựng js/barcode_scanner.min.js? Đã xây dựng css/list.min.css? Đã xây dựng css/report.min.css? Đã xây dựng frappe/css/email.css? Đã xây dựng js/frappe-recorder.min.js? Đã xây dựng js/desk.min.js? Đã xây dựng css/frappe-chat-web.css? Đã xây dựng js/frappe-web.min.js? Đã xây dựng css/form.min.css? Đã xây dựng css/web_form.css? Đã xây dựng css/desk.min.css? Đã xây dựng css/frappe-web-b4.css? Đã xây dựng js/control.min.js? Đã xây dựng js/form.min.js? Đã xây dựng js/data_import_tools.min.js? Đã xây dựng js/report.min.js? Đã hoàn thành trong 111,35 giâyĐã hoàn thành trong 113,33 giây.THÀNH CÔNG: Bench erpnext đã được khởi tạo

Tạo trang ERPNext​

Tiếp theo, hãy thay đổi thư mục thành erpnext và tạo một trang ERPNext mới bằng lệnh sau:
Mã:
cd /opt/bench/erpnext
bench new-site erp.linuxbuz.com
Bạn sẽ được yêu cầu cung cấp mật khẩu gốc MariaDB và mật khẩu Quản trị viên như hiển thị bên dưới:
Mã:
Mật khẩu gốc MySQL:Đang cài đặt frappe...Đang cập nhật DocTypes cho frappe: [=========================================] 100%Đang cập nhật thông tin quốc gia: [========================================] 100%Đặ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 ***Trang web hiện tại được đặt thành erp.linuxbuz.com
Tại thời điểm này, ERPNext đã được cài đặt trong hệ thống của bạn.

Cấu hình ERPNext cho Môi trường sản xuất​

Tiếp theo, bạn sẽ cần cài đặt Supervisor để quản lý quy trình ERPNext và Nginx làm proxy ngược.

Trước tiên, hãy đổi người dùng thành ERPNext và cài đặt Supervisor và Nginx bằng lệnh sau:
Mã:
su - erpnext
sudo apt-get install supervisor nginx -y
Tiếp theo, hãy cài đặt frappe-bench bằng lệnh sau:
Mã:
sudo pip3 install frappe-bench
Tiếp theo, hãy thay đổi thư mục thành /opt/bench/erpnext và thiết lập ERPNext cho môi trường sản xuất bằng lệnh sau:
Mã:
cd /opt/bench/erpnext
sudo /home/erpnext/.local/bin/bench setup production erpnext
Sau khi ERPNext được cấu hình, bạn sẽ thấy đầu ra sau:
Mã:
TÓM TẮT PHÁT ************************************************************************************************************************************localhost : ok=8 changed=4 unreachable=0 failed=0 skipped=1 rescue=0 ignored=0$ sudo systemctl restart supervisorDanh sách cấu hình cổng:Cổng được chỉ định cho trang web erp.linuxbuz.com: 80$ /usr/bin/supervisorctl đọc lạiKhông có bản cập nhật cấu hình nào cho các quy trình$ /usr/bin/supervisorctl update$ sudo /usr/sbin/nginx -tnginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: tệp cấu hình /etc/nginx/nginx.conf thử nghiệm thành công$ sudo systemctl reload nginx
Tại thời điểm này, ERPNext được cấu hình với Nginx cho môi trường sản xuất.

Truy cập Giao diện người dùng web ERPNext​

Bây giờ, hãy mở trình duyệt web của bạn và nhập URL http://erp.linuxbuz.com. Bạn sẽ được chuyển hướng đến trang đăng nhập ERPNext:



Cung cấp tên người dùng là Quản trị viên và mật khẩu mà bạn đã đặt trước đó và nhấp vào nút Đăng nhập. Bạn sẽ thấy trang sau:



Chọn ngôn ngữ mong muốn và nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:



Chọn Quốc gia, Múi giờ, Tiền tệ và nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:



Cung cấp tên, email, mật khẩu và nhấp vào nút Hoàn tất Thiết lập. Bạn sẽ thấy bảng điều khiển ERPNext trong trang sau:


Bảo mật ERPNext với Let's Encrypt SSL​

Trước tiên, bạn sẽ cần cài đặt ứng dụng khách Certbot để cài đặt và quản lý Let's Encrypt SSL. Bạn có thể cài đặt bằng lệnh sau:
Mã:
sudo apt-get install certbot python3-certbot-nginx -y
Sau khi cài đặt, hãy chạy lệnh sau để cài đặt và cấu hình Let's Encrypt SSL cho tên miền của bạn:
Mã:
sudo certbot --nginx -d erp.linuxbuz.com
Bạn sẽ được yêu cầu cung cấp email và chấp nhận điều khoản dịch vụ như hiển thị bên dưới:
Mã:
Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.logCác plugin đã chọn: Authenticator nginx, Installer nginxNhập địa chỉ email (dùng để gia hạn khẩn cấp và thông báo bảo mật) (Nhập 'c' đểhủy): [emailprotected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Vui lòng đọc Điều khoản dịch vụ tạihttps://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Bạn phảiđồng ý để đăng ký với máy chủ ACME tạihttps://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel: A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Bạn có sẵn lòng chia sẻ địa chỉ email của mình với Electronic Frontier Foundation, đối tác sáng lập của dự án Let's Encrypt và tổ chức phi lợi nhuận phát triển Certbot không? Chúng tôi muốn gửi cho bạn email về công việc của chúng tôimã hóa web, tin tức EFF, các chiến dịch và các cách hỗ trợ tự do kỹ thuật số.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)ó/(K)o: CNhận chứng chỉ mớiThực hiện các thử thách sau:Thử thách http-01 cho erp.linuxbuz.comĐang chờ xác minh...Dọn dẹp các thử tháchTriển khai chứng chỉ cho VirtualHost /etc/nginx/conf.d/erpnext.conf
Tiếp theo, chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không như hiển thị bên dưới:
Mã:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1: Không chuyển hướng - Không thực hiện thêm bất kỳ thay đổi nào đối với cấu hình máy chủ web.2: Chuyển hướng - Chuyển hướng tất cả các yêu cầu đến quyền truy cập HTTPS an toàn. Chọn tùy chọn này chocác trang web mới hoặc nếu bạn tin chắc rằng trang web của mình hoạt động trên HTTPS. Bạn có thể hoàn tác thay đổi nàybằng cách chỉnh sửa cấu hình máy chủ web của bạn.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Chọn số thích hợp [1-2] sau đó [enter] (nhấn 'c' để hủy): 2
Nhập 2 và nhấn Enter để hoàn tất quy trình. Bạn sẽ thấy đầu ra sau:
Mã:
Đang chuyển hướng tất cả lưu lượng truy cập trên cổng 80 sang ssl trong /etc/nginx/conf.d/erpnext.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://erp.linuxbuz.comBạn nên kiểm tra cấu hình của mình tại:https://www.ssllabs.com/ssltest/analyze.html?d=erp.linuxbuz.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -LƯU Ý QUAN TRỌNG: - Xin chúc mừng! Chứng chỉ và chuỗi của bạn đã được lưu tại: /etc/letsencrypt/live/erp.linuxbuz.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/erp.linuxbuz.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 29/08/2020. Để có phiên bản mới hoặc đã chỉnh sửa của chứng chỉ này trong tương lai, chỉ cần chạy lại certbot với tùy chọn "certonly". Để gia hạn không tương tác *tất cả* chứng chỉ của bạn, hãy chạy "certbot renew" - Thông tin đăng nhập tài khoản của bạn đã được lưu trong thư mục cấu hình Certbot tại /etc/letsencrypt. Bây giờ bạn nên sao lưu an toàn thư mục này. Thư mục cấu hình này cũng sẽ chứa các chứng chỉ và khóa riêng do Certbot thu thập, do đó, việc sao lưu thường xuyên thư mục này là lý tưởng. - Nếu bạn thích Certbot, vui lòng cân nhắc hỗ trợ công việc của chúng tôi bằng cách: Quyên góp cho ISRG / Let's Encrypt: https://letsencrypt.org/donate Quyên góp cho EFF: https://eff.org/donate-le - Chúng tôi không thể đăng ký cho bạn danh sách gửi thư EFF vì địa chỉ email của bạn có vẻ không hợp lệ. Bạn có thể thử lại sau bằng cách truy cập https://act.eff.org.
Tại thời điểm này, trang web ERPNext của bạn được bảo mật bằng Let's Encrypt SSL. Bây giờ bạn có thể truy cập trang web của mình một cách an toàn bằng giao thức HTTPS.

Kết luận​

Trong hướng dẫn này, chúng ta đã tìm hiểu cách cài đặt ERPNext với Nginx trên Ubuntu 20.04. Chúng ta cũng đã tìm hiểu cách bảo mật ERPNext bằng Let's Encrypt SSL. Bạn có thể truy cập trang tài liệu ERPNext để biết thêm thông tin.
 
Back
Bên trên