ERPNext là phần mềm ERP miễn phí và mã nguồn mở được các nhà sản xuất, nhà phân phối và dịch vụ sử dụng. Nó được xây dựng bằng Python, JavaScript và Frappe Framework. Nó hiện đại, dễ sử dụng, miễn phí và đượ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ọ. Hàng nghìn doanh nghiệp trên toàn thế giới sử dụng nó để quản lý các quy trình ERP của họ. Đây là một trong những hệ thống ERP tốt nhất hỗ trợ sản xuất, phân phối, bán lẻ, thương mại, dịch vụ, giáo dục, tổ chức phi lợi nhuận, v.v.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt phần mềm ERPNext trên máy chủ Ubuntu 22.04.
Sau khi tất cả các phụ thuộc Python được cài đặt, bạn sẽ cần cài đặt Node.js trên máy chủ của mình.
Đầu tiên, hãy thêm kho lưu trữ Node.js bằng lệnh sau lệnh:
Tiếp theo, cài đặt Node.js và máy chủ Redis bằng lệnh sau:
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 lệnh:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
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:
Trả lời tất cả các câu hỏi như được hiển thị bên dưới để đặt mật khẩu gốc MariaDB và bảo mật cài đặt:
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:
Tiếp theo, bạn sẽ cần 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:
Thêm/Sửa đổi các dòng sau:
Lưu và đóng tệp, sau đó khởi động lại dịch vụ MariaDB để triển khai thay đổi:
Tiếp theo, đặt mật khẩu cho ERPNext bằng lệnh sau lệnh:
Tiếp theo, thêm người dùng ERPNext vào nhóm sudo 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 lệnh:
Thêm dòng sau:
Lưu tệp sau đó kích hoạt biến môi trường bằng lệnh sau lệnh:
Tiếp theo, tạo một thư mục cho ERPNext bằng lệnh sau:
Tiếp theo, đặt quyền sở hữu cho erpnext người dùng:
Tiếp theo, hãy thay đổi thư mục thành /opt/bench và sao chép kho lưu trữ bench từ Git Hub:
Tiếp theo, hãy cài đặt kho lưu trữ bench bằng pip3 lệnh:
Sau khi cài đặt, hãy khởi tạo thư mục bench với frappe framework bằng lệnh sau:
Bạn sẽ nhận được kết quả đầu ra sau:
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:
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:
Lúc này, ERPNext đã được cài đặt trong hệ thống của bạn.
Đầu tiên, chuyển người dùng sang ERPNext sau đó cài đặt Supervisor và Nginx với lệnh sau lệnh:
Tiếp theo, cài đặt frappe-bench bằng lệnh sau:
Tiếp theo, 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 lệnh:
Sau khi ERPNext được cấu hình, bạn sẽ thấy đầu ra sau:
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.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22385%22%3E%3C/svg%3E
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:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22450%22%3E%3C/svg%3E
Chọn ngôn ngữ, quốc gia, múi giờ và tiền tệ mong muốn rồi nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22535%22%3E%3C/svg%3E
Cung cấp tên, email, mật khẩu của bạn 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 trên trang sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22367%22%3E%3C/svg%3E
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:
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:
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:
Nhập 2 và nhấn Enter để hoàn tất quy trình. Bạn sẽ thấy kết quả sau:
Lúc 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.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt phần mềm ERPNext trên máy chủ Ubuntu 22.04.
Điều kiện tiên quyết
- Một máy chủ chạy Ubuntu 22.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 tiên, bạn sẽ cần cài đặt một số phụ thuộc Python trên 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 python3.10-venv -y
Đầu tiên, hãy thêm kho lưu trữ Node.js bằng lệnh sau lệnh:
Mã:
curl -sL https://deb.nodesource.com/setup_16.x | bash -
Mã:
apt-get install nodejs redis-server -y
Mã:
npm install -g yarn
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 22.04. Bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install mariadb-server -y
Mã:
mysql_secure_installation
Mã:
Enter current password for root (enter for none):
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Mã:
mysql -u root -p
Mã:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Mã:
[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
Mã:
systemctl restart mariadb
Cài đặt ERPNext trên Ubuntu 22.04
Đầu tiên, tạo người dùng mới để chạy ERPNext bằng lệnh sau:
Mã:
useradd -m -s /bin/bash erpnext
Mã:
passwd erpnext
Mã:
usermod -aG sudo erpnext
Mã:
su - erpnext
nano ~/.bashrc
Mã:
PATH=$PATH:~/.local/bin/
Mã:
source ~/.bashrc
Mã:
sudo mkdir /opt/bench
Mã:
sudo chown -R erpnext:erpnext /opt/bench
Mã:
cd /opt/bench
git clone https://github.com/frappe/bench bench-repo
Mã:
pip3 install -e bench-repo
Mã:
bench init erpnext
Mã:
? Built js/checkout.min.js
? Built js/dialog.min.js
? Built js/social.min.js
? Built js/web_form.min.js
? Built js/list.min.js
? Built js/chat.js
Browserslist: caniuse-lite is outdated. Please run next command `yarn upgrade caniuse-lite browserslist`
? Built css/frappe-rtl.css
? Built css/printview.css
? Built js/bootstrap-4-web.min.js
? Built js/barcode_scanner.min.js
? Built css/list.min.css
? Built css/report.min.css
? Built frappe/css/email.css
? Built js/frappe-recorder.min.js
? Built js/desk.min.js
? Built css/frappe-chat-web.css
? Built js/frappe-web.min.js
? Built css/form.min.css
? Built css/web_form.css
? Built css/desk.min.css
? Built css/frappe-web-b4.css
? Built js/control.min.js
? Built js/form.min.js
? Built js/data_import_tools.min.js
? Built js/report.min.js
? Done in 111.35s
Done in 113.33s.
SUCCESS: Bench erpnext initialized
Mã:
cd /opt/bench/erpnext
bench new-site erp.example.com
Mã:
MySQL root password:
Installing frappe...
Updating DocTypes for frappe : [========================================] 100%
Updating country info : [========================================] 100%
Set Administrator password:
Re-enter Administrator password:
*** Scheduler is disabled ***
Current Site set to erp.example.com
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à cấu hình Nginx làm proxy ngược.Đầu tiên, chuyển người dùng sang ERPNext sau đó cài đặt Supervisor và Nginx với lệnh sau lệnh:
Mã:
su - erpnext
sudo apt-get install supervisor nginx -y
Mã:
sudo pip3 install frappe-bench
Mã:
cd /opt/bench/erpnext
sudo /home/erpnext/.local/bin/bench setup production erpnext
Mã:
PLAY RECAP ************************************************************************************************************************************
localhost : ok=8 changed=4 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0
$ sudo systemctl restart supervisor
Port configuration list:
Site erp.example.com assigned port: 80
$ /usr/bin/supervisorctl reread
No config updates to processes
$ /usr/bin/supervisorctl update
$ sudo /usr/sbin/nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
$ sudo systemctl reload nginx
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 . Bạn sẽ được chuyển hướng đến trang đăng nhập ERPNext:data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22385%22%3E%3C/svg%3E
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:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22450%22%3E%3C/svg%3E
Chọn ngôn ngữ, quốc gia, múi giờ và tiền tệ mong muốn rồi nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22535%22%3E%3C/svg%3E
Cung cấp tên, email, mật khẩu của bạn 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 trên trang sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22367%22%3E%3C/svg%3E
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
Mã:
sudo certbot --nginx -d erp.example.com
Mã:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [emailprotected]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for erp.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/erpnext.conf
Mã:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Mã:
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/erpnext.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://erp.example.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=erp.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/erp.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/erp.example.com/privkey.pem Your cert will expire on 2022-09-11. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le - We were unable to subscribe you the EFF mailing list because your e-mail address appears to be invalid. You can try again later by visiting https://act.eff.org.