Odoo 10 được phát hành vào Ngày 5 Tháng 10, 2016 và hết hạn sử dụng vào ngày 5 tháng 10 năm 2019 (khi Odoo 13 được phát hành). Nó yêu cầu phiên bản Python 2.7 lỗi thời và không có sẵn trên Ubuntu 22.04. Tuy nhiên, có một số lý do khiến chúng ta vẫn muốn cài đặt Odoo 10 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 10 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:
- Cách cài đặt Odoo 8 trên Ubuntu 22.04
- Cách cài đặt Odoo 9 trên Ubuntu 22.04
- Cách cài đặt Odoo 11 trên Ubuntu 22.04
- Cách cài đặt Odoo 12 trên Ubuntu 22.04
- Cách cài đặt Odoo 13 trên Ubuntu 22.04
- Cách cài đặt Odoo 14 trên Ubuntu 22.04
- Cách cài đặt Odoo 15 trên Ubuntu 22.04
- Cách cài đặt Odoo 16 trên Ubuntu 22.04
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 10 trên máy chủ Ubuntu 22.04 để đạt được những điều sau:
- Mã nguồn của Odoo 10 được đặt tại /opt/odoo/odoo10
- Nó chạy dưới một tài khoản unix có tên odoo10 thuộc nhóm có tên odoo
- Nó có thể kết nối với PostgreSQL cục bộ dưới vai trò có tên odoo10 mà CÓ THỂ tạo cơ sở dữ liệu.
- Sau khi hoàn tất cài đặt, bạn có thể truy cập phiên bản Odoo 10 bằng trình duyệt web của mình
- Odoo 10 sẽ sử dụng 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 odoo10;
- 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 10 (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 odoo10 và thêm nó vào nhóm odoo:
sudo adduser odoo10 --system \ --home=/home/odoo10 --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 10 để 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 10
sudo mkdir -p /python-venv/2.7/odoo10
Đặt quyền truy cập thích hợp cho nhóm odoo và tài khoản odoo10:
sudo chown -hR odoo10: /python-venv/2.7/odoo10
Chuyển tài khoản sang bash của odoo10:
sudo su - odoo10 -s /bin/bash
Tạo một môi trường ảo và đặt tên là odoo10:
virtualenv /python-venv/2.7/odoo10
Bây giờ, hãy thoát odoo10 để 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 10 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 10 trong / opt / odoo / odoo10.
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 10 từ GitHub, chỉ cần chạy lệnh bên dưới để tải xuống mã nguồn Odoo 10 qua HTTP:
git clone -b 10.0 https://github.com/odoo/odoo.git /opt/odoo/odoo10
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 10.0 git@github.com:odoo/odoo.git /opt/odoo/odoo10
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 10 trong thư mục /opt/odoo/odoo10/
.
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/odoo10
Bước 4 - Cài đặt PostgreSQL cho Odoo 10
Tôi chưa được thử nghiệm Odoo 10 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 10 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 10 vì Odoo 10 đượ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 10. Bạn có thể đọc một bài viết 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 PostgreSQL 10
sudo apt install postgresql-10 # version 10
Sau khi cài đặt hoàn tất và tôi giả sử rằng bạn chưa cài đặt bất kỳ postgreSQL nào trước đó, cổng lắng nghe của PostgreSQL 10 mới được cài đặt sẽ là 5432
Trong trường hợp bạn có nhiều phiên bản PostgreSQL đang chạy và bạn muốn sắp xếp lại việc gán các cổng, vui lòng làm theo hướng dẫn thay đổi cổng PostgreSQL.
Tạo 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 odoo10 cho mỗi phiên bản PostgreSQL để Odoo 10 chạy dưới odoo10 tài khoản 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).
Vì cụm PostgreSQL 10 đã cài đặt đang chạy trên cổng 5432, chúng ta có thể sử dụng lệnh sau để tạo vai trò odoo10 cho PostgreSQL 10:
sudo -u postgres createuser odoo10 --interactive -p 5432
Khi được hỏi trong phiên tương tác, vui lòng nhập như sau:

Bước 5 - Cài đặt các gói và thư viện bắt buộc của Odoo 10
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 10 yêu cầu trình biên dịch Less (Less Compiler) để biên dịch less sang css. Đây là cách chúng ta 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 sẽ không hoạt động với Odoo 10. Chúng ta chỉ cài Less 3.10.3 để có thể hoạt động với tất cả các phiên bản Odoo 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 thư viện Python cho Odoo 10
Đầu tiên, chúng ta cần kích hoạt môi trường ảo Odoo 10 mà chúng ta đã tạo ở trên bằng cách thực hiện lệnh:
# switch to odoo10's bash sudo su - odoo10 -s /bin/bash # activate the virtual environment source /python-venv/2.7/odoo10/bin/activate
Sau khi kích hoạt, bạn sẽ thấy (odoo10) 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 10 bằng lệnh pip như sau:
pip install -r /opt/odoo/odoo10/requirements.txt
Khởi chạy Odoo 10
Bây giờ, hãy thử chạy lệnh sau để kiểm tra xem mọi thứ có ổn không:
/opt/odoo/odoo10/odoo-bin
Hoặc, nếu bạn muốn chạy Odoo 10 trên một cổng khác với 8069 (cổng mặc định của Odoo), ví dụ: 8089:
/opt/odoo/odoo10/odoo-bin --xmlrpc-port=8089
Sau đó, bạn sẽ thấy kết quả tương tự như bên dưới:

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ỉ http://ip_cua_server:8089 để xem kết quả như bên dưới:

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 để Odoo 10 sẽ khởi tạo mọi thứ cho bạn
- Tên cơ sở dữ liệu: v10_psql10
- 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 10
Để 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 odoo10's bash session to get back the previous unix user exit
Bước 6 - Chạy Odoo 10 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 10 mới được cài đặt của bạn để Odoo 10 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 10
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 có tên là odoo10.conf và lưu trữ trong / home / odoo10 để Odoo 10 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/odoo10/odoo10.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/odoo10/odoo/addons,/opt/odoo/odoo10/addons admin_passwd = admin csv_internal_sep = , data_dir = /home/odoo10/.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 = .* 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 limit_time_real_cron = -1 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 = 8089
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 odoo10 truy cập tệp cấu hình:
sudo chown odoo10:root /home/odoo10/odoo10.conf
Tạo tệp dịch vụ
sudo nano /lib/systemd/system/odoo10.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=Odoo10 After=network.target postgresql.service [Service] Type=simple PermissionsStartOnly=true User=odoo10 Group=odoo SyslogIdentifier=odoo10 PIDFile=/run/odoo10/odoo10.pid ExecStartPre=/usr/bin/install -d -m755 -o odoo10 -g odoo /run/odoo10 ExecStart=/python-venv/2.7/odoo10/bin/python /opt/odoo/odoo10/odoo-bin -c /home/odoo10/odoo10.conf --pid=/run/odoo10/odoo10.pid ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID [Install] Alias=odoo10.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 odoo10
Bây giờ, hãy khởi động Odoo 10 của bạn bằng systemd:
sudo systemctl start odoo10
Rồi, hãy mở trình duyệt web của bạn và nhập địa chỉ http://ip_cua_server:8089 để xem Giao diện người dùng tạo cơ sở dữ liệu Odoo 10.
Để dừng nó, chỉ cần chạy:
sudo systemctl stop odoo10