在CentOS 7上安裝Odoo 12

Odoo是世界上最受歡迎的多合一商務軟件。 它提供了一系列業務應用程序,包括CRM,網站,電子商務,計費,會計,製造,倉庫,項目管理,庫存等等,所有這些都無縫集成在一起。

在本教程中,我們將向您展示如何在CentOS 7計算機上的Python虛擬環境中從源代碼安裝Odoo 12。

先決條件

在繼續本教程之前,請確保您以具有sudo特權的用戶身份登錄。

安裝Python 3.6和Odoo依賴項

我們將從軟件集合(SCL)信息庫安裝Python 3.6軟件包。

通過啟用SCL,您將可以訪問核心存儲庫中不提供的較新版本的編程語言和服務。

使用以下命令啟用EPEL和SCL存儲庫:

sudo yum install epel-release centos-release-scl

啟用存儲庫後,安裝Python 3.6以構建Odoo依賴項所需的所有工具:

sudo yum install rh-python36 git gcc wget nodejs-less libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel

在安裝過程中,系統將提示您接受GPG密鑰。

創建Odoo用戶#

創建一個新的系統用戶並使用主目錄進行分組 /opt/odoo 它將運行Odoo服務:

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

您可以隨意命名用戶,只需確保創建具有相同名稱的PostgreSQL用戶即可。

安裝和配置PostgreSQL#

在撰寫本文時,可從CentOS存儲庫中獲得的PostgreSQL的最新版本是PostgreSQL 9.2版,Odoo並未正式支持它。

我們將從官方PostgreSQL存儲庫安裝PostgreSQL 10。

首先啟用PostgreSQL存儲庫:

sudo yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm

安裝PostgreSQL服務器並創建一個新的PostgreSQL數據庫集群:

sudo yum install postgresql10-server postgresql10-develsudo /usr/pgsql-10/bin/postgresql-10-setup initdb

安裝完成後,啟用並啟動PostgreSQL服務:

sudo systemctl enable postgresql-10sudo systemctl start postgresql-10

在本例中,創建一個與先前創建的系統用戶同名的PostgreSQL用戶 odoo12

sudo su - postgres -c "createuser -s odoo12"

安裝Wkhtmltopdf#

wkhtmltox 軟件包提供了一組開源命令行工具,可以將HTML渲染為PDF和各種圖像格式。 為了打印PDF報告,您將需要 wkhtmltopdf 工具。 Odoo的推薦版本是 0.12.1 官方CentOS 7儲存庫中沒有此功能。

使用以下wget命令下載推薦的版本:

wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.1/wkhtmltox-0.12.1_linux-centos7-amd64.rpm

下載完成後,安裝 rpm 通過鍵入以下內容來打包:

sudo yum localinstall wkhtmltox-0.12.1_linux-centos7-amd64.rpm

安裝和配置Odoo 12#

在開始安裝過程之前,請確保切換到用戶“ odoo12”:

sudo su - odoo12

首先從Odoo GitHub存儲庫克隆Odoo 12源代碼:

git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo12/odoo

啟用軟件集合,以便我們可以訪問python 3.6二進制文件:

scl enable rh-python36 bash

使用以下命令為Odoo安裝創建一個新的Python虛擬環境:

cd /opt/odoo12python3 -m venv venv

激活環境:

source venv/bin/activate

安裝所有必需的Python模塊:

pip3 install -r odoo/requirements.txt

如果在安裝過程中遇到任何編譯錯誤,請確保安裝了 Install Python 3.6 and Odoo Dependencies 部分。

安裝完成後,請使用以下命令停用環境:

deactivate

為自定義插件創建一個新目錄:

mkdir /opt/odoo12/odoo-custom-addons

切換回您的sudo用戶:

exit

接下來,打開您的文本編輯器並創建以下配置文件:

sudo nano /etc/odoo12.conf

/etc/odoo12.conf

[options]
; This is the password that allows database operations:
admin_passwd = superadmin_passwd
db_host = False
db_port = False
db_user = odoo12
db_password = False
addons_path = /opt/odoo12/odoo/addons, /opt/odoo12/odoo-custom-addons

保存並關閉文件。

不要忘記改變 superadmin_passwd 為了更安全。

創建一個系統單元文件

要將Odoo作為服務運行,我們將創建一個單位文件。

打開您的文本編輯器並創建一個名為 odoo12.service 在 – 的裡面 /etc/systemd/system/ 目錄:

sudo nano /etc/systemd/system/odoo12.service

粘貼以下內容:

/etc/systemd/system/odoo12.service

[Unit]
Description=Odoo12
Requires=postgresql-10.service
After=network.target postgresql-10.service

[Service]
Type=simple
SyslogIdentifier=odoo12
PermissionsStartOnly=true
User=odoo12
Group=odoo12
ExecStart=/usr/bin/scl enable rh-python36 -- /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target

保存文件並關閉編輯器。

通知Systemd我們創建了一個新的單位文件:

sudo systemctl daemon-reload

通過執行以下命令來啟動並啟用Odoo服務:

sudo systemctl enable odoo12sudo systemctl start odoo12

您可以使用以下命令檢查服務狀態:

sudo systemctl status odoo12
● odoo12.service - Odoo12
   Loaded: loaded (/etc/systemd/system/odoo12.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2018-10-30 16:35:09 UTC; 6s ago
 Main PID: 24649 (scl)
   CGroup: /system.slice/odoo12.service
           ├─24649 /usr/bin/scl enable rh-python36 -- /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
           ├─24650 /bin/bash /var/tmp/scldyaa9h
           └─24653 /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf

如果要查看Odoo服務記錄的消息,可以使用以下命令:

sudo journalctl -u odoo12

測試安裝

打開瀏覽器並輸入: http://<your_domain_or_IP_address>:8069

假設安裝成功,將出現類似以下的屏幕:

如果您無法訪問該頁面,則可能是防火牆阻止了端口 8069

使用以下命令打開必要的端口:

sudo firewall-cmd --permanent --zone=public --add-port=8069/tcpsudo firewall-cmd --reload

結論#

本教程引導您完成在Python虛擬環境中在CentOS 7上安裝Odoo 12的過程。

您可能還需要查看有關如何為Odoo數據庫創建每日自動備份的教程。

如果您遇到任何問題,請在下面發表評論。

centos odoo postgresql python pip

Sidebar