Cách cài đặt phần mềm Odoo 16 ERP trên Debian 12

theanh

Administrator
Nhân viên
Odoo (trước đây gọi là OpenERP) là một bộ tự lưu trữ gồm hơn 10.000 ứng dụng nguồn mở phù hợp với nhiều nhu cầu kinh doanh khác nhau, bao gồm CRM, thương mại điện tử, kế toán, kiểm kê, quản lý dự án và điểm bán hàng. Các ứng dụng này được tích hợp đầy đủ và truy cập thông qua một giao diện web chung.

Hướng dẫn này sẽ chỉ cách cài đặt Odoo 16 trên máy chủ Debian 12.

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


  1. Một máy chủ chạy Debian 12 có RAM tối thiểu 2GB để lưu trữ Odoo Stack.

  2. Một máy chủ chạy Debian 12 thứ hai có RAM tối thiểu 2GB để lưu trữ cơ sở dữ liệu PostgreSQL. Tuy nhiên, bạn có thể cài đặt cơ sở dữ liệu trên cùng một máy chủ với Odoo nhưng đối với môi trường sản xuất, chúng tôi khuyên bạn nên cài đặt trên một máy chủ riêng. Bạn cũng có thể chọn bất kỳ tùy chọn cơ sở dữ liệu được quản lý nào có sẵn từ bất kỳ nhà cung cấp nào bạn chọn.

  3. Yêu cầu về RAM sẽ phụ thuộc vào số lượng người dùng đồng thời sẽ sử dụng ngăn xếp. Hướng dẫn chi tiết về cách tính toán yêu cầu hệ thống có thể được tìm thấy trong tài liệu của Odoo.

  4. Luôn cập nhật hệ thống của bạn.
    Mã:
    $ sudo apt update
    $ sudo apt upgrade

  5. Người dùng không phải root có quyền sudo trên cả hai máy chủ.

  6. Một số gói mà hệ thống của bạn cần.
    Mã:
    $ sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release debian-archive-keyring unzip -y
    Một số gói này có thể đã được cài đặt trên hệ thống của bạn.

Bước 1 - Cấu hình quy tắc Tường lửa​

Đối với mục đích của hướng dẫn này, chúng tôi sẽ giả sử bạn đã cài đặt tường lửa ufw trên cả hai máy chủ.

Kiểm tra trạng thái của tường lửa.
Mã:
$ sudo ufw status
Bạn sẽ thấy nội dung tương tự như sau đây.
Mã:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Trên máy chủ Odoo, chúng ta sẽ cần các cổng 22, 80, 443, 6010, 5432 và 8069 được mở. 22 được sử dụng cho SSH, 80 cho HTTP, 443 cho HTTPS, 6010 được sử dụng cho giao tiếp Odoo, 5432 được sử dụng bởi PostgreSQL và 8069 được sử dụng cho ứng dụng máy chủ Odoo.

Chạy các lệnh sau để mở các cổng cần thiết trên máy chủ Odoo.
Mã:
$ sudo ufw allow 6010,5432,8069,8072/tcp
$ sudo ufw allow http
$ sudo ufw allow https
Kiểm tra trạng thái của tường lửa.
Mã:
$ sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443 ALLOW Anywhere
5432,6010,8069,8072/tcp ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
5432,6010,8069,8072/tcp (v6) ALLOW Anywhere (v6)
Trên máy chủ PostgreSQL, chúng ta cần mở các cổng 22, 6010 và 5432. Mở chúng bằng các lệnh sau.
Mã:
$ sudo ufw allow 6010/tcp
$ sudo ufw allow 5432/tcp

Bước 2 - Gán tên máy chủ​

Bạn có thể sử dụng địa chỉ IP của máy chủ hoặc sử dụng Tên miền đủ điều kiện của chúng Tên (FQDN), nếu có. Đối với hướng dẫn của chúng tôi, chúng tôi sẽ sử dụng FQDN và để làm được điều đó, chúng tôi cần đặt tên máy chủ trên cả hai máy chủ.

Trên máy chủ Odoo, hãy mở tệp /etc/hosts.
Mã:
$ sudo nano /etc/hosts
Đảm bảo rằng nó trông giống như sau.
Mã:
127.0.0.1	localhost
127.0.0.1	odoo.yourdomain.com	odoo
10.1.1.10	postgresql.yourdomain.com	postgresql
Trên máy chủ PostgreSQL, hãy mở tệp và đảm bảo tệp trông giống như sau.
Mã:
127.0.0.1	localhost
127.0.0.1	postgresql.yourdomain.com	postgresql
10.1.2.10	odoo.yourdomain.com	odoo
Nhấn Ctrl + X để đóng trình soạn thảo và nhấn Y khi được nhắc lưu tệp.

Bước 3 - Cài đặt và Cấu hình PostgreSQL​

Debian 12 đi kèm với PostgreSQL 15 theo mặc định và chúng tôi sẽ cài đặt nó. Chạy lệnh sau trên máy chủ PostgreSQL.
Mã:
$ sudo apt install postgresql-15 postgresql-server-dev-15
Tiếp theo, chúng ta cần tạo một người dùng cơ sở dữ liệu odoo. Bạn sẽ được yêu cầu nhập mật khẩu cho vai trò này. Nhập mật khẩu mạnh theo lựa chọn của bạn.
Mã:
$ sudo -u postgres createuser odoo -U postgres -dP
Tùy chọn -u thực thi lệnh như postgres người dùng.

Tùy chọn -U chỉ ra tên người dùng để kết nối.

Tùy chọn -d cấp cho người dùng quyền tạo cơ sở dữ liệu.

Tùy chọn -p nhắc nhập mật khẩu người dùng mới.

Cấu hình Xác thực dựa trên máy chủ​

Chúng ta cần cấp quyền cho dịch vụ PostgreSQL để có thể kết nối với máy chủ Odoo.

Đầu tiên, hãy dừng PostgreSQL dịch vụ.
Mã:
$ sudo systemctl stop postgresql
Mở tệp /etc/postgresql/15/main/pg_hba.conf để chỉnh sửa.
Mã:
$ sudo nano /etc/postgresql/15/main/pg_hba.conf
Dán dòng sau vào cuối.
Mã:
host	all	odoo	odoo.yourdomain.com	md5
Dòng này cấp quyền cho odoo cho phép người dùng kết nối với tất cả cơ sở dữ liệu trong máy chủ này. Bạn cũng có thể chỉ định tên của cơ sở dữ liệu thay vì sử dụng từ khóa all.

Nhấn Ctrl + X để đóng trình soạn thảo và nhấn Y khi được nhắc lưu tệp.

Cấu hình địa chỉ lắng nghe PostgreSQL​

Tiếp theo, chúng ta cần cho phép máy chủ cơ sở dữ liệu lắng nghe các kết nối từ xa. Mở tệp /etc/postgresql/15/main/postgresql.conf để chỉnh sửa.
Mã:
$ sudo nano /etc/postgresql/15/main/postgresql.conf
Thay đổi dòng từ
Mã:
#listen_addresses = 'localhost' # what IP address(es) to listen on;
đến.
Mã:
#From CONNECTIONS AND AUTHENTICATION Section
listen_addresses = '*'
Các * có nghĩa là nó sẽ lắng nghe tất cả các địa chỉ IP. Bạn có thể thay đổi nó thành địa chỉ IP của phiên bản odoo của bạn.

Nhấn Ctrl + X để đóng trình soạn thảo và nhấn Y khi được nhắc lưu tệp.

Kích hoạt và khởi động dịch vụ PostgreSQL​

Vì cấu hình của chúng ta đã hoàn tất, đã đến lúc khởi động và kích hoạt dịch vụ PostgreSQL.
Mã:
$ sudo systemctl enable postgresql --now

Bước 4 - Cài đặt Odoo​

Cài đặt các phụ thuộc và Chuẩn bị cho cài đặt​

Tạo người dùng hệ thống mới để quản lý các quy trình Odoo trên máy chủ Odoo.
Mã:
$ sudo adduser --system --home=/opt/odoo --group odoo
Cài đặt các phụ thuộc hệ thống cần thiết để thiết lập Odoo 16.
Mã:
$ sudo apt install python3-pip python3-suds python3-all-dev python3-venv python3-dev python3-setuptools python3-tk libxml2-dev libxslt1-dev libevent-dev libsasl2-dev libldap2-dev pkg-config libtiff5-dev libjpeg62-turbo-dev libjpeg-dev zlib1g-dev libfreetype6-dev liblcms2-dev liblcms2-utils libwebp-dev tcl8.6-dev tk8.6-dev libyaml-dev xfonts-75dpi libpq-dev git libzip-dev libopenjp2-7-dev
Cài đặt Nodejs. Debian 12 đi kèm với Node 18.x, đây là phiên bản LTS hiện tại của Nodejs. Tuy nhiên, chúng tôi sẽ sử dụng kho lưu trữ Nodesource chính thức cho mục đích này.

Tải xuống và nhập khóa GPG Nodesource.
Mã:
$ sudo apt-get install -y ca-certificates curl gnupg
$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
Tạo kho lưu trữ hệ thống.
Mã:
$ NODE_MAJOR=18
$ echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
Cập nhật kho lưu trữ hệ thống danh sách.
Mã:
$ sudo apt update
Cài đặt Nodejs.
Mã:
$ sudo apt install nodejs
Xác nhận Node phiên bản.
Mã:
$ node --version
v18.17.1
Cài đặt gói Less CSS bằng Node. Nếu bạn đang sử dụng ngôn ngữ có giao diện từ phải sang trái, hãy cài đặt gói rtlcss.
Mã:
$ sudo npm install -g less rtlcss
Cài đặt . Nó có sẵn dưới dạng gói hệ thống Debian.
Mã:
$ sudo apt install wkhtmltopdf
Kiểm tra phiên bản của wkhtmltopdf đã cài đặt.
Mã:
$ wkhtmltopdf --version
wkhtmltopdf 0.12.6

Tải xuống tệp Odoo​

Sao chép kho lưu trữ Github của Odoo vào hệ thống của bạn.
Mã:
$ sudo git clone https://github.com/odoo/odoo.git --depth 1 --branch 16.0 --single-branch /opt/odoo
Với mục đích của chúng tôi, chúng tôi đang sao chép Odoo vào /opt/odoo thư mục nơi nó sẽ được cài đặt.

Thiết lập Môi trường Python Virtualenv​

Bước này là tùy chọn nhưng được khuyến nghị vì môi trường Python ảo cho Odoo sẽ giúp tránh xung đột với các mô-đun Python của Hệ điều hành, đặc biệt là khi thực hiện nâng cấp hệ điều hành.

Đối với điều này, chúng tôi sẽ sử dụng virtualenv.

  1. Tạo một virtualenv môi trường cho Odoo.
    Mã:
    $ python3 -m venv /home//odoo-env

  2. Kích hoạt môi trường ảo. Chúng tôi đang tạo một môi trường trong thư mục gốc của người dùng hệ thống. Bạn có thể tự do lựa chọn bất kỳ vị trí nào bạn thích.
    Mã:
    $ source /home//odoo-env/bin/activate

  3. Cập nhật PIP để phòng ngừa.
    Mã:
    (odoo-env) $ pip3 install --upgrade pip

  4. Cài đặt bánh xe Python trong máy ảo môi trường.
    Mã:
    $ pip3 install wheel

Cài đặt Python Dependencies​

Cài đặt Python dependency theo yêu cầu của Odoo 16.
Mã:
$ pip3 install -r /opt/odoo/requirements.txt
Các yêu cầu sẽ mất một thời gian để cài đặt nên hãy kiên nhẫn.

Kiểm tra xem các yêu cầu đã được cài đặt đúng chưa bằng cách kiểm tra danh sách Python đã cài đặt mô-đun.
Mã:
$ pip3 list
Package Version
----------------- ---------
appdirs 1.4.4
attrs 23.1.0
Babel 2.9.1
beautifulsoup4 4.12.2
cached-property 1.5.2
certifi 2023.7.22
cffi 1.15.1
chardet 4.0.0
cryptography 3.4.8
decorator 4.4.2
defusedxml 0.7.1
docopt 0.6.2
docutils 0.16
ebaysdk 2.1.5
freezegun 0.3.15
gevent 22.10.2
greenlet 2.0.2
idna 2.10
isodate 0.6.1
Jinja2 3.1.2
libsass 0.20.1
lxml 4.9.2
MarkupSafe 2.1.2
num2words 0.5.9
ofxparse 0.21
passlib 1.7.4
Pillow 9.4.0
pip 23.2.1
polib 1.1.0
psutil 5.9.4
psycopg2 2.9.5
pyasn1 0.5.0
pyasn1-modules 0.3.0
pycparser 2.21
pydot 1.4.2
pyOpenSSL 20.0.1
pyparsing 3.1.1
PyPDF2 2.12.1
pyserial 3.5
python-dateutil 2.8.1
python-ldap 3.4.0
python-stdnum 1.16
pytz 2023.3
pyusb 1.2.1
qrcode 6.1
reportlab 3.6.12
requests 2.25.1
requests-file 1.5.1
requests-toolbelt 1.0.0
setuptools 66.1.1
six 1.16.0
soupsieve 2.5
urllib3 1.26.5
vobject 0.9.6.1
Werkzeug 2.0.2
wheel 0.41.2
xlrd 1.2.0
XlsxWriter 1.1.2
xlwt 1.3.0
zeep 4.0.0
zope.event 5.0
zope.interface 6.0
Thoát khỏi môi trường ảo Python.
Mã:
$ deactivate

Cài đặt các gói Python​

Odoo 16 yêu cầu thêm một số gói Python được liệt kê trong Tệp /opt/odoo/debian/control. Chuyển đến thư mục /opt/odoo.
Mã:
$ cd /opt/odoo
Chạy lệnh sau để cài đặt Python cần thiết gói.
Mã:
$ sed -n -e '/^Depends:/,/^Pre/ s/ python3-\(.*\),/python3-\1/p' debian/control | sudo xargs apt-get install -y

Bước 5 - Cấu hình Odoo​

Sao chép tệp cấu hình Odoo mặc định để tạo tệp mới.
Mã:
$ sudo cp /opt/odoo/debian/odoo.conf /etc/odoo-server.conf
Mở tệp để chỉnh sửa.
Mã:
$ sudo nano /etc/odoo-server.conf
Chỉnh sửa tệp để trông giống như sau.
Mã:
[options]
; This is the password that allows database operations:
admin_passwd = admin
db_host = postgresql.yourdomain.com
db_port = False
db_user = odoo
db_password = odoo_password
addons_path = /opt/odoo/addons
xmlrpc_port = 8069
default_productivity_apps = True
Nhấn Ctrl + X để đóng trình chỉnh sửa và nhấn Y khi được nhắc lưu tệp.

Tùy chọn admin_passwd là mật khẩu cho phép thực hiện các thao tác quản trị trong GUI của Odoo. Hãy chắc chắn chọn một mật khẩu an toàn.

Tùy chọn db_host là FQDN hoặc địa chỉ IP của máy chủ PostgreSQL.

Tùy chọn db_port được đặt thành false vì cổng PostgreSQL mặc định 5432 đang được sử dụng. Nếu bạn muốn sử dụng một cổng khác, bạn sẽ cần cập nhật giá trị này.

Tùy chọn db_user là tên của người dùng PostgreSQL.

Tùy chọn db_password là mật khẩu người dùng PostgreSQL 'odoo' mà chúng ta đã tạo trước đó trên máy chủ PostgreSQL.

Tùy chọn addons_path là đường dẫn Addons mặc định. Bạn cũng có thể thêm đường dẫn tùy chỉnh cho Addons để phân tách chúng bằng dấu phẩy.

Tùy chọn xmlrpc_port là cổng mà Odoo lắng nghe.

Tùy chọn default_productivity_apps đảm bảo các ứng dụng năng suất mặc định (cụ thể là Employees, Email Marketing, Project và Surveys) vẫn được bật. Bốn ứng dụng này là mặc định trên Odoo Community Edition. Trên phiên bản Enterprise, có các ứng dụng năng suất bổ sung có thể được bật theo mặc định là Appointments, Knowledge, Planning và Sign.

Tạo dịch vụ Odoo​

Để đảm bảo Odoo tiếp tục chạy ngay cả sau khi hệ thống khởi động lại, chúng ta cần tạo một dịch vụ cho dịch vụ đó.

Tạo tệp /lib/systemd/system/odoo-server.service và mở tệp đó để chỉnh sửa.
Mã:
$ sudo nano /lib/systemd/system/odoo-server.service
Dán mã sau vào đó.
Mã:
[Unit]
Description=Odoo Open Source ERP and CRM
After=network.target
[Service]
Type=simple
SyslogIdentifier=odoo-server
User=odoo
Group=odoo
ExecStart=python3 /opt/odoo/odoo-bin --config=/etc/odoo-server.conf --addons-path=/opt/odoo/addons/ --logfile /var/log/odoo/odoo-server.log
WorkingDirectory=/opt/odoo/
StandardOutput=journal+console
KillMode=mixed
[Install]
WantedBy=multi-user.target
Thay thế /home/ bằng vị trí bạn đã chọn để cài đặt Python Virtual Environment.

Nhấn Ctrl + X để đóng trình soạn thảo và nhấn Y khi được nhắc lưu tệp.

Tạo thư mục Nhật ký cho Odoo​

Mã:
$ sudo mkdir /var/log/odoo

Thiết lập quyền cho tệp​

Thiết lập quyền cho tệp odoo-server.service để chỉ người dùng Odoo mới có thể đọc hoặc thực thi nó.
Mã:
$ sudo chmod 755 /lib/systemd/system/odoo-server.service
$ sudo chown odoo: /lib/systemd/system/odoo-server.service
Đặt quyền sở hữu cho môi trường Python, cài đặt Odoo và thư mục nhật ký.
Mã:
$ sudo chown -R odoo: /opt/odoo/
$ sudo chown -R odoo: /home//odoo-env
$ sudo chown -R odoo: /var/log/odoo
Hạn chế cấu hình Odoo tập tin.
Mã:
$ sudo chown odoo: /etc/odoo-server.conf
$ sudo chmod 640 /etc/odoo-server.conf

Khởi động máy chủ Odoo​

Khởi động và kích hoạt máy chủ Odoo.
Mã:
$ sudo systemctl start odoo-server
$ sudo systemctl enable odoo-server
Kiểm tra trạng thái của máy chủ.
Mã:
$ sudo systemctl status odoo-server
? odoo-server.service - Odoo Open Source ERP and CRM Loaded: loaded (/lib/systemd/system/odoo-server.service; enabled; preset: enabled) Active: active (running) since Mon 2023-09-04 14:19:38 UTC; 27s ago Main PID: 8954 (python3) Tasks: 4 (limit: 2315) Memory: 131.1M CPU: 1.625s CGroup: /system.slice/odoo-server.service ??8954 python3 /opt/odoo/odoo-bin --config=/etc/odoo-server.conf --addons-path=/opt/odoo/addons/ --logfile /var/log/odoo/odoo-server.log
Sep 04 14:19:38 odoo systemd[1]: Started odoo-server.service - Odoo Open Source ERP and CRM.
Trong trình duyệt của bạn, hãy mở URL http://:8069 hoặc http://odoo.yourdomain.com:8069. Nếu mọi thứ hoạt động bình thường, bạn sẽ thấy màn hình tạo cơ sở dữ liệu của Odoo.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22707%22%20height=%22621%22%3E%3C/svg%3E


Điền vào tất cả các trường. Kiểm tra trường Demo Data để điền dữ liệu mẫu vào cơ sở dữ liệu, sau đó nhấp vào nút Tạo cơ sở dữ liệu.

Tiếp theo, bạn sẽ thấy danh sách các ứng dụng mà bạn có thể chọn.

Lần đầu tiên bạn tạo cơ sở dữ liệu, trang tiện ích bổ sung sẽ mất một thời gian để tải, vì vậy đừng làm mới trang.

Bước 6 - Cài đặt và cấu hình Nginx​

Debian 12 đi kèm với phiên bản Nginx cũ hơn. Để cài đặt phiên bản mới nhất, bạn cần tải xuống kho lưu trữ Nginx chính thức.

Nhập khóa ký của Nginx.
Mã:
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \ | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
Thêm kho lưu trữ cho phiên bản ổn định của Nginx.
Mã:
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/debian `lsb_release -cs` nginx" \ | sudo tee /etc/apt/sources.list.d/nginx.list
Cập nhật hệ thống kho lưu trữ.
Mã:
$ sudo apt update
Cài đặt Nginx.
Mã:
$ sudo apt install nginx
Xác minh cài đặt. Trên hệ thống Debian, lệnh sau chỉ hoạt động với sudo.
Mã:
$ sudo nginx -v
nginx version: nginx/1.24.0
Khởi động Nginx.
Mã:
$ sudo systemctl start nginx
Kiểm tra trạng thái dịch vụ.
Mã:
$ sudo systemctl status nginx
? nginx.service - nginx - high performance web server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled) Active: active (running) since Tue 2023-09-05 06:29:17 UTC; 1s ago Docs: https://nginx.org/en/docs/ Process: 13958 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS) Main PID: 13959 (nginx) Tasks: 2 (limit: 2315) Memory: 1.7M CPU: 10ms CGroup: /system.slice/nginx.service ??13959 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf" ??13960 "nginx: worker process"

Bước 7 - Cài đặt SSL​

Chúng ta cần cài đặt Certbot để tạo chứng chỉ SSL miễn phí do Let's Encrypt cung cấp.

Bạn có thể cài đặt Certbot bằng kho lưu trữ của Debian hoặc tải phiên bản mới nhất bằng cách sử dụng Công cụ Snapd. Chúng tôi sẽ sử dụng phiên bản Snapd.

Debian 12 không đi kèm Snapd đã cài đặt. Cài đặt gói Snapd.
Mã:
$ sudo apt install snapd
Chạy các lệnh sau để đảm bảo phiên bản Snapd của bạn được cập nhật.
Mã:
$ sudo snap install core
$ sudo snap refresh core
Cài đặt Certbot.
Mã:
$ sudo snap install --classic certbot
Sử dụng lệnh sau để đảm bảo lệnh Certbot có thể chạy được bằng cách tạo liên kết tượng trưng đến /usr/bin thư mục.
Mã:
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Xác minh xem Certbot có hoạt động bình thường không.
Mã:
$ certbot --version
certbot 2.6.0
Tạo chứng chỉ. Chúng ta cũng cần tạo chứng chỉ DHParams.
Mã:
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [emailprotected] -d odoo.yourdomain.com
Tạo chứng chỉ trao đổi khóa Diffie-Hellman.
Mã:
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Kiểm tra trình lập lịch gia hạn Certbot dịch vụ.
Mã:
$ sudo systemctl list-timers
Bạn sẽ thấy snap.certbot.renew.service là một trong những dịch vụ được lên lịch chạy.
Mã:
NEXT LEFT LAST PASSED UNIT ACTIVATES
.....
Sun 2023-02-26 06:32:00 UTC 9h left Sat 2023-02-25 18:04:05 UTC 2h 59min ago snap.certbot.renew.timer snap.certbot.renew.service
Sun 2023-02-26 06:43:20 UTC 9h left Sat 2023-02-25 10:49:23 UTC 10h ago apt-daily-upgrade.timer apt-daily-upgrade.service
Sun 2023-02-26 09:00:06 UTC 11h left Sat 2023-02-25 20:58:06 UTC 5min ago apt-daily.timer apt-daily.service
Thực hiện chạy thử quy trình để kiểm tra xem quá trình gia hạn SSL có hoạt động tốt không.
Mã:
$ sudo certbot renew --dry-run
Nếu không thấy lỗi, bạn đã hoàn tất. Chứng chỉ của bạn sẽ tự động gia hạn.

Bước 8 - Cấu hình Nginx​

Để chạy qua Nginx, chúng ta cần chạy Odoo trên máy chủ cục bộ. Để thay đổi điều đó, hãy dừng dịch vụ Odoo.
Mã:
$ sudo systemctl stop odoo-server
Mở tệp cấu hình máy chủ Odoo.
Mã:
$ sudo nano /etc/odoo-server.conf
Thêm các dòng sau vào nó.
Mã:
xmlrpc_interface = 127.0.0.1
proxy_mode = True
Tạo tệp cấu hình Nginx cho Odoo.
Mã:
$ sudo nano /etc/nginx/conf.d/odoo.conf
Dán mã bên dưới.
Mã:
#odoo server
upstream odoo { server 127.0.0.1:8069;
}
upstream odoochat { server 127.0.0.1:8072;
}
# http -> https
server { listen 80; listen [::]:80; server_name odoo.yourdomain.com; return 301 https://$host$request_uri;
}
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name odoo.yourdomain.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; # Add Headers for odoo proxy mode 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; # SSL parameters ssl_certificate /etc/letsencrypt/live/odoo.yourdomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/odoo.yourdomain.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/odoo.yourdomain.com/chain.pem; ssl_session_timeout 1d; ssl_session_cache shared:MozSSL:10m; # about 40000 sessions ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1; ssl_prefer_server_ciphers off; ssl_stapling on; ssl_stapling_verify on; ssl_dhparam /etc/ssl/certs/dhparam.pem; # log access_log /var/log/nginx/odoo.access.log; error_log /var/log/nginx/odoo.error.log; # Redirect longpoll requests to odoo longpolling port location /longpolling { proxy_pass http://odoochat; } # Redirect requests to odoo backend server location / { proxy_redirect off; proxy_pass http://odoo; } # common gzip gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript; gzip on;
}
Nhấn Ctrl + X để đóng trình soạn thảo và nhấn Y khi được nhắc lưu tệp.

Mở tệp /etc/nginx/nginx.conf để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/nginx.conf
Thêm dòng sau vào trước dòng include /etc/nginx/conf.d/*.conf;.
Mã:
server_names_hash_bucket_size 64;
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Kiểm tra Nginx cấu hình.
Mã:
$ sudo nginx -t
Nếu bạn không thấy lỗi nào, điều đó có nghĩa là bạn có thể tiếp tục. Khởi động lại máy chủ Nginx.
Mã:
$ sudo systemctl restart nginx

Bước 9 - Khởi động Odoo​

Bây giờ mọi thứ đã được thiết lập, chúng ta có thể khởi động lại máy chủ Odoo.
Mã:
$ sudo systemctl start odoo-server
Khởi chạy Odoo trong trình duyệt của bạn thông qua https://odoo.yourdomain.com. Bạn sẽ nhận được màn hình được mô tả trước đó. Nhập các thông tin chi tiết bắt buộc để tạo cơ sở dữ liệu và bạn sẽ được chuyển hướng đến trang đăng nhập Odoo.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22324%22%20height=%22407%22%3E%3C/svg%3E


Nhập thông tin đăng nhập được sử dụng ở bước trước để đăng nhập vào Odoo ERP và bạn sẽ được đưa đến trang bảng điều khiển như hiển thị bên dưới. Trang này sẽ được điền sẵn dữ liệu demo. Nếu bạn chưa kiểm tra tùy chọn dữ liệu demo trên trang tạo cơ sở dữ liệu, bạn sẽ nhận được bảng điều khiển khác và sạch hơn nhiều.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22399%22%3E%3C/svg%3E


Bạn có thể bắt đầu sử dụng Odoo để quản lý doanh nghiệp của mình từ đây.

Kết luận​

Như vậy là kết thúc hướng dẫn cài đặt Odoo trên máy chủ Debian 12. Nếu bạn có bất kỳ câu hỏi nào, hãy đăng chúng trong phần bình luận bên dưới.
 
Back
Bên trên