1. Cài đặt các thư viện cần thiết cho máy chủ Ubuntu
2. Cài PostgreSQL
3. Tạo user system
4. Download odoo từ Git
5. Tạo môi trường ảo để chạy odoo
6. Cài đặt thư viện cần thiết của odoo
7. Tạo thư mục chứa addons tuỳ chỉnh
8. Tạo config file
9. Tạo file log
10. Tạo service odoo khởi động cùng ubuntu
11. Reload service
12. Cài đặt Nginx, SSL
1. Cài đặt các thư viện cần thiết cho máy chủ Ubuntu
Chuẩn bị máy chủ Ubuntu server 22.04 Lts và có quyền user root
Update và cài đặt các thư viện cần thiết cho hệ thống ubuntu server
Cài Wkhtmltopdf cho việc in báo cáo pdf
ubuntu 22.04
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb sudo apt install -f ./wkhtmltox_0.12.6.1-2.jammy_amd64.deb
Hoặc:
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb sudo apt install -f ./wkhtmltox_0.12.6-1.focal_amd64.deb
sudo apt install build-essential gdebi git libatlas-base-dev libblas-dev libffi-dev libfreetype6-dev libfribidi-dev libharfbuzz-dev libjpeg-dev libjpeg8-dev liblcms2-dev libldap2-dev libmysqlclient-dev libopenjp2-7-dev libpq-dev libsasl2-dev libssl-dev libtiff5-dev libwebp-dev libxcb1-dev libxml2-dev libxslt-dev libxslt1-dev libzip-dev node-less python3-dev python3-pip python3-setuptools python3-venv python3-wheel wget zlib1g-dev -y
2. Cài PostgreSQL
Chạy lệnh sau để cài postgresql
Tạo user postgresql để chạy odoo
Gỡ bỏ postgresql:
sudo systemctl stop postgresql
sudo apt-get purge postgresql postgresql-contrib -y
sudo apt-get autoremove -y
sudo rm -r /var/lib/postgresql
sudo rm -r /etc/postgresql
sudo systemctl daemon-reload
sudo deluser postgres
sudo delgroup postgres
3. Tạo user system
Tạo system user để chạy dịch vụ odoo riêng
useradd: Là lệnh để thêm một người dùng mới.
-m: Tạo thư mục home cho người dùng. Nếu không có tùy chọn này, thư mục home không được tạo.
-d /opt/odooitricks: Chỉ định thư mục home cho người dùng mới là /opt/odooitricks. Thư mục home thường là nơi mà người dùng sẽ bắt đầu khi họ đăng nhập.
-U: Tạo một nhóm có tên giống với tên người dùng và thêm người dùng vào nhóm này. Nếu không có tùy chọn này, một nhóm với tên người dùng sẽ được tạo, và người dùng sẽ là thành viên duy nhất của nhóm này.
-r: Tạo một người dùng hệ thống. Người dùng hệ thống thường được sử dụng cho các dịch vụ và quá trình hệ thống và thường có UID (User ID) thấp hơn so với người dùng thông thường.
-s /bin/bash: Chỉ định shell mặc định cho người dùng là /bin/bash. Shell này sẽ được sử dụng khi người dùng đăng nhập vào hệ thống.
odooitricks: Tên người dùng mới.
Chuyển chế độ làm việc qua user vừa tạo
4. Download odoo từ Git
5. Tạo môi trường ảo để chạy odoo
Tạo môi trường ảo để chạy odoo, nhằm cho odoo chạy ổn định và không phụ thuộc vào môi trường ubuntu server khi hệ thống update
Kích hoạt môi trường ảo
6. Cài đặt thư viện cần thiết của odoo
wheel: Là một định dạng gói được sử dụng để tối ưu hóa quá trình cài đặt các gói Python. Gói wheel được thiết kế để lưu trữ các phiên bản được biên dịch trước của các gói Python, giúp giảm thời gian cài đặt so với việc biên dịch trực tiếp từ mã nguồn.
Khi bạn chạy lệnh pip3 install wheel, bạn đang cài đặt gói wheel để chuẩn bị cho việc cài đặt các gói Python từ wheel thay vì từ mã nguồn, có thể giúp tăng tốc quá trình cài đặt các gói lớn hoặc phức tạp.
-r odoo/requirements.txt: Chỉ định rằng bạn muốn cài đặt các gói từ danh sách yêu cầu được định nghĩa trong tệp tin odoo/requirements.txt.
Cài đặt xong thư viện chúng ta thoát môi trường ảo bằng lệnh dưới
Thoát odoo user chuyển qua root
7. Tạo thư mục chứa addons tuỳ chỉnh
Tạo thư mục chứa các addons riêng của bạn, khi chỉnh sửa hay thêm mới bạn nên để chúng vào thư mục này cho dễ quản lý code
8. Tạo config file
Tạo mật khẩu cho user database
Sửa file dưới: với dòng md5 thành peer để truy cập vào postgres không cần mật khẩu
/etc/postgresql/14/main/pg_hba.conf
local all postgres md5
sudo -u postgres psql
ALTER USER odooitricks WITH PASSWORD 'itricks123';
Sau khi tạo mật khẩu xong thì phải để lại thành md5 cho bảo mật
sửa dòng sau:
local all all md5
từ peer thành md5 thì mới truy cập được
Thêm đoạn cấu hình cơ bản như sau:
File conf có rất nhiều tuỳ chọn và setting, bạn có thể tham khảo đầy đủ file conf trên internet và cộng đồng link tham khảo: https://gist.github.com/Guidoom/d5db0a76ce669b139271a528a8a2a27f
9. Tạo file log
Tạo file log để ghi lại lịch sử chạy hệ thống và xem các lỗi nếu có
10. Tạo service odoo khởi động cùng ubuntu
Khi khởi động ubuntu thì service odoo cũng sẽ tự động khởi chạy với mã sau
11. Reload service
Khởi động lại dịch vụ để hệ thống áp dụng với các service mới tạo
Kiểm tra xem dịch vụ odoo đã chạy chưa
Lưu ý: Khi cấu hình sai muốn xóa file này, bạn cần dừng dịch vụ trước và vô hiệu hóa nó và xóa, Các lệnh lần lượt như sau:
sudo systemctl stop your_service_name
sudo systemctl disable your_service_name
sudo rm /etc/systemd/system/your_service_name.service
12. Cài đặt Nginx, SSL
Cài đặt webserver Nginx và chứng chỉ SSL free
Tạo file nginx conf cho odoo
Thêm đoạn cấu hình sau vào
Check cú pháp nginx xem có lỗi gì không, nếu không lỗi thì restart lại dịch vụ nginx
Gỡ bỏ nginx
sudo apt-get remove nginx nginx-common
sudo apt-get purge nginx nginx-common
sudo apt-get autoremove
Cài đặt SSL cho tên miền
Truy cập tên miền itricks.me sẽ ra giao diện tạo database, nhập mật khẩu admin tạo trong file conf điền đủ các thông tin rồi ấn tạo database bắt đầu sử dụng.
Lưu ý: Xóa 1 chứng chỉ SSL cho domain.
Dừng dịch vụ nginx, sau đó tiến hành xóa
sudo systemctl stop nginx
sudo certbot delete --cert-name your_domain
Sau đó xóa tất cả các cấu hình nginx có liên quan tới SSL(trong file cấu hình nginx có phần comment được tạo bởi cert...)
Làm mới và khởi động lại nginx
sudo systemctl daemon-reload
sudo systemctl start nginx
- Gỡ bỏ toàn bộ odoo
Dừng dịch vụ Nginx, service odoo.
sudo systemctl stop nginx
sudo systemctl stop odooitricks
Xóa chứng chỉ SSL bằng lệnh:
sudo certbot delete --cert-name your_domain
Xóa file cấu hình nginx
sudo rm /etc/nginx/conf.d/odooitricks.conf
Xóa dịch vụ odoo
sudo systemctl stop your_service_name
sudo systemctl disable your_service_name
sudo rm /etc/systemd/system/your_service_name.service
Xóa file log
sudo rm /var/log/odooitrics.log
Xóa file conf odoo
sudo rm /etc/odooitrcks.conf
Xóa môi trường ảo
sudo rm -rf myodooitricks-venv
Xóa thư mục gốc chứa code
sudo rm -r /opt/odoo/odooitricks
Xóa người dùng hệ thống
sudo userdel -r odooitricks
Xóa người dùng posgresql
sudo su - postgres -c "dropuser odooitricks"
Bài viết này hướng dẫn cài đặt mức cơ bản và đầy đủ, chi tiết. Có nhiều cách cấu hình và tuỳ chọn riêng cho từng yêu cầu riêng trong thực tế.
Chúc bạn thành công!