odoo14安装日记

 

这篇文章是为了指导Linux用户在CentOS 8上安装Odoo 14 ERP系统。Odoo是一个开源业务管理应用程序,具有POS,CRM,项目管理,网站构建器,市场营销,仓库管理,电子商务,计费等功能。与会计,制造和许多其他很酷的功能。这些额外的功能可以通过大量可用于安装Odoo插件来解锁

在本文更新时,Odoo ERP软件的最新版本为版本14。我们将通过系统升级开始安装,安装所有必需的依赖项(如PostgreSQL数据库服务器),最后在CentOS 8上进行Odoo ERP 14的实际安装。 Nginx将用作CentOS 8上Odoo 14 ERP和CRM系统的前端代理。

步骤1:更新操作系统

登录到CentOS 8服务器并执行系统更新,然后重新启动。

 

sudo dnf -y update
sudo reboot

 

步骤2:将EPEL储存库添加到CentOS服务器

 

 通过运行命令将EPEL存储库添加到CentOS 8。

sudo yum -y install epel-release vim bash-completion

将SELinux置于宽松模式。

sudo setenforce 0
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

运行yum repolist命令。 

$ sudo yum repolist

repo id                                                     repo name
AppStream                                                   CentOS-8 - AppStream
BaseOS                                                      CentOS-8 - Base
epel                                                        Extra Packages for Enterprise Linux 8 - x86_64
epel-modular                                                Extra Packages for Enterprise Linux Modular 8 - x86_64
extras                                                      CentOS-8 - Extras

 

步骤3:安装PostgreSQL数据库服务器

Odoo ERP资源库使用PostgreSQL数据库服务器进行数据存储。这些软件包在DNF模块中可用。

禁用当前的默认PostgreSQL模块。

sudo dnf -qy module disable postgresql

启用PostgreSQL 12模块。

sudo dnf module -y enable postgresql:12

然后安装PostgreSQL服务器和客户端软件包。

 

sudo dnf -y install @postgresql

安装后,需要先进行数据库初始化,然后才能启动服务。

 

$ sudo /usr/bin/postgresql-setup --initdb --unit postgresql
 * Initializing database in '/var/lib/pgsql/data'
 * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log

启动并启用数据库服务器。

$ sudo systemctl enable --now postgresql
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /usr/lib/systemd/system/postgresql.service.

 创建odoo数据库用户。

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

 

步骤4:在CentOS 8上安装wkhtmltopdf

Odoo使用 wkhtmltopdf 生成PDF格式的报告。推荐安装的wkhtmltopdf版本为0.12.5,  可在 wkhtmltopdf下载页面(存档部分)中找到。

sudo dnf install -y https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox-0.12.5-1.centos8.x86_64.rpm

 确认安装的版本。

$ wkhtmltopdf --version
wkhtmltopdf 0.12.5 (with patched qt)

 

步骤5:在CentOS 8上安装Odoo 14

添加EPEL存储库:

yum -y install epel-release

同时启用PowerTools存储库。

sudo dnf config-manager --set-enabled Powertools

如果启用报错,请执行以下命令,再次启用:

sudo yum install dnf-plugins-core

安装Python和其他构建依赖项:

sudo yum -y install vim bash-completion zip git gcc openldap-devel python3 python3-devel redhat-rpm-config libxslt-devel libjpeg-devel freetype-devel bzip2-devel

添加Odoo系统用户和组。

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

 为创建的用户帐户设置密码。

$ sudo passwd odoo

Changing password for user odoo.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

查看用户详细信息:

$ id odoo
uid=992(odoo) gid=989(odoo) groups=989(odoo)

切换到创建的用户帐户:

$ sudo su - odoo

将odoo14企业版源码解压放入odoo文件夹中。然后更改文件夹权限。可以利用WINSCP传入文件。

创建Python Virtualenv。

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

 激活创建的虚拟环境。

source odoo-venv/bin/activate

升级PIP

python -m pip install --upgrade pip

在需求文件中安装Python依赖项。

pip3 install -r requirements.txt

 成功安装后,停用虚拟环境,

$deactivate
$exit

创建Odoo日志文件:

sudo touch /var/log/odoo.log

创建自定义插件路径:

sudo mkdir /opt/odoo/custom-addons

设置正确的目录权限:

sudo chown -R odoo:odoo /opt/odoo/ /var/log/odoo.log

 创建Odoo实例配置文件

$sudo tee  /etc/odoo.conf<<EOF
[options]
proxy_mode = True
; This is the password that allows database operations:
admin_passwd = 此处设置自己的密码
db_host = False
db_port = False
db_user = odoo
db_password = False
xmlrpc_port = 8069
logfile = /var/log/odoo.log
logrotate = True
addons_path = /opt/odoo/odoo/addons,/opt/odoo/custom-addons
$EOF

创建系统服务单元文件。

$sudo tee /etc/systemd/system/odoo.service<<EOF
[Unit]
Description=Odoo ERP Server
Requires=postgresql.service
After=network.target postgresql.service

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

[Install]
WantedBy=multi-user.target
$EOF

 重新加载系统服务:

sudo systemctl daemon-reload

启动创建的odoo服务。

sudo systemctl start odoo
sudo systemctl restart odoo

使它在启动时启动。

$ sudo systemctl enable odoo
Created symlink /etc/systemd/system/multi-user.target.wants/odoo.service → /etc/systemd/system/odoo.service.

确认Odoo服务是否设置为在启动时启动。

$ systemctl is-enabled odoo
enabled

检查是否正在运行。

$ systemctl status odoo

 

 一旦启动,Odoo服务应绑定到TCP端口 8069

$ sudo ss -tunelp | grep 8069
tcp     LISTEN   0        128              0.0.0.0:8069          0.0.0.0:*       users:(("python3",pid=25201,fd=4)) uid:992 ino:64882 sk:5 <->

开启端口

firewall-cmd --zone=public --add-port=8069/tcp --permanent  开启8069端口
success

重启防火墙

firewall-cmd --reload
success

查看端口号是否开启

firewall-cmd --query-port=8069/tcp
success

 

最后根据需要设置每隔30分钟root执行一次重启odoo
 
posted @ 2020-10-16 10:53  郑道杰  阅读(2594)  评论(2编辑  收藏  举报