如何在Ubuntu 16.04上安装Odoo 11
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作为服务运行,我们需要创建一个 odoo11.service
单位文件 /etc/systemd/system/
目录。
打开您的文本编辑器并粘贴以下行:
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数据库创建每日自动备份的教程。
如果您遇到任何问题,请在下面发表评论。
Ubuntu的odoo postgresql python pip