Máy tính cấu hình Odoo

Nhập thông tin máy tính của bạn để ước tính hiệu suất và yêu cầu hệ thống cho việc cài đặt Odoo

Kết quả phân tích cấu hình

Hệ điều hành phù hợp:
Yêu cầu CPU tối thiểu:
Yêu cầu RAM tối thiểu:
Dung lượng ổ cứng khuyến nghị:
Hiệu suất dự kiến:
Khuyến nghị:

Hướng dẫn cài đặt Odoo trên máy tính chi tiết từ A-Z

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, bán hàng 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 được đánh giá cao về tính linh hoạt và khả năng tùy biến.

Theo báo cáo từ Odoo chính thức, có hơn 50.000 doanh nghiệp đang sử dụng nền tảng này để tối ưu hóa quy trình hoạt động. Việc cài đặt Odoo trên máy tính cá nhân hoặc máy chủ giúp doanh nghiệp tiết kiệm chi phí đáng kể so với các giải pháp phần mềm đóng gói truyền thống.

Yêu cầu hệ thống để cài đặt Odoo

Trước khi bắt đầu quá trình 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 Khuyến nghị Cho doanh nghiệp lớn
Hệ điều hành Ubuntu 18.04+ / Windows 10 Ubuntu 22.04 LTS Ubuntu 22.04 LTS trên máy chủ chuyên dụng
CPU 2 lõi 2GHz 4 lõi 2.5GHz+ 8 lõi 3GHz+ (Xeon hoặc tương đương)
RAM 2GB 8GB 16GB+ (32GB cho 100+ người dùng)
Dung lượng ổ cứng 20GB 100GB SSD 500GB+ SSD (RAID 10 cho độ tin cậy)
Python 3.6+ 3.10 3.10 với môi trường ảo
PostgreSQL 10+ 14 14 với cấu hình tối ưu
Lưu ý

Đối với môi trường sản xuất với hơn 50 người dùng đồng thời, bạn nên cân nhắc sử dụng máy chủ chuyên dụng hoặc dịch vụ đám mây như AWS, Google Cloud hoặc DigitalOcean. Theo khuyến nghị từ tài liệu chính thức của Odoo, cấu hình máy chủ nên được tối ưu hóa dựa trên số lượng module và người dùng cụ thể.

Hướng dẫn cài đặt Odoo trên Ubuntu 22.04 LTS

Bước 1: Chuẩn bị hệ thống

Trước tiên, bạn cần cập nhật hệ thống và cài đặt các gói cần thiết:

sudo apt update && sudo apt upgrade -y
sudo apt install -y git python3-pip build-essential wget python3-dev python3-venv python3-wheel libxml2-dev libpq-dev libjpeg8-dev liblcms2-dev libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev libssl-dev libffi-dev fontconfig

Bước 2: Cài đặt PostgreSQL

Odoo sử dụng PostgreSQL làm hệ quản trị cơ sở dữ liệu. Thực hiện các lệnh sau để cài đặt:

sudo apt install -y postgresql postgresql-client
sudo -u postgres psql -c “CREATE USER odoo16 WITH PASSWORD ‘odoo16’;”
sudo -u postgres psql -c “ALTER USER odoo16 CREATEDB;”

Lưu ý: Thay thế ‘odoo16’ bằng mật khẩu mạnh của riêng bạn và ghi nhớ nó để sử dụng trong bước cấu hình sau.

Bước 3: 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 phù hợp:

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 -f

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 biệt để chạy Odoo:

sudo useradd -m -d /opt/odoo16 -U -r -s /bin/bash odoo16

Bước 5: Cài đặt Odoo từ nguồn

Chúng ta sẽ cài đặt Odoo từ kho lưu trữ chính thức:

sudo su – odoo16
git clone https://www.github.com/odoo/odoo –depth 1 –branch 16.0 /opt/odoo16/odoo

Tạo môi trường ảo Python:

python3 -m venv odoo-venv
source odoo-venv/bin/activate
pip install wheel
pip install -r odoo/requirements.txt

Bước 6: Cấu hình Odoo

Tạo tệp cấu hình cho Odoo:

nano /opt/odoo16/odoo-custom.conf

Thêm nội dung sau (thay thế mật khẩu PostgreSQL của bạn):

[options]
admin_passwd = admin
db_host = localhost
db_port = 5432
db_user = odoo16
db_password = odoo16
addons_path = /opt/odoo16/odoo/addons,/opt/odoo16/odoo-custom-addons

Bước 7: Tạo dịch vụ systemd

Tạo tệp dịch vụ để quản lý Odoo:

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 /opt/odoo16/odoo-custom.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 8: 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 9: 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 thực tế của máy chủ bạn.

Hướng dẫn cài đặt Odoo trên Windows

Bước 1: Chuẩn bị môi trường

Trước tiên, bạn cần cài đặt các thành phần sau:

Bước 2: Cài đặt các phụ thuộc Python

Mở Command Prompt với quyền admin và chạy:

pip install wheel
pip install -r https://raw.githubusercontent.com/odoo/odoo/16.0/requirements.txt

Bước 3: Tải mã nguồn Odoo

Tạo một thư mục để chứa Odoo, ví dụ C:\Odoo16 và tải mã nguồn:

cd C:\Odoo16
git clone https://www.github.com/odoo/odoo –depth 1 –branch 16.0

Bước 4: Cấu hình PostgreSQL

Mở pgAdmin và tạo một người dùng mới:

  1. Mở pgAdmin (thường được cài đặt cùng với PostgreSQL)
  2. Kết nối đến máy chủ PostgreSQL của bạn
  3. Nhấp chuột phải vào “Login/Group Roles” và chọn “Create” > “Login/Group Role”
  4. Điền thông tin:
    • Name: odoo16
    • Password: [đặt mật khẩu mạnh]
  5. Trong tab “Privileges”, đánh dấu “Can create databases”
  6. Nhấp “Save”

Bước 5: Chạy Odoo

Tạo một tệp cấu hình odoo.conf trong thư mục C:\Odoo16 với nội dung tương tự như phiên bản Linux ở trên.

Sau đó chạy Odoo bằng lệnh:

python odoo\odoo-bin -c odoo.conf

Odoo sẽ khởi động và bạn có thể truy cập tại http://localhost:8069

Cấu hình Odoo sau khi cài đặt

Tạo cơ sở dữ liệu đầu tiên

Khi truy cập Odoo lần đầu, bạn sẽ thấy giao diện tạo cơ sở dữ liệu mới:

  1. Điền tên cơ sở dữ liệu
  2. Chọn ngôn ngữ (Vietnamese)
  3. Chọn quốc gia (Vietnam)
  4. Điền email và mật khẩu quản trị
  5. Chọn các module bạn muốn cài đặt (bạn có thể thêm sau)
  6. Nhấp “Create database”

Cài đặt module bổ sung

Sau khi tạo cơ sở dữ liệu, bạn có thể cài đặt thêm module:

  1. Đăng nhập với tài khoản quản trị
  2. Nhấp vào biểu tượng “Apps” ở góc trên bên trái
  3. Sử dụng thanh tìm kiếm để tìm module bạn cần
  4. Nhấp “Install” cho module bạn muốn

Theo thống kê từ Odoo App Store, có hơn 30.000 module mở rộng có sẵn, bao gồm cả các module miễn phí và trả phí. Các module phổ biến nhất bao gồm:

Module Mô tả Lượt cài đặt (2023)
CRM Quản lý quan hệ khách hàng 1.2 triệu+
Sales Quản lý bán hàng và báo giá 980.000+
Accounting Kế toán và tài chính 850.000+
Inventory Quản lý kho hàng 720.000+
Website Builder Xây dựng website doanh nghiệp 680.000+

Cấu hình email

Để gửi email từ Odoo, bạn cần cấu hình máy chủ SMTP:

  1. Đăng nhập với tài khoản quản trị
  2. Đi đến Settings > General Settings
  3. Cuộn xuống phần “Email”
  4. Nhập thông tin máy chủ SMTP của bạn:
    • Outgoing Mail Server: smtp.yourdomain.com
    • Port: 587 (hoặc 465 cho SSL)
    • Username: email@yourdomain.com
    • Password: [mật khẩu email]
  5. Nhấp “Test Connection” để kiểm tra
  6. Nhấp “Apply” để lưu cấu hình

Tối ưu hóa hiệu suất Odoo

Cấu hình máy chủ

Đối với môi trường sản xuất, bạn nên:

  • Sử dụng máy chủ chuyên dụng với ít nhất 8GB RAM
  • Cấu hình PostgreSQL tối ưu:
    shared_buffers = 2GB
    effective_cache_size = 6GB
    maintenance_work_mem = 512MB
    work_mem = 16MB
    min_wal_size = 1GB
    max_wal_size = 2GB
  • Sử dụng Odoo với nhiều worker:
    [options]
    workers = 4
    limit_time_cpu = 600
    limit_time_real = 1200
    max_cron_threads = 2

Sử dụng CDN và caching

Để cải thiện tốc độ tải trang:

  • Cấu hình Nginx làm reverse proxy
  • Bật caching cho tài nguyên tĩnh
  • Sử dụng CDN như Cloudflare
  • Tối ưu hóa hình ảnh và tài nguyên

Giám sát hệ thống

Cài đặt các công cụ giám sát:

  • Prometheus + Grafana để theo dõi hiệu suất
  • Sentry để theo dõi lỗi
  • Logrotate để quản lý file log

Khắc phục sự cố thường gặp

Lỗi kết nối cơ sở dữ liệu

Nếu gặp lỗi “Connection to the database failed”, hãy kiểm tra:

  • PostgreSQL đang chạy không? (sudo systemctl status postgresql)
  • Thông tin đăng nhập trong tệp cấu hình có chính xác?
  • Tường lửa có chặn cổng 5432?
  • Người dùng PostgreSQL có quyền tạo cơ sở dữ liệu?

Odoo không khởi động được

Kiểm tra log để xác định nguyên nhân:

sudo journalctl -u odoo16 -f

Các lỗi phổ biến bao gồm:

  • Thiếu phụ thuộc Python
  • Phiên bản Python không tương thích
  • Quyền truy cập thư mục không đúng
  • Cấu hình sai trong tệp odoo.conf

Lỗi 500 Internal Server Error

Khi gặp lỗi này:

  1. Kiểm tra log Odoo (/var/log/odoo/odoo-server.log)
  2. Kiểm tra log PostgreSQL (/var/log/postgresql/postgresql-14-main.log)
  3. Tăng giới hạn bộ nhớ trong tệp cấu hình:
    limit_memory_soft = 2147483648
    limit_memory_hard = 2684354560
  4. Khởi động lại dịch vụ Odoo

Nâng cấp Odoo

Nâng cấp phiên bản nhỏ

Đối với các bản vá lỗi và nâng cấp nhỏ:

sudo systemctl stop odoo16
cd /opt/odoo16/odoo
git pull origin 16.0
source /opt/odoo16/odoo-venv/bin/activate
pip install -r requirements.txt
sudo systemctl start odoo16

Nâng cấp phiên bản lớn

Khi nâng cấp từ phiên bản này sang phiên bản khác (ví dụ từ 15.0 lên 16.0):

  1. Sao lưu toàn bộ cơ sở dữ liệu
  2. Cài đặt phiên bản mới song song với phiên bản cũ
  3. Sử dụng công cụ migrate của Odoo
  4. Kiểm tra kỹ lưỡng trước khi chuyển sang môi trường sản xuất

Theo khuyến nghị từ tài liệu chính thức của Odoo, bạn nên:

  • Thực hiện nâng cấp trên bản sao dữ liệu trước
  • Kiểm tra tất cả các module tùy chỉnh
  • Lên kế hoạch nâng cấp vào thời điểm ít hoạt động nhất
  • Thông báo cho người dùng về thời gian gián đoạn

Bảo mật Odoo

Cập nhật thường xuyên

Luôn giữ Odoo và tất cả các phụ thuộc được cập nhật:

sudo apt update && sudo apt upgrade -y
cd /opt/odoo16/odoo
git pull origin 16.0
source /opt/odoo16/odoo-venv/bin/activate
pip install –upgrade -r requirements.txt

Cấu hình HTTPS

Sử dụng Let’s Encrypt để bật HTTPS miễn phí:

sudo apt install certbot python3-certbot-nginx
sudo certbot –nginx -d yourdomain.com

Bảo vệ truy cập quản trị

  • Thay đổi mật khẩu quản trị mặc định
  • Hạn chế truy cập IP vào trang quản trị
  • Bật xác thực hai yếu tố
  • Thường xuyên kiểm tra hoạt động đăng nhập đáng ngờ

Sao lưu tự động

Thiết lập sao lưu tự động cho cơ sở dữ liệu:

0 3 * * * sudo -u postgres pg_dump -Fc odoo_prod -f /backups/odoo_prod_$(date +\%Y-\%m-\%d).dump

Và sao lưu toàn bộ thư mục Odoo:

0 4 * * * tar -czf /backups/odoo_full_$(date +\%Y-\%m-\%d).tar.gz /opt/odoo16

Tích hợp Odoo với các hệ thống khác

Tích hợp với WooCommerce

Sử dụng module WooCommerce Connector để đồng bộ:

  • Sản phẩm
  • Đơn hàng
  • Khách hàng
  • Mức tồn kho

Tích hợp với Shopify

Module Shopify Connector cho phép:

  • Đồng bộ sản phẩm hai chiều
  • Cập nhật đơn hàng tự động
  • Quản lý tồn kho thống nhất
  • Đồng bộ khách hàng

Tích hợp với các hệ thống ERP khác

Odoo cung cấp API RESTful mạnh mẽ để tích hợp với:

  • SAP
  • Oracle
  • Microsoft Dynamics
  • Các hệ thống legacy

Ví dụ về gọi API để lấy danh sách khách hàng:

import requests
import json

url = “http://your_odoo_server:8069”
db = “your_db_name”
username = “admin”
password = “your_password”

# Xác thực
auth_url = f”{url}/web/session/authenticate”
auth_data = {
‘db’: db,
‘login’: username,
‘password’: password,
‘jsonrpc’: ‘2.0’,
‘params’: {}
}
auth_response = requests.post(auth_url, json=auth_data)
session_id = auth_response.cookies[‘session_id’]

# Lấy danh sách khách hàng
customers_url = f”{url}/jsonrpc”
headers = {‘Content-Type’: ‘application/json’, ‘Cookie’: f’session_id={session_id}’}
payload = {
“jsonrpc”: “2.0”,
“method”: “call”,
“params”: {
“service”: “object”,
“method”: “execute”,
“args”: [db, 1, password, “res.partner”, “search_read”, [], {“fields”: [“name”, “email”, “phone”]}]
}
}
response = requests.post(customers_url, headers=headers, json=payload)
customers = response.json()[‘result’]
print(json.dumps(customers, indent=2))

Phát triển module tùy chỉnh cho Odoo

Cấu trúc module cơ bản

Một module Odoo cơ bản có cấu trúc như sau:

my_custom_module/
├── __init__.py
├── __manifest__.py
├── controllers/
│ ├── __init__.py
│ └── controllers.py
├── models/
│ ├── __init__.py
│ └── models.py
├── security/
│ └── ir.model.access.csv
└── views/
└── views.xml

Tệp manifest (__manifest__.py)

Tệp này định nghĩa metadata của module:

{
‘name’: ‘My Custom Module’,
‘version’: ‘16.0.1.0.0’,
‘summary’: ‘Module tùy chỉnh của tôi’,
‘description’: “””
Mô tả chi tiết về module
“””,
‘author’: ‘Your Name’,
‘website’: ‘https://yourwebsite.com’,
‘category’: ‘Tools’,
‘depends’: [‘base’, ‘sale’],
‘data’: [
‘security/ir.model.access.csv’,
‘views/views.xml’,
],
‘installable’: True,
‘application’: True,
‘auto_install’: False,
}

Tạo model tùy chỉnh

Ví dụ về model đơn giản trong models/models.py:

from odoo import models, fields, api

class CustomModel(models.Model):
_name = ‘custom.model’
_description = ‘Model tùy chỉnh của tôi’

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)

Tạo view tùy chỉnh

Ví dụ về view trong views/views.xml:

<odoo>
<record id=”view_custom_model_tree” model=”ir.ui.view”>
<field name=”name”>custom.model.tree</field>
<field name=”model”>custom.model</field>
<field name=”arch” type=”xml”>
<tree>
<field name=”name”/>
<field name=”description”/>
<field name=”active”/>
<field name=”date_created”/>
</tree>
</field>
</record>

<record id=”view_custom_model_form” model=”ir.ui.view”>
<field name=”name”>custom.model.form</field>
<field name=”model”>custom.model</field>
<field name=”arch” type=”xml”>
<form>
<sheet>
<group>
<field name=”name”/>
<field name=”description”/>
<field name=”active”/>
</group>
</sheet>
</form>
</field>
</record>

<menuitem id=”menu_custom_root” name=”Tùy chỉnh”/>
<menuitem id=”menu_custom_model” name=”Model tùy chỉnh” parent=”menu_custom_root” action=”action_custom_model”/>

<record id=”action_custom_model” model=”ir.actions.act_window”>
<field name=”name”>Model tùy chỉnh</field>
<field name=”res_model”>custom.model</field>
<field name=”view_mode”>tree,form</field>
</record>
</odoo>

Cài đặt module tùy chỉnh

Để cài đặt module tùy chỉnh:

  1. Đặt thư mục module vào đường dẫn addons (được định nghĩa trong addons_path)
  2. Cập nhật danh sách module trong Odoo (Settings > Update Apps List)
  3. Tìm module của bạn và nhấp “Install”

Di chuyển Odoo sang máy chủ mới

Sao lưu dữ liệu

Trên máy chủ cũ:

sudo -u postgres pg_dump -Fc odoo_prod -f odoo_prod.dump
tar -czf odoo_filestore.tar.gz /opt/odoo16/.local/share/Odoo/filestore/

Khôi phục trên máy chủ mới

Trên máy chủ mới:

  1. Cài đặt Odoo với phiên bản tương tự
  2. Khôi phục cơ sở dữ liệu:
    sudo -u postgres createdb odoo_prod
    sudo -u postgres pg_restore -d odoo_prod odoo_prod.dump
  3. Khôi phục filestore:
    mkdir -p /opt/odoo16/.local/share/Odoo/filestore/
    tar -xzf odoo_filestore.tar.gz -C /opt/odoo16/.local/share/Odoo/filestore/
  4. Khởi động lại dịch vụ Odoo

Cập nhật cấu hình

Đảm bảo:

  • Tệp cấu hình Odoo trỏ đến đường dẫn filestore đúng
  • Thông tin kết nối cơ sở dữ liệu chính xác
  • Cấu hình mạng (IP, domain) được cập nhật

So sánh Odoo với các giải pháp khác

Tính năng Odoo SAP Oracle NetSuite Microsoft Dynamics
Mã nguồn mở ✅ Có (Community) ❌ Không ❌ Không ❌ Không
Chi phí ban đầu $0 (Community) $50,000+ $20,000+ $15,000+
Tùy biến ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐
Đám mây/On-premise ✅ Cả hai ✅ Cả hai ✅ Cả hai ✅ Cả hai
Số module tích hợp 30,000+ Limited 1,000+ 1,500+
Hỗ trợ đa ngôn ngữ ✅ 80+ ngôn ngữ ✅ Nhiều ngôn ngữ ✅ Nhiều ngôn ngữ ✅ Nhiều ngôn ngữ
Cộng đồng phát triển ⭐⭐⭐⭐⭐ (rất lớn) ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐

Theo báo cáo từ Gartner, Odoo được đánh giá cao về tính linh hoạt và chi phí hợp lý, đặc biệt phù hợp với các doanh nghiệp vừa và nhỏ. Các doanh nghiệp lớn hơn thường ưa chuộng SAP hoặc Oracle NetSuite vì khả năng mở rộng và hỗ trợ chuyên sâu.

Tài nguyên học tập Odoo

Tài liệu chính thức

Khóa học trực tuyến

Cộng đồng và diễn đàn

Sách tham khảo

  • “Odoo 16 Development Essentials” – Daniel Reis
  • “Working with Odoo” – Greg Moss
  • “Odoo Development Cookbook” – Daniel Reis

Kết luận

Việc cài đặt Odoo trên máy tính cá nhân hoặc máy chủ doanh nghiệp mở ra nhiều cơ hội để tối ưu hóa quy trình quản lý. Với hướng dẫn chi tiết trong bài viết này, bạn đã có thể:

  • Hiểu rõ yêu cầu hệ thống cho Odoo
  • Cài đặt Odoo trên cả Ubuntu và Windows
  • Cấu hình và tối ưu hóa hệ thống
  • Khắc phục các sự cố phổ biến
  • Phát triển module tùy chỉnh
  • Tích hợp với các hệ thống khác

Odoo không chỉ là một phần mềm ERP mà còn là một nền tảng có thể mở rộng để đáp ứng mọi nhu cầu kinh doanh. Với cộng đồng phát triển lớn mạnh và hệ sinh thái module phong phú, Odoo là lựa chọn hàng đầu cho cả doanh nghiệp nhỏ và lớn.

Để bắt đầu, hãy sử dụng máy tính cấu hình ở đầu bài viết để ước tính nhu cầu hệ thống của bạn, sau đó làm theo hướng dẫn cài đặt phù hợp với hệ điều hành bạn chọn. Chúc bạn thành công với hệ thống Odoo của mình!

Leave a Reply

Your email address will not be published. Required fields are marked *