在 CentOS 7 上安装 Odoo 12

2023-10-29

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

在本教程中,我们将向您展示如何安装Odoo12 来自 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-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#

The wkhtmltox软件包提供了一组开源命令行工具,可以将 HTML 渲染为 PDF 和各种图像格式。为了打印 PDF 报告,您需要wkhtmltopdf工具。 Odoo 的推荐版本是0.12.1CentOS 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到更安全的东西。

创建一个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 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

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

如果您无法访问该页面,那么可能是您的firewall正在阻塞端口8069.

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

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

结论#

本教程引导您在 Python 虚拟环境中的 CentOS 7 上安装 Odoo 12。

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 CentOS 7 上安装 Odoo 12 的相关文章

随机推荐

  • Qt之输入对话框(QInputDialog)的相关参数(Qt::InputMethodHints)和(QLineEdit::EchoMode)学习

    本文参考文章 Qt 编程 输入对话框 QInputDialog 的使用 学习笔记 前言 QInputDialog类提供了一个简单的便捷对话框 可以从用户那里获取用户录入的单个值 当前Qt提供了五个静态接口函数用于获取常用的数据类型参数 单文
  • 【华为OD机试真题2023 JS】上班之路

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 上班之路 知识点BFS搜索广搜 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 Jungle生活在美丽的蓝鲸城 大马路都是方方正正 但是每天马路的封闭情况都不一样
  • 在 Bash 中获取明天的日期:实用演练

    在系统管理和 shell 脚本世界中 操作日期和时间的能力至关重要 无论是用于计划任务 日志轮换还是简单地为文件添加时间戳 了解如何在脚本中使用日期都可以节省大量时间和精力 Bash Bourne Again Shell 为此提供了一组强大
  • 使用 PHP 和 Docker 设置开发环境

    本地开发环境对于 PHP 开发人员测试和调试应用程序至关重要 传统上 开发人员会依赖 XAMPP MAMP 或 WAMP 等工具 它们为本地开发提供成熟的 LAMP 堆栈 Linux Apache MySQL PHP 然而 随着应用程序变得
  • 如何使用 Iptables 在 Linux 中阻止 IP 地址

    Iptables 是 Linux 操作系统中内置的强大且灵活的防火墙工具 它用于建立 管理和配置IP数据包过滤规则表 Iptables 的常见用途之一是阻止或限制来自特定 IP 地址或 IP 地址范围的访问 本文提供了有关如何使用 Ipta
  • 如何在 Python 中创建和读取列表

    Python 是一种流行的编程语言 具有广泛的应用范围 包括数据科学 Web 开发和自动化 Python 中最基本 最重要的数据结构之一是列表 列表是值或项目的集合 可以是任何数据类型 包括字符串 整数 浮点数 甚至其他列表 在本文中 我们
  • 如何在 MacOS 上安装 Golang

    Go 是 Google 于 2009 年开发的一种编译型编程语言 由于其性能 可读性和简单性 它在软件开发行业中广受欢迎 Go 是一种通用编程语言 它的代码片段感觉很自然 与 C 或 Java 等其他语言相比 它可以用更少的代码行编写 Go
  • 什么是 Apache Prefork、Worker 和 Event MPM(多处理模块)

    Apache 是最流行的 Linux Web 服务器 大多数Linux系统管理员的学习阶段都是从Apache httpd Web服务器开始的 甚至我在学习过程中也使用过Apache Web服务器 在初始级别 系统管理员使用 Apache 他
  • 如何在 Debian 8 上安装 Ansible (Jessie)

    Ansible 是一种自动化工具 用于从单台计算机管理多个远程主机 它为您提供了针对大量远程主机的轻松配置 例如 您在多台机器上执行相同的任务 Ansible 为您提供了自动执行这些任务的选项 本教程将帮助您在 Debian 8 Jessi
  • Ubuntu 和 Debian Linux 中的 12 个 Apt 命令示例

    apt 命令是 Linux 操作系统中最强大 最通用的工具之一 它为用户提供了一个功能强大且易于使用的包管理系统 可用于轻松管理和安装软件 使用 apt 命令 用户可以快速轻松地从系统中搜索 安装 升级和卸载软件应用程序 本指南详细概述了
  • Linux 中的排序命令及实例

    The sort Linux 中的命令是 GNU Coreutils 包的一部分 此命令用于按升序 降序对指定文件或标准输入中的文本行进行排序 排序后的输出可以写入文件或显示在标准输出上 这 sort 命令是一个简单而强大的工具 可用于各种
  • 使用.nvmrc指定节点版本

    您可以使用特定的 Node js 版本锁定您的应用程序 这将帮助您隔离 Node js 应用程序的依赖关系 因此您可以在任何系统上快速安装所需的软件包 在本教程中 您将学习使用 nvmrc 文件指定 node js 版本的简单过程 使用 n
  • 如何在 Apache 中启用过期标头

    Apache 是一种高度灵活 功能强大且开源的 HTTP 服务器软件 广泛用于托管网站 它的功能之一是操作响应中的 HTTP 标头 该功能可以显着提高网站的性能 在这些操作中 启用 过期标头 是管理网站缓存行为的有效技术 本质上 过期标头告
  • 如何在 Ubuntu 20.04 上安装 Zoom

    Zoom 应用程序是当今最流行的应用程序之一 Zoom 云会议应用程序通过互联网上的实时消息传递和内容共享提供简化的视频会议 Zoom 客户端允许您无需登录应用程序即可加入会议 要开始新会议 您需要登录该应用程序 访问zoom us创建帐户
  • 如何在 Linux 中重命名文件和目录

    重命名文件是您经常需要在 Linux 系统上执行的最基本任务之一 您可以使用 GUI 文件管理器或通过命令行终端重命名文件 重命名单个文件很容易 但一次重命名多个文件可能是一个挑战 特别是对于 Linux 新手来说 在本教程中 我们将向您展
  • Linux 中的 Tr 命令及示例

    tr是 Linux 和 Unix 系统中的一个命令行实用程序 用于翻译 删除和压缩标准输入中的字符 并将结果写入标准输出 The tr命令可以执行删除重复字符 将大写转换为小写以及基本字符替换和删除等操作 通常 它通过管道与其他命令结合使用
  • Python 列表反转

    在 Python 中使用列表时 有时可能需要反转列表的元素 反转列表意味着列表的第一个元素成为最后一个元素 第二个元素成为倒数第二个元素 最后一个元素成为第一个元素 依此类推 在 Python 中 有几种不同的方法可以反转列表 具体取决于您
  • 如何在 CentOS 7 上安装 Java

    Java 是世界上最流行的编程语言之一 用于构建不同类型的应用程序和系统 本教程介绍如何在 CentOS 7 上安装 Java 的各种版本和实现 我们将向您展示如何安装 OpenJDK 以及 Oracle Java 先决条件 在继续本教程之
  • 如何在Ubuntu 18.04上配置MySQL主从复制

    MySQL 复制是一个允许数据从一台数据库服务器自动复制到一台或多台服务器的过程 MySQL 支持多种复制拓扑 其中主 从拓扑是最著名的拓扑之一 其中一台数据库服务器充当主服务器 而一台或多台服务器充当从服务器 默认情况下 复制是异步的 主
  • 在 CentOS 7 上安装 Odoo 12

    Odoo 是世界上最受欢迎的一体化商业软件 它提供一系列业务应用程序 包括 CRM 网站 电子商务 计费 会计 制造 仓库 项目管理 库存等等 所有这些都无缝集成 在本教程中 我们将向您展示如何安装Odoo12 来自 CentOS 7 计算