Odoo是世界上最受欢迎的多合一商务软件。它提供了一系列业务应用程序,包括CRM,网站,电子商务,计费,会计,制造,仓库,项目管理,库存等等,所有这些都无缝集成在一起。

Odoo 11需要CentOS资料库中没有的Python 3.5。因此,我们无法通过Odoo存储库中的yum安装Odoo软件包。

我们要么在 docker容器中运行Odoo,要么将其安装在Python虚拟环境中。

在本教程中,我们将指导您如何在CentOS 7计算机上使用Git源和Python虚拟环境安装Odoo11。

开始之前

sudo用户身份登录到CentOS计算机,并将系统更新为最新的软件包:

sudo yum update

通过键入以下内容来启用 EPEL存储库

sudo yum install epel-release

我们将从软件集合(SCL)存储库中安装Python 3.5 软件包。

通过启用SCL,您将可以访问核心存储库中不提供的较新版本的编程语言和服务。使用以下命令启用SCL存储库:

sudo yum install centos-release-scl

使用以下命令安装Python 3.5软件包:

sudo yum install rh-python35

最后安装gitpip和构建Odoo依赖项所需的所有工具:

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

创建Odoo用户

使用主目录创建一个新的系统用户和组/opt/odoo,该目录将运行Odoo服务:

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

您可以随意命名用户,只需确保创建具有相同名称的PostgreSQL用户即可。

安装和配置PostgreSQL

安装 PostgreSQL 服务器并创建一个新的PostgreSQL数据库集群:

sudo yum install postgresql-server
sudo postgresql-setup initdb

安装完成后,启用并启动PostgreSQL服务:

sudo systemctl enable postgresql
sudo systemctl start postgresql

在我们的情况下,以与先前创建的系统用户相同的名称创建一个PostgreSQL用户odoo

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

安装Wkhtmltopdf

wkhtmltox程序包提供了一组开源命令行工具,可以将HTML渲染为PDF和各种图像格式。为了打印PDF报告,您将需要wkhtmltopdf工具。 Odoo的推荐版本为0.12.1,在CentOS 7官方存储库中不可用。

要下载并安装推荐的版本,请运行以下命令:

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

安装和配置Odoo 11

我们将从GitHub存储库安装Odoo,以便我们可以更好地控制版本和更新。我们还将使用virtualenv这个工具,它可以创建隔离的Python环境。

在开始安装过程之前,请确保[切换到用户]“ odoo”:

sudo su - odoo

要确认您以odoo用户身份登录,可以使用以下命令:

whoami

现在,我们可以开始安装过程,首先从GitHub存储库克隆odoo:

git clone https://www.github.com/odoo/odoo --depth 1 --branch 11.0 /opt/odoo/odoo11

启用软件集合,以便我们可以访问python 3.5二进制文件:

scl enable rh-python35 bash

使用以下方法为我们的Odoo安装创建新的虚拟环境:

cd /opt/odoo
python3 -m venv odoo11-venv

激活环境:

source odoo11-venv/bin/activate

并安装所有必需的Python模块:

pip3 install -r odoo11/requirements.txt

如果在安装过程中遇到任何编译错误,请确保安装了Before you begin节中列出的所有必需依赖项。

安装完成后,请使用以下命令停用环境并切换回您的sudo用户:

deactivate
exit

如果您打算安装自定义模块,则最好将这些模块安装在单独的目录中。要为定制模块创建新目录,请运行:

sudo mkdir /opt/odoo/odoo11-custom-addons
sudo chown odoo: /opt/odoo/odoo11-custom-addons

接下来,我们需要创建一个配置文件:

/etc/odoo11.conf

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

如果您使用的是自定义模块,请不要忘记将superadmin_passwd更改为更安全的东西,并调整addons_path

创建系统单位文件

要运行odoo作为服务,我们将在/etc/systemd/system/目录中创建一个odoo11.service单位文件,其内容如下:

/etc/systemd/system/odoo11.service

[Unit]
Description=Odoo11
Requires=postgresql.service
After=network.target postgresql.service

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

[Install]
WantedBy=multi-user.target

通知systemd我们已经创建了一个新的单位文件,并通过执行以下命令来启动Odoo服务:

sudo systemctl daemon-reload
sudo systemctl start odoo11

您可以使用以下命令检查服务状态:

sudo systemctl status odoo11
● odoo11.service - Odoo11
   Loaded: loaded (/etc/systemd/system/odoo11.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2018-03-28 20:13:30 UTC; 6s ago
 Main PID: 16174 (scl)
   CGroup: /system.slice/odoo11.service
           ├─16174 /usr/bin/scl enable rh-python35 -- /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf
           ├─16175 /bin/bash /var/tmp/sclihoNjg
           └─16178 /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf

,如果没有错误,则可以启用Odoo服务,使其在启动时自动启动:

sudo systemctl enable odoo11

如果要查看Odoo服务记录的消息,可以使用以下命令:

sudo journalctl -u odoo11

测试安装

打开浏览器,然后输入:http://<your_domain_or_IP_address>:8069

假设安装成功,将出现类似于以下的屏幕:

如果您无法访问该页面,则可能是防火墙阻止了8069端口。

结论

本教程向您介绍了在Python虚拟环境中在CentOS 7上安装Odoo 11的过程。

您可能还想查看我们有关如何为您的Odoo数据库创建每日自动备份的教程

如果您遇到问题或有反馈,请在下面发表评论。

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持