Odoo是世界上最受欢迎的商业软件之一。根据所需的用例,有几种安装Odoo的方法。

安装 Odoo 的最简单,最快的方法是使用其官方存储库。

如果您希望对版本和更新有更多控制权,或者想在计算机上运行多个Odoo版本,则此方法将对您不起作用,因为Odoo软件包不允许在同一台计算机上安装多个Odoo。在这种情况下,您可以使用 docker docker compose 或在Python虚拟环境中安装Odoo。

本指南介绍了在Ubuntu 16.04上使用Git源和Python虚拟环境安装和配置Odoo的必要步骤。

开始之前

在继续学习本教程之前,请确保您以具有sudo权限的用户身份登录

将软件包索引和所有已安装的软件包更新为最新的软件包:

sudo apt update && sudo apt upgrade

安装 Git Pip Node.js 和构建Odoo依赖项所需的工具:

sudo apt install git python3-pip build-essential python3-dev libxslt-dev libzip-dev libldap2-dev libsasl2-dev node-less

创建Odoo用户

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

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

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

安装和配置PostgreSQL

从Ubuntu的默认存储库安装 PostgreSQL 软件包:

sudo apt install postgresql

安装完成后,以与先前创建的系统用户相同的名称创建一个新的PostgreSQL用户,在我们的情况下为odoo

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

安装Wkhtmltopdf

要打印PDF报告,您将需要wkhtmltopdf工具。 Wkhtmltopdf的推荐版本为0.12.1,在正式的Ubuntu 16.04存储库中不可用。我们将从官方的Wkhtmltopdf网站下载并安装推荐的版本。

使用以下 wget 命令下载软件包:

wget https://builds.wkhtmltopdf.org/0.12.1.3/wkhtmltox_0.12.1.3-1~xenial_amd64.deb

下载完成后,输入以下内容安装软件包:

sudo apt install ./wkhtmltox_0.12.1.3-1~xenial_amd64.deb

安装和配置Odoo

我们将在一个隔离的Python环境中从GitHub存储库安装Odoo,以便我们可以更好地控制版本和更新。

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

sudo su - odoo

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

whoami

从GitHub存储库中克隆Odoo源代码开始安装过程:

git clone https://www.github.com/odoo/odoo --depth 1 --branch 11.0 /opt/odoo/odoo11
  • 如果要下载和安装其他Odoo版本,只需在--branch开关后更改版本号即可。
  • 您可以下载Odoo源代码您可以使用任何名称,例如odoo11都可以使用您的域名。

virtualenv是用于创建隔离的Python环境的工具。要安装它,请使用:

pip3 install virtualenv

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

cd /opt/odoo
virtualenv 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

我们下一步要做的是创建配置文件。我们可以从头创建一个新文件,也可以复制随附的配置文件:

sudo cp /opt/odoo/odoo11/debian/odoo.conf /etc/odoo11.conf

打开文件,然后进行如下编辑:

sudo nano /etc/odoo11.conf

/etc/odoo11.conf

[options]
; This is the password that allows database operations:
admin_passwd = my_admin_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

完成后,关闭并保存文件。

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

创建系统单位文件

要将odoo作为服务运行,我们需要在/etc/systemd/system/目录中创建odoo11.service单位文件。

打开您的文本编辑器,然后粘贴以下几行:

sudo nano /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=/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

输出应如下所示,表明Odoo服务处于活动状态并正在运行。

● odoo11.service - Odoo11
   Loaded: loaded (/etc/systemd/system/odoo11.service; disabled; vendor preset: enabled)
   Active: active (running) since Tue 2018-01-23 21:09:25 UTC; 1s ago
 Main PID: 14146 (python3)
   CGroup: /system.slice/odoo11.service
           └─14146 /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

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

至此,您的Odoo 11安装正常。您可以通过创建一个新的数据库并开始处理您的项目来完成安装。

结论

就是这样!本教程向您介绍了在Python虚拟环境中的Ubuntu 16.04上安装Odoo 11的过程。

要了解如何使用 Nginx作为反向代理配置Odoo,以及如何通过HTTPS访问Odoo安装,可以查看以下文章:

使用Nginx将Odoo配置为反向代理

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

如果遇到任何问题,请在下面发表评论。

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