Giao diện người dùng Odoo 9

Cài đặt Odoo 9 từ mã nguồn lên Máy chủ Ubuntu 22.04

Odoo 9 được phát hành vào Ngày 1, Tháng 10, 2015 và hết hạn sử dụng vào ngày 5 tháng 10 năm 2018 (khi Odoo 12 được phát hành). Nó yêu cầu phiên bản Python 2.7, không có sẵn trên Ubuntu 22.04. Tuy nhiên, có một số lý do để chúng ta cài đặt Odoo 9 trên Ubuntu 22.04:

  • Bạn không có phiên bản Ubuntu cũ hơn hỗ trợ Python 2.7 và các thư viện khác mà Odoo 9 yêu cầu.
  • Bảo trì
  • Nâng cấp lên một phiên bản Odoo cao hơn
  • và các lý do khác (vui lòng cho tôi biết bằng cách để lại bình luận)

Xin lưu ý rằng nếu bạn đang tìm cách cài đặt các phiên bản Odoo khác, bạn có thể đọc các bài liên quan khác của tôi:

Nếu bạn là nhà phát triển Odoo, bạn có thể quan tâm đến Cách thiết lập môi trường phát triển Odoo trên Ubuntu 22.04.

Tóm tắt

Trong bài viết này, tôi sẽ hướng dẫn bạn 6 bước để cài đặt Odoo 9 trên máy chủ Ubuntu 22.04 để đạt được những điều sau:

  1. Mã nguồn của Odoo 9 đặt tại / opt / odoo / odoo9
  2. Nó chạy dưới một tài khoản unix có tên odoo9 thuộc nhóm có tên odoo
  3. Nó có thể kết nối với PostgreSQL cục bộ dưới vai trò có tên odoo9 CÓ THỂ tạo cơ sở dữ liệu.
  4. Sau khi hoàn tất cài đặt, bạn có thể truy cập phiên bản Odoo 9 bằng trình duyệt web của mình
  5. Odoo 9 sẽ sử dụng PostgreSQL 9.6 hoặc PostgreSQL 10 để lưu trữ dữ liệu.

Bước1 - Tạo tài khoản người dùng để chạy Odoo

Để bảo mật, chúng ta nên chạy Odoo dưới một người dùng Linux riêng biệt có các thông số kỹ thuật sau:

  • Tài khoản người dùng sẽ được đặt tên odoo9;
  • Tài khoản người dùng sẽ không thể đăng nhập vì mục đích bảo mật;
  • Tài khoản người dùng phải là tài khoản hệ thống mà dưới đó daemon và các quy trình tự động khác chạy;
  • Một thư mục chính chuyên dụng để lưu trữ dữ liệu và các addon Odoo tùy chỉnh. Đó là một thực tiễn tốt để làm cho nó theo /home/ danh mục;
  • Tài khoản người dùng phải thuộc nhóm có quyền truy cập vào mã nguồn Odoo 9 (ví dụ: odoo);

Chạy lệnh sau để tạo nhóm odoo:

sudo addgroup odoo

Chạy lệnh sau để tạo tài khoản odoo9 và thêm nó vào nhóm odoo:

sudo adduser odoo9 --system \
--home=/home/odoo9 --disabled-login \
--disabled-password --ingroup odoo

Bước 2 - Cài đặt Python 2.7

Mặc dù Python 2.7 đã bị loại bỏ kể từ Ubuntu 20.04, chúng tôi vẫn có thể cài đặt nó bằng cách làm theo hướng dẫn của tôi về cách cài đặt Python 2.7 trên Ubuntu 22.04.

Sau đó, chúng tôi sẽ tạo một môi trường ảo cho Odoo 9 để chúng tôi có thể cách ly nó với những người khác để không phá vỡ những thứ hiện có. Hãy chắc chắn rằng bạn đã cài đặt virtualenv dành cho Python 2.7.

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

Tạo thư mục mẹ cho môi trường ảo của Odoo 9

sudo mkdir -p /python-venv/2.7/odoo9

Đặt quyền truy cập thích hợp cho nhóm odoo và tài khoản odoo9:

sudo chown -hR odoo9: /python-venv/2.7/odoo9

Chuyển tài khoản sang bash của odoo9

sudo su - odoo9 -s /bin/bash

Tạo một môi trường ảo và đặt tên là odoo9

virtualenv /python-venv/2.7/odoo9

Bây giờ, hãy thoát odoo9 để quay lại tài khoản người dùng trước đó.

exit

Bước 3 - Tải xuống mã nguồn Odoo 9 từ GitHub

Như đã nói trong phần Tóm tắt điều hành, chúng tôi sẽ lưu trữ mã nguồn Odoo 9 trong /opt/odoo/odoo9.

sudo mkdir /opt/odoo

Cấp quyền truy cập cho các tài khoản người dùng trong nhóm odoo để đọc mã nguồn Odoo:

sudo chown root:odoo /opt/odoo

Để tải xuống mã nguồn của Odoo 9 từ GitHub, chỉ cần chạy lệnh bên dưới để tải xuống mã nguồn Odoo 9 qua HTTP:

git clone -b 9.0 https://github.com/odoo/odoo.git /opt/odoo/odoo9

Hoặc, bạn có thể sao chép kho lưu trữ từ GitHub qua SSH để có hiệu suất và bảo mật tốt hơn bằng cách sử dụng lệnh sau:

git clone -b 9.0 git@github.com:odoo/odoo.git /opt/odoo/odoo9

Tùy thuộc vào tốc độ kết nối internet của bạn, quá trình này có thể mất vài phút hoặc hơn. Xin hãy kiên nhẫn!

Sau khi quá trình hoàn tất, bạn sẽ tìm thấy mã nguồn Odoo 9 trong thư mục /opt/odoo/odoo9/.

Bây giờ, hãy bảo mật mã nguồn của bạn để chỉ cho phép những người dùng của nhóm odoo để đọc nó.

sudo chown -hR root:odoo /opt/odoo/odoo9

Bước 4 - Cài đặt PostgreSQL cho Odoo 9

Tôi chưa được thử nghiệm Odoo 9 với phiên bản PostgreSQL mới nhất là PostgreSQL 14 đi kèm với Ubuntu 22.04 nhưng tôi tin rằng nó sẽ hoạt động. Tuy nhiên, nếu bạn đang cài đặt Odoo 9 cho máy chủ sản xuất của mình, tôi đoán bạn có thể muốn gắn bó với PostgreSQL 9.6 hoặc PostgreSQL 10 vì Odoo 9 được thiết kế cho PostgreSQL 9.6 và hỗ trợ thêm cho PostgreSQL 10 sau này.

Vì vậy, trong bài viết này, tôi sẽ hướng dẫn bạn cách cài đặt PostgreSQL 9.6 và PostgreSQL 10. Bạn có thể đọc một bài khác của tôi nếu bạn muốn cài đặt nhiều phiên bản PostgreSQL trên Ubuntu 22.04.

Thêm PPA PostgreSQL chính thức

Vì Ubuntu 22.04 không có biết gì về các phiên bản PostgreSQL ngoài 14, chúng ta cần thêm PPA chính thức từ tác giả PostgreSQL

# Create the file repository configuration: 
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' 
# Import the repository signing key: 
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg 
# Update the package lists: 
sudo apt-get update 

Cài đặt Postgres 9.6 và PostgreSQL 10

sudo apt install postgresql-9.6 # version 9.6 
sudo apt install postgresql-10 # version 10 

Sau khi cài đặt xong và tôi giả sử rằng bạn chưa cài đặt bất kỳ postgreSQL nào trước đó, các cổng lắng nghe của hai cụm PostgreSQL mới được cài đặt sẽ là:

Phiên bảnCổng
PostgreSQL 9.65432
PostgreSQL 105433
Cổng lắng nghe PostgreSQL

Trong trường hợp bạn muốn sắp xếp lại việc chỉ định các cổng, vui lòng làm theo hướng dẫn thay đổi cổng PostgreSQL.

Tạo các role cho cơ sở dữ liệu

Trong phần này, chúng tôi sẽ tạo các role SQL có cùng tên với tài khoản người dùng unix odoo9 cho mỗi phiên bản PostgreSQL để Odoo 9 chạy dưới tài khoản odoo9 sẽ có thể kết nối PostgreSQL bằng phương pháp xác thực danh tính (không sử dụng mật khẩu).

Role cho PostgreSQL 9.6

Vì cụm PostgreSQL 9.6 được cài đặt đang chạy trên cổng 5432, chúng tôi có thể sử dụng lệnh sau để tạo role odoo9 cho PostgreSQL 9.6

sudo -u postgres createuser odoo9 --interactive -p 3432

Khi được hỏi trong phiên tương tác, vui lòng nhập như sau:

Tạo vai trò odoo9 trong PostgreSQL 9.6
Tạo vai trò odoo9 trong PostgreSQL 9.6

Role cho PostgreSQL 10

Điều này tương tự như một cho PostgreSQL 9.6, nhưng cổng là 5433.

sudo -u postgres createuser odoo9 --interactive -p 3433

Khi được hỏi trong phiên tương tác, vui lòng nhập giống như nhập cho PosgreSQL 9.6

Bước 5 - Cài đặt các gói và thư viện bắt buộc của Odoo 9

Các yêu cầu tiên quyết

Chạy lệnh sau để cài đặt các gói cần thiết để cài đặt thư viện Python sau này.

sudo apt install build-essential python-setuptools \
python2-dev libpq-dev libxml2-dev libxslt1-dev \
zlib1g-dev libsasl2-dev libldap2-dev libssl-dev \
libjpeg-dev

Cài đặt Less Compiler

Odoo 9 yêu cầu trình biên dịch less để biên dịch less sang css. Đây là cách cài đặt less compiler.

Đầu tiên, chúng ta sẽ cài đặt nodejs:

sudo apt install nodejs

Thứ hai, chúng ta sẽ cài đặt trình quản lý gói Nodejs (còn gọi là npm):

sudo apt install npm

Sau đó, nâng cấp npm lên phiên bản mới nhất:

sudo npm install -g npm

Bây giờ, hãy cài đặt trình biên dịch less bằng npm. Xin lưu ý rằng phiên bản less mới nhất có thể không hoạt động với Odoo 9. Chúng ta hãy chọn less phiên bản 3.10.3 hoạt động tốt với tất cả các phiên bản Odoo mà có sử dụng less (cụ thể là Odoo 9, Odoo 10, Odoo 11).

sudo npm install -g less@3.10.3
sudo npm install -g less-plugin-clean-css

Cài đặt wkhtmltopdf

Odoo tạo PDF từ HTML, đó là lý do tại sao chúng ta cần wkhtmltopdf.

Tải xuống wkhtmltopdf:

wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb

Cài đặt wkhtmltopdf:

sudo dpkg -i wkhtmltox_0.12.6.1-2.jammy_amd64.deb
# force install dependencies
sudo apt -f install

Cài đặt các thư viện Python cho Odoo 9

Đầu tiên, chúng ta cần kích hoạt môi trường ảo Odoo 9 mà chúng ta đã tạo ở trên bằng cách thực hiện lệnh:

# switch to odoo9's bash
sudo su - odoo9 -s /bin/bash
# activate the virtual environment
source /python-venv/2.7/odoo9/bin/activate

Sau khi kích hoạt, bạn sẽ thấy (odoo9) là tiền tố của dấu nhắc lệnh của bạn. Sau đó, bạn có thể bắt đầu cài đặt các gói và thư viện bắt buộc của Odoo 9 bằng lệnh pip như sau:

pip install -r /opt/odoo/odoo9/requirements.txt

Xin lưu ý rằng phiên bản của thư viện psycopg2 được chỉ định ở trên request.txt2.7.1 không tương thích với glib của Ubuntu 22.04. Chúng tôi cần nâng cấp psycopg2 sang phiên bản 2.7.3.1 bằng cách sử dụng lệnh dưới đây:

pip install psycopg2==2.7.3.1

Chạy Odoo 9 với PostgreSQL 9.6

Chạy Odoo

Bây giờ, hãy thử chạy lệnh sau để kiểm tra xem mọi thứ có ổn không:

/opt/odoo/odoo9/odoo.py

Sau đó, bạn sẽ thấy kết quả tương tự như bên dưới:

Chạy Odoo9 với PostgreSQL 9.6

Bây giờ, bạn có thể bắt đầu mở trình duyệt web của mình và nhập địa chỉ https://your_ip:8069 để xem kết quả như bên dưới:

Giao diện người dùng tạo cơ sở dữ liệu Odoo 9
Giao diện người dùng tạo cơ sở dữ liệu Odoo 9

Bây giờ, bạn có thể bắt đầu nhập tên cơ sở dữ liệu và các thông tin khác để Odoo9 sẽ khởi tạo mọi thứ cho bạn

  • Tên cơ sở dữ liệu: v9_psql9
  • Email: your_name@example.com
  • Mật khẩu: mật khẩu bảo mật của bạn
  • Ngôn ngữ: chọn ngôn ngữ bạn thích trong danh sách ngôn ngữ thả xuống
  • Quốc gia: chọn quốc gia mà công ty của bạn được đăng ký chính thức. Chọn đúng có thể mang lại sự dễ dàng cho bạn sau này (ví dụ: các mô-đun bản địa hóa sẽ được cài đặt tương ứng)

Dừng Odoo

Để dừng phiên bản Odoo, chỉ cần nhấn Ctrl + C hai lần.

Chạy Odoo 9 với PostgreSQL 10

Chạy Odoo 9

Ở phần trên, chúng ta đã chạy và khởi tạo Odoo 9 thành công với PostgreSQL 9.6. Đây là cách chạy Odoo 9 tương tự, nhưng với PostgreSQL 10.

Như là của chúng ta Quy trình cài đặt PostgreSQL ở trên, PostgreSQL 10 được thiết lập và chạy trên cổng 5433 trong khi Odoo 9 cố gắng kết nối trên cổng 5432. Đây là lệnh để chạy Odoo 9 kết nối với PostgreSQL 10 trên cổng 5433:

/opt/odoo/odoo9/odoo.py --db_port=5433

Chúng tôi đã đưa ra lệnh tương tự với tham số bổ sung –db_port để yêu cầu Odoo 9 kết nối cơ sở dữ liệu bằng cổng 5433.

Dừng Odoo 9

Để dừng phiên bản Odoo, chỉ cần nhấn Ctrl + C hai lần.

Thoát

Sau một số thao tác như trên, chúng ta có thể cần thoát khỏi môi trường chạy cho các tác vụ khác bằng cách sử dụng các lệnh sau:

# Deactivate the virtual environment
deactivate
# exit odoo9's bash session to get back the previous unix user
exit

Bước 6 - Chạy Odoo 9 dưới dạng dịch vụ / daemon

Trong phần này, tôi sẽ hướng dẫn bạn cách tạo dịch vụ khởi động cho Odoo 9 mới cài đặt của bạn để Odoo 9 của bạn sẽ chạy như một dịch vụ và khởi động mỗi khi máy chủ được khởi động.

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

Tệp cấu hình là tệp lưu trữ các chỉ thị cấu hình cho phép Odoo biết cách chạy (ví dụ: đường dẫn đến các module bổ trợ, cổng cơ sở dữ liệu, v.v.).

Trong phần này, mình sẽ tạo một tập tin cấu hình tên là odoo9.conf và lưu trữ trong / home / odoo9 để Odoo 9 sử dụng sau này. Tôi sẽ sử dụng trình chỉnh sửa nano để tạo tệp:

sudo nano /home/odoo9/odoo9.conf

Bây giờ, hãy copy và paste những thứ sau vào giao diện người dùng trình soạn thảo nano của bạn:

[options]
addons_path = /opt/odoo/odoo9/openerp/addons,/opt/odoo/odoo9/addons
admin_passwd = admin
csv_internal_sep = ,
data_dir = /home/odoo9/.local/share/Odoo
db_host = False
db_maxconn = 64
db_name = False
db_password = False
db_port = False
db_template = template1
db_user = False
dbfilter = .*
debug_mode = False
demo = {}
email_from = False
geoip_database = /usr/share/GeoIP/GeoLite2-City.mmdb
import_partial =
limit_memory_hard = 2684354560
limit_memory_soft = 2147483648
limit_request = 8192
limit_time_cpu = 60
limit_time_real = 120
list_db = True
log_db = False
log_db_level = warning
log_handler = :INFO
log_level = info
logfile = None
logrotate = False
longpolling_port = 8072
max_cron_threads = 2
osv_memory_age_limit = 1.0
osv_memory_count_limit = False
pg_path = None
pidfile = None
proxy_mode = False
reportgz = False
server_wide_modules = web,web_kanban
smtp_password = False
smtp_port = 25
smtp_server = localhost
smtp_ssl = False
smtp_user = False
syslog = False
test_commit = False
test_enable = False
test_file = False
test_report_directory = False
translate_modules = ['all']
unaccent = False
without_demo = False
workers = 0
xmlrpc = True
xmlrpc_interface =
xmlrpc_port = 8069

Bây giờ, lưu tệp và thoát bằng cách nhấn Ctrl + X, sau đó nhập y và nhấn nút Enter.

Để cho phép odoo9 truy cập tệp cấu hình:

sudo chown odoo9:root /home/odoo9/odoo9.conf

Tạo tệp dịch vụ

sudo nano /lib/systemd/system/odoo9.service

Bây giờ, sao chép và dán nội dung sau vào giao diện trình soạn thảo nano của bạn

[Unit]
Description=Odoo9
After=network.target postgresql.service

[Service]
Type=simple
PermissionsStartOnly=true
User=odoo9
Group=odoo
SyslogIdentifier=odoo9
PIDFile=/run/odoo9/odoo9.pid
ExecStartPre=/usr/bin/install -d -m755 -o odoo9 -g odoo /run/odoo9
ExecStart=/python-venv/2.7/odoo9/bin/python /opt/odoo/odoo9/odoo.py -c /home/odoo9/odoo9.conf --pid=/run/odoo9/odoo9.pid
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID

[Install]
Alias=odoo9.service
WantedBy=multi-user.target

Bây giờ, lưu tệp và thoát bằng cách nhấn Ctrl + X, sau đó nhập y và nhấn nút Enter.

Chạy lệnh sau để thông báo cho systemd rằng có một tệp đơn vị dịch vụ mới:

sudo systemctl daemon-reload

Bây giờ, hãy kích hoạt dịch vụ và yêu cầu nó chạy khi khởi động:

sudo systemctl enable --now odoo9

Bây giờ, hãy khởi động Odoo 9 của bạn bằng systemd:

sudo systemctl start odoo9

Rồi, hãy mở trình duyệt web của bạn và nhập địa chỉ https://your_ip:8069 để xem Giao diện Người dùng Tạo Cơ sở dữ liệu Odoo 9.

Để dừng nó, chỉ cần chạy:

sudo systemctl stop odoo9

Để lại một câu trả lời