Máy tính cấu hình Odoo
Tính toán yêu cầu hệ thống để cài đặt Odoo trên máy tính của bạn
Hướng dẫn cài đặt Odoo trên máy tính từ A-Z (2024)
Giới thiệu về Odoo
Odoo là một bộ phần mềm quản lý doanh nghiệp mã nguồn mở hàng đầu thế giới, cung cấp hơn 30 ứng dụng tích hợp bao gồm CRM, kế toán, kho hàng, sản xuất, nhân sự và nhiều tính năng khác. Với hơn 7 triệu người dùng trên toàn cầu, Odoo đã trở thành giải pháp ưa thích của cả doanh nghiệp nhỏ và tập đoàn đa quốc gia.
Phiên bản Community của Odoo hoàn toàn miễn phí và có thể được cài đặt trên máy tính cá nhân để phục vụ mục đích học tập, phát triển hoặc sử dụng nội bộ. Bài viết này sẽ hướng dẫn bạn cách cài đặt Odoo trên máy tính chi tiết từ A-Z.
Yêu cầu hệ thống để cài đặt Odoo
Trước khi bắt đầu cài đặt, bạn cần đảm bảo máy tính của mình đáp ứng các yêu cầu tối thiểu sau:
| Thành phần | Yêu cầu tối thiểu | Đề nghị |
|---|---|---|
| Hệ điều hành | Windows 7+, Ubuntu 18.04+, macOS 10.12+ | Ubuntu 22.04 LTS (tối ưu nhất) |
| CPU | 2 lõi 2.0GHz | 4 lõi 2.5GHz+ (cho 10+ người dùng) |
| RAM | 2GB | 8GB+ (cho 20+ người dùng) |
| Dung lượng đĩa | 10GB trống | 50GB+ (cho cơ sở dữ liệu lớn) |
| Python | 3.6+ | 3.10+ (tương thích tốt nhất) |
| PostgreSQL | 10+ | 14+ (hiệu suất tốt nhất) |
Lưu ý: Các yêu cầu này có thể thay đổi tùy thuộc vào số lượng người dùng đồng thời, số lượng module được cài đặt và kích thước cơ sở dữ liệu. Bạn có thể sử dụng máy tính ở phía trên để ước tính yêu cầu hệ thống chính xác cho trường hợp sử dụng của mình.
Hướng dẫn cài đặt Odoo trên Ubuntu 22.04 LTS
Ubuntu là hệ điều hành được khuyến nghị nhất để cài đặt Odoo do tính ổn định và tương thích cao. Dưới đây là các bước cài đặt chi tiết:
Bước 1: Cập nhật hệ thống
Trước tiên, bạn nên cập nhật hệ thống của mình để đảm bảo tất cả các gói phần mềm đều là phiên bản mới nhất:
sudo apt update && sudo apt upgrade -y
Bước 2: Cài đặt các phụ thuộc cần thiết
Odoo yêu cầu một số phụ thuộc để chạy đúng cách. Chạy lệnh sau để cài đặt chúng:
sudo apt install -y python3-pip python3-dev python3-venv python3-wheel libxml2-dev libxslt1-dev zlib1g-dev libpq-dev libjpeg-dev libsasl2-dev libldap2-dev libssl-dev libffi-dev fontconfig git
Bước 3: Cài đặt PostgreSQL
Odoo sử dụng PostgreSQL làm hệ quản trị cơ sở dữ liệu. Cài đặt PostgreSQL với lệnh:
sudo apt install -y postgresql postgresql-client
Sau khi cài đặt xong, tạo người dùng PostgreSQL cho Odoo:
sudo su - postgres -c "createuser -s odoo16"
Bước 4: Tạo người dùng hệ thống cho Odoo
Tạo một người dùng hệ thống riêng cho Odoo để tăng cường bảo mật:
sudo useradd -m -d /opt/odoo16 -U -r -s /bin/bash odoo16
Bước 5: Cài đặt Wkhtmltopdf
Wkhtmltopdf được sử dụng để tạo báo cáo PDF trong Odoo. Cài đặt phiên bản được khuyến nghị:
sudo wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb
sudo dpkg -i wkhtmltox_0.12.6.1-2.jammy_amd64.deb
sudo apt install -y -f
Bước 6: Cài đặt Odoo từ nguồn
Clone kho lưu trữ Odoo từ GitHub:
sudo su - odoo16 -s /bin/bash
git clone https://www.github.com/odoo/odoo --depth 1 --branch 16.0 /opt/odoo16/odoo
Tạo môi trường ảo Python và cài đặt các phụ thuộc Python:
cd /opt/odoo16
python3 -m venv odoo-venv
source odoo-venv/bin/activate
pip install wheel
pip install -r odoo/requirements.txt
Bước 7: Cấu hình Odoo
Tạo tệp cấu hình cho Odoo:
sudo mkdir /etc/odoo
sudo nano /etc/odoo/odoo.conf
Thêm nội dung sau vào tệp cấu hình:
[options]
admin_passwd = admin
db_host = localhost
db_port = 5432
db_user = odoo16
db_password = False
addons_path = /opt/odoo16/odoo/addons,/opt/odoo16/custom-addons
Bước 8: Tạo dịch vụ systemd
Tạo tệp dịch vụ để quản lý Odoo như một dịch vụ hệ thống:
sudo nano /etc/systemd/system/odoo16.service
Thêm nội dung sau:
[Unit]
Description=Odoo16
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo16
PermissionsStartOnly=true
User=odoo16
Group=odoo16
ExecStart=/opt/odoo16/odoo-venv/bin/python3 /opt/odoo16/odoo/odoo-bin -c /etc/odoo/odoo.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Kích hoạt và khởi động dịch vụ:
sudo systemctl daemon-reload
sudo systemctl enable --now odoo16
sudo systemctl status odoo16
Bước 9: Cấu hình tường lửa
Nếu bạn sử dụng tường lửa, hãy mở cổng 8069 (cổng mặc định của Odoo):
sudo ufw allow 8069/tcp
sudo ufw enable
Bước 10: Truy cập Odoo
Mở trình duyệt và truy cập vào địa chỉ:
http://your_server_ip:8069
Thay thế your_server_ip bằng địa chỉ IP của máy chủ hoặc localhost nếu bạn cài đặt trên máy local.
Hướng dẫn cài đặt Odoo trên Windows
Mặc dù Ubuntu được khuyến nghị cho môi trường production, bạn vẫn có thể cài đặt Odoo trên Windows cho mục đích học tập hoặc phát triển. Dưới đây là các bước cài đặt:
Bước 1: Cài đặt Python
Tải và cài đặt Python 3.10+ từ trang chủ python.org. Trong quá trình cài đặt, đảm bảo chọn tùy chọn “Add Python to PATH”.
Bước 2: Cài đặt PostgreSQL
Tải và cài đặt PostgreSQL từ postgresql.org. Trong quá trình cài đặt:
- Chọn cổng mặc định 5432
- Đặt mật khẩu cho user postgres (nhớ mật khẩu này)
- Cho phép kết nối từ localhost
Bước 3: Cài đặt các phụ thuộc
Mở Command Prompt với quyền admin và chạy các lệnh sau:
pip install wheel
pip install -r https://raw.githubusercontent.com/odoo/odoo/16.0/requirements.txt
Bước 4: Tải source code Odoo
Tải source code Odoo từ GitHub:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 16.0
Bước 5: Cấu hình Odoo
Tạo tệp odoo.conf trong thư mục gốc của Odoo với nội dung sau:
[options]
admin_passwd = admin
db_host = localhost
db_port = 5432
db_user = postgres
db_password = your_postgres_password
addons_path = addons,custom-addons
Bước 6: Chạy Odoo
Mở Command Prompt và điều hướng đến thư mục Odoo, sau đó chạy:
python odoo-bin -c odoo.conf
Bước 7: Truy cập Odoo
Mở trình duyệt và truy cập:
http://localhost:8069
Cài đặt Odoo sử dụng Docker
Docker cung cấp một cách nhanh chóng và nhất quán để triển khai Odoo. Dưới đây là hướng dẫn cài đặt Odoo bằng Docker:
Bước 1: Cài đặt Docker
Trên Ubuntu:
sudo apt update
sudo apt install -y docker.io
sudo systemctl enable --now docker
sudo usermod -aG docker $USER
newgrp docker
Bước 2: Tạo docker-compose.yml
Tạo tệp docker-compose.yml với nội dung sau:
version: '3.1'
services:
web:
image: odoo:16.0
depends_on:
- db
ports:
- "8069:8069"
volumes:
- odoo-web-data:/var/lib/odoo
- ./config:/etc/odoo
- ./addons:/mnt/extra-addons
environment:
- HOST=db
- USER=odoo
- PASSWORD=odoo
db:
image: postgres:14
environment:
- POSTGRES_DB=postgres
- POSTGRES_PASSWORD=odoo
- POSTGRES_USER=odoo
volumes:
- odoo-db-data:/var/lib/postgresql/data
volumes:
odoo-web-data:
odoo-db-data:
Bước 3: Khởi động container
Chạy lệnh sau để khởi động Odoo:
docker-compose up -d
Bước 4: Truy cập Odoo
Mở trình duyệt và truy cập:
http://localhost:8069
Lợi ích của việc sử dụng Docker:
- Cài đặt nhanh chóng, nhất quán
- Dễ dàng nâng cấp hoặc quay lại phiên bản cũ
- Cách ly môi trường, tránh xung đột phụ thuộc
- Dễ dàng sao lưu và phục hồi
So sánh các phương thức cài đặt Odoo
Mỗi phương thức cài đặt Odoo đều có ưu và nhược điểm riêng. Dưới đây là bảng so sánh chi tiết:
| Tiêu chí | Cài đặt từ nguồn (Source) | Cài đặt bằng Docker | Cài đặt trên Windows |
|---|---|---|---|
| Độ phức tạp | Trung bình | Thấp | Cao |
| Thời gian cài đặt | 30-60 phút | 5-10 phút | 45-90 phút |
| Tương thích | Tốt nhất (Linux) | Tốt (Linux/Windows/macOS) | Hạn chế (chỉ Windows) |
| Hiệu suất | Cao | Trung bình (phụ thuộc cấu hình Docker) | Thấp |
| Khả năng mở rộng | Cao | Trung bình | Thấp |
| Dễ dàng nâng cấp | Trung bình | Dễ dàng | Khó khăn |
| Môi trường phù hợp | Production, Development | Development, Testing | Learning, Demo |
Lựa chọn phương thức cài đặt phù hợp phụ thuộc vào mục đích sử dụng và môi trường của bạn:
- Cài đặt từ nguồn: Phù hợp nhất cho môi trường production trên máy chủ Linux
- Docker: Lý tưởng cho phát triển và thử nghiệm, cho phép tạo môi trường nhất quán
- Windows: Chỉ nên sử dụng cho mục đích học tập hoặc demo nhanh
Cấu hình sau cài đặt
Sau khi cài đặt Odoo thành công, bạn cần thực hiện một số cấu hình cơ bản để hệ thống hoạt động tối ưu:
1. Tạo cơ sở dữ liệu đầu tiên
Khi truy cập Odoo lần đầu tiên, bạn sẽ được yêu cầu tạo cơ sở dữ liệu. Điền các thông tin sau:
- Master Password: Đặt mật khẩu quản trị viên chính
- Database Name: Tên cơ sở dữ liệu (ví dụ: mycompany)
- Email: Địa chỉ email quản trị viên
- Password: Mật khẩu cho tài khoản quản trị
- Language: Chọn ngôn ngữ (Vietnamese)
- Country: Chọn quốc gia (Vietnam)
- Demo Data: Chọn có cài dữ liệu demo hay không
2. Cài đặt module cần thiết
Odoo đi kèm với hàng trăm module tích hợp sẵn. Để cài đặt module:
- Đăng nhập với tài khoản quản trị
- Vào menu Apps
- Tìm kiếm module cần cài đặt
- Nhấn Install
Các module phổ biến cần cài đặt:
- CRM: Quản lý quan hệ khách hàng
- Sales: Quản lý bán hàng
- Purchase: Quản lý mua hàng
- Inventory: Quản lý kho hàng
- Accounting: Kế toán
- Project: Quản lý dự án
- HR: Quản lý nhân sự
- Website: Tạo website
- eCommerce: Bán hàng trực tuyến
3. Cấu hình email
Để gửi và nhận email từ Odoo, bạn cần cấu hình máy chủ email:
- Vào Settings → General Settings
- Cuộn xuống phần Email
- Chọn Outgoing Email Server
- Nhập thông tin máy chủ SMTP của bạn
- Test kết nối và lưu cấu hình
Các nhà cung cấp email phổ biến:
| Nhà cung cấp | SMTP Server | Port | Security |
|---|---|---|---|
| Gmail | smtp.gmail.com | 587 | TLS |
| Outlook | smtp.office365.com | 587 | STARTTLS |
| Yahoo | smtp.mail.yahoo.com | 465 | SSL |
| Zoho | smtp.zoho.com | 465 | SSL |
4. Sao lưu và phục hồi dữ liệu
Sao lưu dữ liệu định kỳ là rất quan trọng. Odoo cung cấp hai cách sao lưu:
Cách 1: Sao lưu thủ công
- Vào Settings → Database → Backup
- Chọn Master Password
- Chọn cơ sở dữ liệu cần sao lưu
- Nhấn Backup
- Tải file sao lưu về máy
Cách 2: Sao lưu tự động
Để cấu hình sao lưu tự động trên Linux:
sudo nano /etc/odoo/odoo.conf
Thêm các dòng sau:
db_name = your_database_name
admin_passwd = your_admin_password
db_user = odoo
db_password = your_db_password
db_host = localhost
db_port = 5432
[options]
auto_backup = True
backup_dir = /opt/odoo/backups
backup_keep = 30
Tạo script sao lưu tự động:
sudo nano /opt/odoo/backup_script.sh
Thêm nội dung:
#!/bin/bash
DATE=$(date +%Y-%m-%d_%H-%M-%S)
BACKUP_DIR="/opt/odoo/backups"
ODOO_ADMIN_PASSWD="your_admin_password"
DB_NAME="your_database_name"
/opt/odoo/odoo-venv/bin/python3 /opt/odoo/odoo/odoo-bin -c /etc/odoo/odoo.conf --db_name=$DB_NAME --backup_file=$BACKUP_DIR/$DB_NAME-$DATE.zip --admin_password=$ODOO_ADMIN_PASSWD
# Xóa các bản sao lưu cũ hơn 30 ngày
find $BACKUP_DIR -type f -mtime +30 -delete
Cấu hình cron job để chạy script hàng ngày:
sudo crontab -e
Thêm dòng sau:
0 2 * * * /bin/bash /opt/odoo/backup_script.sh
Khắc phục sự cố thường gặp khi cài đặt Odoo
Trong quá trình cài đặt và sử dụng Odoo, bạn có thể gặp phải một số lỗi phổ biến. Dưới đây là cách khắc phục:
1. Lỗi kết nối cơ sở dữ liệu
Triệu chứng: Không thể kết nối đến PostgreSQL, lỗi “Could not connect to server”
Nguyên nhân:
- PostgreSQL không chạy
- Sai thông tin đăng nhập
- Cổng 5432 bị chặn
Cách khắc phục:
- Kiểm tra trạng thái PostgreSQL:
sudo systemctl status postgresql - Khởi động lại PostgreSQL:
sudo systemctl restart postgresql - Kiểm tra thông tin đăng nhập trong tệp cấu hình Odoo
- Kiểm tra tường lửa:
sudo ufw allow 5432
2. Lỗi thiếu phụ thuộc Python
Triệu chứng: Lỗi “ModuleNotFoundError” khi khởi động Odoo
Nguyên nhân: Thiếu các gói Python cần thiết
Cách khắc phục:
pip install -r odoo/requirements.txt
Nếu lỗi vẫn tiếp tục, cài đặt từng gói riêng lẻ:
pip install package_name
3. Lỗi quyền truy cập
Triệu chứng: Lỗi “Permission denied” khi truy cập các tệp
Nguyên nhân: Người dùng Odoo không có quyền truy cập thích hợp
Cách khắc phục:
sudo chown -R odoo16:odoo16 /opt/odoo16/
sudo chmod -R 755 /opt/odoo16/
4. Lỗi khởi động dịch vụ
Triệu chứng: Dịch vụ Odoo không khởi động được
Nguyên nhân:
- Lỗi cú pháp trong tệp cấu hình
- Thiếu phụ thuộc
- Cổng 8069 đang được sử dụng
Cách khắc phục:
- Kiểm tra log:
journalctl -u odoo16 -f - Kiểm tra cú pháp tệp cấu hình
- Kiểm tra cổng:
sudo netstat -tulnp | grep 8069 - Khởi động lại dịch vụ:
sudo systemctl restart odoo16
5. Lỗi hiệu suất chậm
Triệu chứng: Odoo chạy chậm, đáp ứng chậm
Nguyên nhân:
- Thiếu RAM
- CPU yếu
- Cơ sở dữ liệu lớn nhưng không được tối ưu
- Quá nhiều module không cần thiết
Cách khắc phục:
- Tăng cường phần cứng (RAM, CPU)
- Tối ưu cơ sở dữ liệu:
VACUUM FULL;trong PostgreSQL - Vô hiệu hóa các module không sử dụng
- Cấu hình cache trong tệp odoo.conf:
limit_memory_hard = 2684354560 # 2.5GB
limit_memory_soft = 2147483648 # 2GB
limit_request = 8192
limit_time_cpu = 600
limit_time_real = 1200
max_cron_threads = 2
Tối ưu hóa hiệu suất Odoo
Để Odoo hoạt động mượt mà với nhiều người dùng, bạn cần thực hiện một số tối ưu hóa:
1. Tối ưu PostgreSQL
Chỉnh sửa tệp postgresql.conf (thường ở /etc/postgresql/14/main/):
shared_buffers = 1GB # 25% của RAM hệ thống
effective_cache_size = 3GB # 50-75% của RAM hệ thống
maintenance_work_mem = 256MB # Cho các tác vụ bảo trì
work_mem = 16MB # Cho các truy vấn phức tạp
min_wal_size = 1GB
max_wal_size = 2GB
checkpoint_completion_target = 0.9
random_page_cost = 1.1 # Giảm nếu sử dụng SSD
effective_io_concurrency = 200 # Cho SSD
2. Cấu hình Odoo
Thêm các thông số sau vào tệp odoo.conf:
[options]
; Performance
workers = 4 # Số worker = số lõi CPU
max_cron_threads = 2
limit_time_cpu = 600
limit_time_real = 1200
limit_memory_soft = 2147483648 # 2GB
limit_memory_hard = 2684354560 # 2.5GB
limit_request = 8192
limit_time_real_cron = -1
; Database
db_maxconn = 64
db_name = False
db_template = template1
dbfilter = .*
; Email
email_from = "Odoo "
smtp_server = localhost
smtp_port = 25
smtp_ssl = False
smtp_user = False
smtp_password = False
; Logging
log_level = info
log_db = False
log_handler = [:INFO]
logfile = /var/log/odoo/odoo-server.log
3. Sử dụng Nginx làm reverse proxy
Cài đặt Nginx:
sudo apt install -y nginx
Tạo tệp cấu hình:
sudo nano /etc/nginx/sites-available/odoo
Thêm nội dung:
upstream odoo {
server 127.0.0.1:8069;
}
upstream odoochat {
server 127.0.0.1:8072;
}
server {
listen 80;
server_name yourdomain.com;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
# Log files
access_log /var/log/nginx/odoo.access.log;
error_log /var/log/nginx/odoo.error.log;
# Proxy headers
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
# Odoo services
location / {
proxy_redirect off;
proxy_pass http://odoo;
}
location /longpolling {
proxy_pass http://odoochat;
}
# Cache static files
location ~* /web/static/ {
proxy_cache_valid 200 90m;
proxy_buffering on;
expires 864000;
proxy_pass http://odoo;
}
# Gzip compression
gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
gzip on;
}
Kích hoạt cấu hình:
sudo ln -s /etc/nginx/sites-available/odoo /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
4. Cài đặt SSL với Let’s Encrypt
Cài đặt Certbot:
sudo apt install -y certbot python3-certbot-nginx
Lấy chứng chỉ SSL:
sudo certbot --nginx -d yourdomain.com
Cấu hình tự động gia hạn:
sudo certbot renew --dry-run
5. Tối ưu cơ sở dữ liệu
Thực hiện các lệnh sau trong PostgreSQL để tối ưu cơ sở dữ liệu:
VACUUM FULL ANALYZE;
REINDEX DATABASE your_database_name;
Đối với các bảng lớn:
VACUUM (VERBOSE, ANALYZE) your_large_table;
REINDEX TABLE your_large_table;
Nâng cấp Odoo lên phiên bản mới
Nâng cấp Odoo cần được thực hiện cẩn thận để tránh mất dữ liệu. Dưới đây là quy trình nâng cấp an toàn:
1. Chuẩn bị trước khi nâng cấp
- Sao lưu toàn bộ cơ sở dữ liệu
- Sao lưu thư mục custom addons
- Kiểm tra tương thích của các module tùy chỉnh
- Đọc tài liệu nâng cấp chính thức của Odoo
- Thông báo cho người dùng về thời gian downtime
2. Quy trình nâng cấp trên Ubuntu
- Dừng dịch vụ Odoo hiện tại:
sudo systemctl stop odoo16 - Sao lưu thư mục Odoo hiện tại:
sudo mv /opt/odoo16 /opt/odoo16_backup - Clone phiên bản Odoo mới:
sudo su - odoo16 -s /bin/bash git clone https://www.github.com/odoo/odoo --depth 1 --branch 17.0 /opt/odoo17/odoo - Cập nhật môi trường ảo Python:
cd /opt/odoo17 python3 -m venv odoo-venv source odoo-venv/bin/activate pip install wheel pip install -r odoo/requirements.txt - Cập nhật tệp cấu hình:
Chỉnh sửa các đường dẫn trong tệp cấu hình mớisudo cp /etc/odoo/odoo.conf /etc/odoo/odoo17.conf - Tạo dịch vụ systemd mới:
Cập nhật các đường dẫn và thông tin phiên bảnsudo nano /etc/systemd/system/odoo17.service - Kích hoạt và khởi động dịch vụ mới:
sudo systemctl daemon-reload sudo systemctl enable --now odoo17 sudo systemctl status odoo17 - Cập nhật module:
sudo su - odoo17 -s /bin/bash cd /opt/odoo17/odoo ./odoo-bin -c /etc/odoo/odoo17.conf -u all -d your_database_name --stop-after-init
3. Nâng cấp sử dụng Docker
Nếu bạn sử dụng Docker, quy trình nâng cấp đơn giản hơn:
- Dừng container hiện tại:
docker-compose down - Sao lưu dữ liệu:
docker run --rm --volumes-from odoo_db_1 -v $(pwd):/backup busybox tar cvf /backup/odoo-db-backup.tar /var/lib/postgresql/data - Cập nhật phiên bản Odoo trong docker-compose.yml:
image: odoo:17.0 - Khởi động container mới:
docker-compose up -d - Cập nhật module:
docker-compose exec web odoo -u all -d your_database_name --stop-after-init
4. Xử lý lỗi sau nâng cấp
Một số lỗi phổ biến sau nâng cấp và cách khắc phục:
Lỗi: Module not upgraded
Giải pháp: Cập nhật từng module riêng lẻ
./odoo-bin -c /etc/odoo/odoo.conf -u module_name -d your_database_name
Lỗi: Missing dependencies
Giải pháp: Cài đặt các phụ thuộc thiếu
pip install missing_package
Lỗi: Database inconsistency
Giải pháp: Chạy lệnh sửa chữa cơ sở dữ liệu
./odoo-bin -c /etc/odoo/odoo.conf --db_name=your_database_name --log-level=debug --update=all --stop-after-init
Phát triển module tùy chỉnh cho Odoo
Một trong những ưu điểm lớn của Odoo là khả năng mở rộng thông qua các module tùy chỉnh. Dưới đây là hướng dẫn cơ bản để phát triển module:
1. Cấu trúc thư mục module
Một module Odoo cơ bản có cấu trúc như sau:
custom_addon/
├── __init__.py
├── __manifest__.py
├── models/
│ ├── __init__.py
│ └── your_model.py
├── views/
│ └── your_view.xml
├── security/
│ ├── ir.model.access.csv
│ └── security.xml
└── static/
└── description/
└── icon.png
2. Tệp __manifest__.py
Tệp này định nghĩa metadata của module:
{
'name': 'Custom Addon',
'version': '1.0',
'summary': 'Module tùy chỉnh của bạn',
'description': """
Mô tả chi tiết về module
""",
'author': 'Your Name',
'website': 'https://yourwebsite.com',
'category': 'Tools',
'depends': ['base', 'sale', 'purchase'],
'data': [
'security/ir.model.access.csv',
'views/your_view.xml',
],
'demo': [],
'installable': True,
'application': True,
'auto_install': False,
}
3. Tạo model
Ví dụ tạo một model đơn giản trong models/your_model.py:
from odoo import models, fields, api
class CustomModel(models.Model):
_name = 'custom.model'
_description = 'Mô hình tùy chỉnh'
name = fields.Char(string='Tên', required=True)
description = fields.Text(string='Mô tả')
active = fields.Boolean(string='Hoạt động', default=True)
date_created = fields.Datetime(string='Ngày tạo', default=fields.Datetime.now)
@api.model
def create(self, vals):
# Logic tùy chỉnh khi tạo bản ghi mới
return super(CustomModel, self).create(vals)
4. Tạo view
Tạo giao diện người dùng trong views/your_view.xml:
custom.model.tree
custom.model
custom.model.form
custom.model
Mô hình tùy chỉnh
custom.model
tree,form
5. Cấu hình quyền truy cập
Định nghĩa quyền truy cập trong security/ir.model.access.csv:
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_custom_model,custom.model,model_custom_model,base.group_user,1,1,1,1
6. Cài đặt module
- Đặt module của bạn vào thư mục addons (ví dụ: /opt/odoo16/custom-addons)
- Cập nhật danh sách module trong Odoo: Vào Apps → Update Apps List
- Tìm kiếm module của bạn và cài đặt
7. Debug và testing
Các kỹ thuật debug:
- Sử dụng chế độ developer: Nhấn Alt+Shift+D trong Odoo
- Kiểm tra log:
tail -f /var/log/odoo/odoo-server.log - Sử dụng debugger Python:
pdb - Viết test case với unittest
Triển khai Odoo trên môi trường production
Khi triển khai Odoo cho môi trường production, bạn cần lưu ý các yếu tố sau:
1. Lựa chọn kiến trúc
Có ba kiến trúc phổ biến:
- Single server: Tất cả thành phần chạy trên một máy chủ. Phù hợp cho doanh nghiệp nhỏ.
- Multiple servers: Tách biệt web server, database server, và application server. Phù hợp cho doanh nghiệp vừa.
- Load balanced: Sử dụng nhiều application server với load balancer. Phù hợp cho doanh nghiệp lớn.
2. Yêu cầu phần cứng
| Loại triển khai | Số người dùng | CPU | RAM | Storage |
|---|---|---|---|---|
| Single server | 1-50 | 4 lõi | 8GB | 100GB SSD |
| Multiple servers | 50-200 | 8 lõi (app) + 4 lõi (db) | 16GB (app) + 8GB (db) | 200GB SSD (app) + 500GB SSD (db) |
| Load balanced | 200+ | 16+ lõi (nhiều app server) | 32GB+ (app) + 16GB (db) | 500GB+ SSD (app) + 1TB+ SSD (db) |
3. Cấu hình bảo mật
- Sử dụng HTTPS với chứng chỉ SSL hợp lệ
- Cấu hình tường lửa chặt chẽ (chỉ mở cổng cần thiết)
- Thay đổi mật khẩu mặc định (admin, postgres)
- Cập nhật hệ thống và phần mềm thường xuyên
- Sao lưu tự động và lưu trữ ngoài site
- Cấu hình fail2ban để ngăn chặn brute force attack
- Sử dụng WAF (Web Application Firewall)
4. Giám sát hệ thống
Cài đặt các công cụ giám sát:
- Prometheus + Grafana: Giám sát hiệu suất
- Sentry: Giám sát lỗi ứng dụng
- Logstash + Elasticsearch + Kibana: Quản lý log
- Nagios/Zabbix: Giám sát hạ tầng
5. Chiến lược sao lưu
Thực hiện sao lưu theo nguyên tắc 3-2-1:
- 3 bản sao lưu
- 2 loại phương tiện khác nhau
- 1 bản lưu trữ ngoài site
Ví dụ lịch trình sao lưu:
- Sao lưu hàng giờ: Các thay đổi gần đây
- Sao lưu hàng ngày: Toàn bộ cơ sở dữ liệu
- Sao lưu hàng tuần: Lưu trữ dài hạn
- Sao lưu hàng tháng: Lưu trữ ngoài site
6. Tối ưu hiệu suất cho production
- Sử dụng CDN cho tài nguyên tĩnh
- Cấu hình caching aggressively
- Tối ưu hóa cơ sở dữ liệu định kỳ
- Sử dụng connection pooling cho PostgreSQL (PgBouncer)
- Cân nhắc sử dụng Odoo.sh cho môi trường đám mây
- Triển khai read replicas cho cơ sở dữ liệu nếu cần
Kết luận
Cài đặt Odoo trên máy tính cá nhân hoặc máy chủ là quá trình đòi hỏi sự cẩn thận và kiên nhẫn, nhưng bù lại bạn sẽ có được một hệ thống quản lý doanh nghiệp mạnh mẽ và linh hoạt. Bài viết này đã cung cấp hướng dẫn chi tiết từ cơ bản đến nâng cao về:
- Cài đặt Odoo trên các nền tảng khác nhau (Ubuntu, Windows, Docker)
- Cấu hình và tối ưu hóa hệ thống
- Phát triển module tùy chỉnh
- Triển khai trên môi trường production
- Khắc phục sự cố và bảo trì hệ thống
Odoo là một giải pháp mạnh mẽ có thể đáp ứng nhu cầu của cả doanh nghiệp nhỏ và tập đoàn lớn. Với kiến thức từ bài viết này, bạn đã sẵn sàng để:
- Triển khai Odoo cho doanh nghiệp của mình
- Tùy chỉnh Odoo theo nhu cầu cụ thể
- Quản trị và bảo trì hệ thống Odoo
- Mở rộng chức năng với các module tùy chỉnh
Hãy bắt đầu với phiên bản Community miễn phí để làm quen với Odoo, sau đó cân nhắc nâng cấp lên Enterprise nếu cần các tính năng nâng cao hơn. Đừng quên tham khảo tài liệu chính thức của Odoo và diễn đàn cộng đồng khi gặp khó khăn.
Chúc bạn thành công với hệ thống Odoo của mình!