Odoo 8 CRM

Cài đặt Odoo 8 từ mã nguồn trên Ubuntu Server 22.04 Jammy

Odoo 8 được phát hành vào tháng 9 năm 2014 và hết hạn sử dụng vào ngày 5 tháng 10 năm 2017 (khi Odoo 9 được phát hành). Nó yêu cầu Python 2.7 lỗi thời, không có sẵn trên Ubuntu 22.04. Tuy nhiên, vẫn còn một số lý do để chúng tôi cài đặt Odoo 8 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 8 yêu cầu.
  • Bảo trì
  • Di chuyển sang phiên bản Odoo khác mới 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)

Trong hướng dẫn này, chúng tôi mong đợi kết quả như sau:

  1. Mã nguồn của Odoo 8 được đặt tại /opt/odoo/odoo8
  2. Nó chạy dưới một tài khoản unix có tên odoo8 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 odoo8 có thể KHÔNG PHẢI tạo cơ sở dữ liệu. Cơ sở dữ liệu trống phải được tạo trước và được cấp quyền cho tài khoản odoo8.

Bây giờ, tôi sẽ hướng dẫn bạn 6 bước để đạt được điều đó:

  1. Tạo nhóm và tài khoản người dùng Linux / Unix để chạy Odoo 8
  2. Cài đặt Python 2.7
  3. Tải xuống Odoo 8 mã nguồn từ GitHub
  4. Cài đặt gói và thư viện python mà Odoo 8 yêu cầu
  5. Cài đặt PostgreSQL 9.6
  6. Chạy Odoo 8 và tạo phiên bản đầu tiên

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

Để bảo mật, chúng ta nên cài đặt và chạy Odoo 8 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ẽ 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à một 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

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

sudo addgroup odoo

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

sudo adduser odoo8 --system \
--home=/home/odoo8 --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ách cài đặt Python 2.7 trên Ubuntu 22.04.

Sau đó, hãy tạo một môi trường ảo cho Odoo 8 để chúng ta có thể cách ly nó với những môi trường khác để không làm hỏng các 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 thư mục cha cho môi trường ảo của Odoo 8

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

Cấp quyền cho nhóm odoo và tài khoản odoo8:

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

Chuyển sang bash của odoo8

sudo su - odoo8 -s /bin/bash

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

virtualenv /python-venv/2.7/odoo8

Bây giờ, hãy thoát odoo8 để 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 8 từ GitHub

Tôi giả sử rằng chúng tôi sẽ lưu trữ mã nguồn Odoo trong /opt/odoo để chúng tôi có thể có mã nguồn Odoo 8 trong /opt/odoo/odoo8 và (trong tương lai) mã nguồn Odoo9 trong /opt/odoo/odoo9, vân vân.

Tạo thư mục odoo bên trong thư mục /opt

sudo mkdir /opt/odoo

Cấp quyền truy cập cho nhóm odoo

sudo chown root:odoo /opt/odoo

Để tải xuống mã nguồn của Odoo 8, chỉ cần chạy lệnh:

git clone -b 8.0 https://github.com/odoo/odoo.git /opt/odoo/odoo8

Nếu bạn muốn tải xuống qua SSH để đạt hiệu suất và bảo mật, bạn có thể làm theo hướng dẫn về cách sao chép github repo qua SSH trên Ubuntu 22.04. Sau đó, lệnh tải xuống Odoo 8 sẽ là:

git clone -b 8.0 git@github.com:odoo/odoo.git /opt/odoo/odoo8

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 8 trong thư mục /opt/odoo/odoo8/.

Bây giờ chúng ta cần thực hiện một hành động để bảo mật mã nguồn:

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

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

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

Bạn có thể chạy lệnh bên dưới để cài đặt các gói cần thiết cho quá trình 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 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

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

# enter odoo8's bash
sudo su - odoo8 -s /bin/bash
# activate the virtual env odoo8
source /python-venv/2.7/odoo8/bin/activate

Sau khi kích hoạt, bạn sẽ tìm thấy (odoo8) làm tiền tố của quảng cáo 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 8 bằng lệnh pip như bên dưới

pip install -r /opt/odoo/odoo8/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

Bây giờ, hãy thử chạy lệnh sau:

/opt/odoo/odoo8/odoo.py

Bạn có thể mong đợi để xem kết quả như sau

Chạy Odoo 8 từ dòng lệnh

Nếu không có lỗi nào xuất hiện, xin chúc mừng! Bây giờ bạn có thể nhấn Ctrl + C twite để dừng Odoo 8. Sau đó, bạn có thể thoát khỏi môi trường ảo bằng cách chạy lệnh:

deactivate

Bây giờ, hãy thoát khỏi tài khoản odoo8

exit

Bước 5 - Cài đặt PostgreSQL 9.6

PostgreSQL 9.6 là phiên bản cuối đời của PostgreSQL. Nó không có sẵn trong Ubuntu 22.04 và ngay cả apt không biết nó. Để cài đặt nó, bạn nên làm theo hướng dẫn cách cài đặt nhiều phiên bản PostgreSQL.

Sau khi cài đặt PostgreSQL 9.6, vui lòng tạo một vai trò có tên odoo8 để Odoo 8 truy cập cơ sở dữ liệu bằng phương pháp nhận dạng.

sudo -u postgres createuser --interactive -p 5433

Khi được hỏi tên vai trò, vui lòng nhập odoo8 sau đó nhấn Enter.

Khi được yêu cầu cấp quyền truy cập siêu người dùng, hãy nhập NKhông vì chúng tôi giả định rằng chúng tôi đang ở trên một máy chủ sản xuất. Hoặc yĐúng nếu bạn đang ở trên môi trường phát triển của bạn.

Nếu bạn chọn n, bạn sẽ được yêu cầu quyền truy cập để tạo vai trò và cơ sở dữ liệu. Tùy thuộc vào yêu cầu của bạn, câu trả lời có thể khác nhau. Bạn có thể chọn N cho tất cả nếu bạn đang cài đặt Odoo 8 trên máy chủ sản xuất.

Đây là những gì tôi đã làm

Tạo role odoo8 trên PostgreSQL 9.6

Bây giờ, chúng tôi tạo một cơ sở dữ liệu mới odoo8 và cấp cho odoo8 vai trò là chủ sở hữu của cơ sở dữ liệu odoo8

sudo -u postgres createdb -p 5433 --owner=odoo8

Bước 6 - Chạy Odoo 8 và khởi tạo cơ sở dữ liệu

Chuyển sang tài khoản odoo8

sudo su - odoo8 -s /bin/bash

Bây giờ, hãy chạy lệnh sau để khởi động Odoo 8 và khởi tạo cơ sở dữ liệu odoo8 đã tạo ở bước cuối cùng đó để cài đặt Odoo 8 lần đầu tiên.

/opt/odoo/odoo8/odoo.py -u odoo8 -d odoo8 --db_port=5433

Chờ một vài phút để quá trình khởi tạo cơ sở dữ liệu hoàn tất và mở trình duyệt web ưa thích của bạn và nhập địa chỉ như sau:

http://your_ip:8069

Trong đó,

  • IP của bạn là ip của máy của bạn
  • 8069 là cổng mặc định của Odoo. Bạn có thể chạy Odoo của mình trên một cổng khác bằng cách thêm tùy chọn –Xmlrpcs-cổng. Ví dụ: –Xmlrpcs-port = 9089 để truy cập phiên bản Odoo của bạn với http://your_ip:9089.

Điều gì sẽ xảy ra nếu bạn muốn chạy Odoo 8 với các phiên bản PostgreSQL mới hơn?

Của tôi Đội Viindoo đã thực hiện một số sửa đổi đối với fork Odoo của chúng tôi để hỗ trợ các phiên bản PostgreSQL sau này (tức là chúng tôi đã thử nghiệm với PostgreSQL 10 và PostgreSQL 12). Thay vì sao chép GitHub của Odoo, hãy làm một cái của Viindoo:

git clone -b 8.0 https://github.com/Viindoo/odoo.git /opt/odoo/viidoo8

Nhân tiện, bạn có thể muốn xem các bài khác của tôi về:

Nếu bạn là nhà phát triển Odoo, bạn có thể muốn xem các bài viết của tôi:

2 bình luận trong “Install Odoo 8 from source on Ubuntu Server 22.04 Jammy”

  1. Xin chào,
    cảm ơn rất nhiều cho mô tả chi tiết đó.
    Tuy nhiên tôi gặp khó khăn và không thể hoàn thành nó.

    Sai lầm nhỏ ở đây:
    Chạy lệnh sau để tạo nhóm odoo:
    Vỏ bọc
    sudo addgroup odo ==> sudo addgroup odoo

    Và (tôi thực sự không phải là quản trị viên goog ;-))
    Kết thúc bước 2, bạn trở thành người dùng odoo.
    Nhưng ở bước 3, bạn lại nhìn chằm chằm vào các lệnh sudo…
    Lệnh git clone -b 8.0 https://github.com/odoo/odoo.git /opt/odoo/odoo8
    cho tôi biết không có quyền ghi vào thư mục đó với tư cách người dùng odoo.
    Đoán làm điều đó như sudo là không đúng cách - gây ra thông báo lỗi sau đó.

    Tôi đã làm gì sai ở đây?

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