前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在CentOS 7上部署Odoo 12

在CentOS 7上部署Odoo 12

原创
作者头像
好派笔记
修改2021-09-15 17:42:36
2K0
修改2021-09-15 17:42:36
举报
文章被收录于专栏:好派笔记好派笔记
1.准备工作

安装CENTOS7.3后我们将从软件集合(SCL)信息库安装Python 3.6软件包。

通过启用SCL,您将可以访问核心存储库中不提供的较新版本的编程语言和服务。使用以下命令启用EPEL和SCL存储库:

  1. [root@localhost ~]# yum install epel-release centos-release-scl

启用存储库后,安装Python 3.6以构建Odoo依赖项所需的所有工具:

  1. [root@localhost ~]# yum install rh-python36 git gcc wget nodejs-less libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel

在安装过程中,系统将提示您接受GPG密钥。

2.创建Odoo用户
  1. [root@localhost ~]# useradd -m -U -r -d /opt/odoo12 -s /bin/bash odoo12
  2. [root@localhost ~]# 
3.安装和配置PostgreSQL

这里必须安装postgres10以上数据库,我们将从官方PostgreSQL存储库安装PostgreSQL 10。

首先启用PostgreSQL存储库:

  1. [root@localhost /]# yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm

已加载插件:fastestmirror, langpacks安装PostgreSQL服务器并创建一个新的PostgreSQL数据库集群:

  1. [root@localhost /]# yum install postgresql10-server postgresql10-devel
  2. 初始化数据库  
  3. [root@localhost /]# /usr/pgsql-10/bin/postgresql-10-setup initdb
  4. Initializing database ... OK  
  5. [root@localhost /]# 

安装完成后,启用并启动PostgreSQL服务:

  1. [root@localhost /]# systemctl enable postgresql-10
  2. Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql-10.service to /usr/lib/systemd/system/postgresql-10.service.  
  3. [root@localhost /]# systemctl start postgresql-10
  4. [root@localhost /]# 

在本例中,创建一个与先前创建的系统用户同名的PostgreSQL用户odoo12:

  1. [root@localhost /]#  su - postgres -c "createuser -s odoo12"
  2. [root@localhost /]#
4.安装Wkhtmltopdf

该wkhtmltox软件包提供了一组开源命令行工具,可以将HTML渲染为PDF和各种图像格式。为了打印PDF报告,您将需要该wkhtmltopdf工具。Odoo的推荐版本0.12.1在官方CentOS 7存储库中不可用。使用以下wget命令下载推荐的版本:

  1. [root@localhost ~]# wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.1/wkhtmltox-0.12.1_linux-centos7-amd64.rpm
  2. --2019-12-14 13:51:14--  https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.1/wkhtmltox-0.12.1_linux-centos7-amd64.rpm  
  3. 正在解析主机 github.com (github.com)... 13.250.177.223  
  4. 正在连接 github.com (github.com)|13.250.177.223|:443... 已连接。  

下载完成后,rpm输入以下命令安装软件包:

  1. [root@localhost ~]# yum localinstall wkhtmltox-0.12.1_linux-centos7-amd64.rpm
5.安装和配置Odoo 12

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

  1. [root@localhost ~]# sudo su - odoo12
  2. [odoo12@localhost ~]$   

首先从Odoo GitHub存储库克隆Odoo 12源代码:

git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo12/odoo

由于这里下载慢的问题,从本地直接上传

启用软件集合,以便我们可以访问python 3.6二进制文件:

  1. [odoo12@localhost ~]$ scl enable rh-python36 bash  
  2. [odoo12@localhost ~]$   

使用以下命令为Odoo安装创建一个新的Python虚拟环境:

  1. [odoo12@localhost ~]$ cd /opt/odoo12  
  2. [odoo12@localhost ~]$ python3 -m venv venv  
  3. [odoo12@localhost ~]$   

激活环境:

  1. [odoo12@localhost ~]$ source venv/bin/activate  
  2. (venv) [odoo12@localhost ~]$   

安装所有必需的Python模块:

  1. (venv) [odoo12@localhost ~]$ pip install -r requirements.txt  

安装完成后,请使用以下命令停用环境:

  1. (venv) [odoo12@localhost ~]$deactivate  

为自定义插件创建一个新目录:

  1. [root@localhost /]# mkdir /opt/odoo12/mycustom-addons

切回sudo用户eixt

复制文件,

  1. [root@localhost /]# cp /opt/odoo12/odoo/debian/odoo.conf /etc/odoo12.conf

接下来,打开文本编辑器并创建以下配置文件:

  1. [root@localhost /]# vi /etc/odoo12.conf
  2. [options]  
  3. ; This is the password that allows database operations:  
  4. admin_passwd = my_admin_passwd  
  5. db_host = False
  6. db_port = False
  7. db_user = odoo12  
  8. db_password = False
  9. addons_path = /opt/odoo12/odoo/addons,/opt/odoo12/mycustom-addons  

保存并关闭文件。

6.创建一个系统单位文件

要将Odoo作为服务运行,我们将创建一个单位文件。

打开您的文本编辑器,并odoo12.service在/etc/systemd/system/目录内创建一个文件:

  1. [root@localhost /]# vi /etc/systemd/system/odoo12.service
  2. [root@localhost /]# 
  3. ==========================  
  4. [Unit]  
  5. Description=Odoo12  
  6. Requires=postgresql-10.service  
  7. After=network.target postgresql-10.service  
  8. [Service]  
  9. Type=simple  
  10. SyslogIdentifier=odoo12  
  11. PermissionsStartOnly=true  
  12. User=odoo12  
  13. Group=odoo12  
  14. ExecStart=/usr/bin/scl enable rh-python36 -- /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf  
  15. StandardOutput=journal+console  
  16. [Install]  
  17. WantedBy=multi-user.target  
  18. =================================  

通知Systemd我们创建了一个新的单位文件:

  1. [root@localhost /]# systemctl daemon-reload  
  2. [root@localhost /]#   

通过执行以下命令来启动并启用Odoo服务:

  1. [root@localhost /]# systemctl enable odoo12  
  2. Created symlink from /etc/systemd/system/multi-user.target.wants/odoo12.service to /etc/systemd/system/odoo12.service.  
  3. [root@localhost /]# systemctl start odoo12  

使用以下命令检查服务状态:

  1. [root@localhost /]# systemctl status odoo12  
  2. ● odoo12.service - Odoo12  
  3.    Loaded: loaded (/etc/systemd/system/odoo12.service; enabled; vendor preset: disabled)  
  4.    Active: active (running) since 六 2019-12-14 15:57:46 CST; 7s ago  
  5.  Main PID: 19430 (scl)  
  6.     Tasks: 6
  7.    CGroup: /system.slice/odoo12.service  
  8.            ├─19430 /usr/bin/scl enable rh-python36 -- /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo-bin -c /etc/odoo12.conf  
  9.            ├─19431 /bin/bash /var/tmp/sclIKnSZo  
  10.            └─19434 /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo-bin -c /etc/odoo12.conf  
  11. 12月 14 15:57:46 localhost.localdomain systemd[1]: Started Odoo12.  
  12. 12月 14 15:57:47 localhost.localdomain odoo12[19430]: 2019-12-14 07:57:47,638 19434 INFO ? odoo: Odoo version 12.0+e-20190726
  13. 12月 14 15:57:47 localhost.localdomain odoo12[19430]: 2019-12-14 07:57:47,638 19434 INFO ? odoo: Using configuration file at /etc/odoo12.conf  
  14. 12月 14 15:57:47 localhost.localdomain odoo12[19430]: 2019-12-14 07:57:47,638 19434 INFO ? odoo: addons paths: ['/opt/odoo12/.local/share/Odoo/addons/12.0', '/opt/odoo12/odoo/add...om-addons']  
  15. 12月 14 15:57:47 localhost.localdomain odoo12[19430]: 2019-12-14 07:57:47,638 19434 INFO ? odoo: database: odoo12@default:default
  16. 12月 14 15:57:47 localhost.localdomain odoo12[19430]: 2019-12-14 07:57:47,946 19434 INFO ? odoo.addons.base.models.ir_actions_report: You need Wkhtmltopdf to print a pdf version ...he reports.  
  17. 12月 14 15:57:48 localhost.localdomain odoo12[19430]: 2019-12-14 07:57:48,251 19434 INFO ? odoo.service.server: HTTP service (werkzeug) running on localhost.localdomain:8069
  18. Hint: Some lines were ellipsized, use -l to show in full.  
  19. [root@localhost /]#   
7.测试

http://10.128.25.135:8069/

关闭防火墙或者开放8069端口。

  1. [root@localhost /]# systemctl stop firewalld  
  2. [root@localhost /]# systemctl start firewalld  
  3. [root@localhost /]# firewall-cmd --permanent --zone=public --add-port=8069/tcp  
  4. success  
  5. [root@localhost /]# firewall-cmd --reload  
  6. success  
  7. [root@localhost /]#   

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.准备工作
  • 2.创建Odoo用户
  • 3.安装和配置PostgreSQL
  • 4.安装Wkhtmltopdf
  • 5.安装和配置Odoo 12
  • 6.创建一个系统单位文件
  • 7.测试
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档