Odoo 是世界上最受欢迎的一体化商业软件。它提供一系列业务应用程序,包括 CRM、网站、电子商务、计费、会计、制造、仓库、项目管理、库存等等,所有这些都无缝集成。
在本教程中,我们将向您展示如何安装Odoo 12 来自 CentOS 7 计算机上 Python 虚拟环境内的源代码。
先决条件#
确保您以以下身份登录具有 sudo 权限的用户 在继续本教程之前。
安装 Python 3.6 和 Odoo 依赖项#
We will 安装Python 3.6 来自 Software Collections (SCL) 存储库的软件包。
通过启用 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-devel
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
安装完成后,启用并启动 PostgreSQL 服务:
sudo systemctl enable postgresql-10
sudo systemctl start postgresql-10
创建一个与之前创建的系统用户同名的 PostgreSQL 用户(在我们的例子中)odoo12
:
sudo su - postgres -c "createuser -s odoo12"
安装Wkhtmltopdf#
The 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
在开始安装过程之前,请确保您切换到用户 “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/odoo12
python3 -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
到更安全的东西。
创建一个systemd单元文件#
为了将 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 odoo12
sudo 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
假设安装成功,将出现类似以下的屏幕:
如果您无法访问该页面,那么可能是您的firewall 正在阻塞端口8069
.
使用以下命令打开必要的端口:
sudo firewall-cmd --permanent --zone=public --add-port=8069/tcp
sudo firewall-cmd --reload
结论#
本教程引导您在 Python 虚拟环境中的 CentOS 7 上安装 Odoo 12。
您可能还想查看我们的教程如何创建 Odoo 数据库的自动每日备份
.
如果您遇到任何问题,请在下面发表评论。