docker安装postgresql 以及源码安装odoo12(全过程)

2023-11-09

-------------------通用命令
实时查看docker容器日志
docker container {stop|start} nexus
docker container {stop|start} redis
docker ps -a:列出所有的容器
docker rm 容器名:移除容器
$ sudo docker logs -f -t --tail 100 redis 【redis容器名称】

firewall-cmd --zone=public --add-port=8069/tcp --permanent 或者可以直接添加端口

firewall-cmd --reload 重载防火墙

注意 :如果你复制命令是否,命令报错,可能是从网页复制过去 格式有问题,我遇到一个坑“空格、- 都需要重新替换”

复制注意前后空格、复制注意前后空格、复制注意前后空格

复制注意前后空格、复制注意前后空格、复制注意前后空格

复制注意前后空格、复制注意前后空格、复制注意前后空格

说9遍
一、----------------------docker 安装postgresql11
1,下载docker pull postgresql
2,所有postgresql配置文件和数据数据文件位于:挂在数据
/var/lib/postgresql/data 
我们要重新指定容器外的路径
mkdir -p /home/postgresql11/data
3,运行postgres
docker run --name postgres -e POSTGRES_PASSWORD=postgresql@wings@2018 -v /home/postgresql10/data:/var/lib/postgresql/data  -p 5432:5432 -d postgres
4 连接数据库
之前的准备工作都已完成,下一步就是从外部访问数据库了。 
这一步就很常规了:
psql -U postgres -h 192.168.100.172 -p 54321
注意: 
postgres镜像默认的用户名为postgres, 
登陆口令为创建容器是指定的值。
5,登陆docker容器
docker exec -it postgres /bin/bash

6,创建数据库和用户
$ su - postgres
$ createuser -P -d -U postgres odoo;  密码【输入密码】
$ psql
$ postgres=# create database odoo with owner=odoo encoding='UTF8';
$ postgres=# \q
7 退出容器 
 exit;

二、安装版本:nodejs 10.13.0

安装依赖

sudo yum install gcc gcc-c++

2,从源码下载Nodejs

cd /usr/local/src
wget https://npm.taobao.org/mirrors/node/v10.13.0/node-v10.13.0.tar.gz

3解压 nodejs 安装包

tar xvf node-v10.13.0.tar.gz

4,进入解压的 node 文件夹,开始编译

cd node-v10.13.0/
./configure
make

5 安装

sudo make install

6,验证是否正确安装

node -v

7 odoo 官网要求安装 rtlcss

npm install -g rtlcss

注:是否要安装其他的未知。

三 、安装odoo

Odoo 12已正式发布,在 GithubNigthly 均可下载源码,此前在博客上发布了Ubuntu 快速安装配置Odoo 12,本文探讨 CentOS 上安装 Odoo 12的相关内容。

sudo yum -y update
sudo yum -y install epel-release
# 添加Software Collections (SCL) 安装 Python
sudo yum -y install centos-release-scl
sudo yum -y install rh-python36
# 或直接执行(可能需要提前执行yum -y groupinstall "Development tools")
sudo yum -y install python36 python36-devel
# 又或者
curl -O https://www.python.org/ftp/python/3.6.7/Python-3.6.7rc2.tgz
tar xf Python-3.6.7rc2.tgz
cd Python-3.6.7rc2
./configure
make
sudo make install
# 安装其它所需依赖
sudo yum -y install git gcc wget nodejs-less libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel

添加新用户(可选)

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

或者 创建好用户 添加 

chmod -R 777 /opt/odoo/

 

注意:Odoo 12要求安装 PostgreSQL 10否则会出现报错:

Database creation error: relation "ir_model" does not exist LINE 1: SELECT * FROM ir_model WHERE state='manual' 

安装Wkhtmltopdf

wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm
sudo yum localinstall wkhtmltox-0.12.5-1.centos7.x86_64.rpm
# 中文字体
yum install -y wqy*

安装Sass

yum install -y sassc

安装 Odoo

用户准备

不设置执行后述操作时会报出xxx is not in the sudoers file. This incident will be reported.

su - root
visudo
# 在root    ALL=(ALL)       ALL下添加相应用户
odoo    ALL=(ALL)       ALL

安装及配置

需要安装python3 隔离环境

mkdir /opt/virtualenvs

chmod -R 777 /opt/virtualenvs

查找 find / -name virtualenvwrapper.sh

我的路径是:/usr/local/bin/virtualenvwrapper.sh

# 切换用户
sudo su - odoo
cd /opt/odoo
wget http://nightly.odoo.com/12.0/nightly/src/odoo_12.0.latest.tar.gz
# 或git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo/odoo12

unzip odoo-12.0.zip 或者 tar -zxvf odoo_12.0.latest.tar.gz
mv odoo-12.0 odoo12

# 当前使用 nightly 版本有一个坑,需要自行添加 odoo-bin 文件【在github下载不存在此坑】
sudo vi odoo12/odoo-bin
#!/usr/bin/env python3

# set server timezone in UTC before time module imported
__import__('os').environ['TZ'] = 'UTC'
import odoo

if __name__ == "__main__":
    odoo.cli.main()
#添加执行权限【root执行】
chmod +x /opt/odoo/odoo12/odoo-bin
#环境搭建
python36 -m venv odoo12-venv 
source odoo12-venv/bin/activate【激活虚拟环境】【deactivate   # 退出当前的虚拟环境】

# 或者 Virtualenvwrapper(使用这种方法/etc/systemd/system/odoo12.service也需调整)
curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python36 get-pip.py 
pip3 install virtualenvwrapper
# vi ~/.bashrc
export WORKON_HOME=/opt/virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python36
source /usr/local/bin/virtualenvwrapper.sh 
#重载.bashrc
source  ~/.bashrc

# 安装依赖包
cd /opt/odoo

pip3 install -i https://pypi.douban.com/simple -r odoo12/requirements.txt
deactivate 【deactivate   # 退出当前的虚拟环境】

# 创建自定义插件目录
cd /opt/odoo
mkdir odoo12/local-addons

# 创建配置文件(<a href="https://www.jianshu.com/p/abf366d7319e" target="_blank" rel="noopener" data-mce-href="https://www.jianshu.com/p/abf366d7319e">配置项详解参考</a>)
# odoo11/odoo-bin --help也可进行查看
sudo vi /etc/odoo12.conf

[options]
; This is the password that allows database operations:
# 此处密码请自行修改
admin_passwd = superadmin_passwd
db_host = False
db_port = False
db_user = odoo
db_password = False
; addons_path = /opt/odoo/odoo12/odoo/addons
; If you are using custom modules
addons_path = /opt/odoo/odoo12/addons,/opt/odoo/odoo12/local-addons

odoo12.conf 文件内容参数 请参考官网

 

添加服务

sudo vi /etc/systemd/system/odoo12.service

[Service]
Type=simple
SyslogIdentifier=odoo12
PermissionsStartOnly=true
User=odoo
Group=odoo
WorkingDirectory=/opt/odoo
Environment=/opt/odoo/odoo12-venv/bin/activate
ExecStart=/opt/odoo/odoo12-venv/bin/python3 /opt/odoo/odoo12/odoo-bin -c /etc/odoo12.conf
# ExecStart=/usr/bin/scl enable rh-python36 -- /opt/odoo/odoo12-venv/bin/python3 /opt/odoo/odoo12/odoo-bin -c /etc/odoo12.conf
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target

# 启动服务
sudo systemctl daemon-reload
sudo systemctl start odoo12

firewall-cmd --zone=public --add-port=8069/tcp --permanent 或者可以直接添加端口

firewall-cmd --reload  重载防火墙

PS: (1)如果出现ERROR odoo odoo.modules.loading: Database odoo not initialized, you can force it with `-i base` 

解决方案:我在配置文件中增加了 dbfilter ,成功。不要默认

dbfilter = odoo12

第二个解决方案:在GitHub上有人说增加 -i base参数【没成功】

/opt/odoo/odoo12-venv/bin/python3 /opt/odoo/odoo12/odoo-bin -i base -c /etc/odoo12.conf【启动命令,需要在虚拟环境执行,写在odoo12.service】

 

PS:(2)运行多环境odoo

cp /etc/odoo12.conf /etc/odoo8079.conf

[options]
; This is the password that allows database operations:
# 此处密码请自行修改
admin_passwd = dfasdfasfsadf
db_host = 127.0.0.1
db_port = 5432
db_user = odoo
db_password = fdasfassafads
dbfilter = odoo79
; addons_path = /opt/odoo/odoo12/odoo/addons
; If you are using custom modules
addons_path = /opt/odoo/odoo12/addons,/opt/odoo/odoo12/local-addons
;指定用来存储日志的文件
logfile = /opt/odoo/odoo12/data/openerp-server8079.log
data_dir = /opt/odoo/data


到虚拟隔离环境执行如下启动命令[root执行报错,需要用odoo用户]
su - odoo
cd /opt/odoo
source odoo12-venv/bin/activate

/opt/odoo/odoo12-venv/bin/python3 /opt/odoo/odoo12/odoo-bin  -c /etc/odoo8079.conf
后台启动
nohup /opt/odoo/odoo12-venv/bin/python3 /opt/odoo/odoo12/odoo-bin  --config=/etc/odoo8079.conf &

nohup /opt/odoo/odoo12-venv/bin/python3 /opt/odoo/odoo12/odoo-bin -c /etc/odoo8079.conf &

启动命令 -c参数 与 --config 功能一样。

PS:(3) 不要乱加参数

xmlrpc = True
xmlrpc_interface =
千万不要增加,好多参数 都是odoo10之前的参数,odoo12 不可用,官方文档没有扎到,如果增加不可用参数 后台无任何log

浏览器报错

错误:provisional headers are shown 

docker 安装odoo 传送门,这个方便简单

参考如下内容:
作者:矢寸心
链接:https://www.jianshu.com/p/ac5f2f93976d
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

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

docker安装postgresql 以及源码安装odoo12(全过程) 的相关文章

随机推荐

  • web服务器安全部署文档,安全部署企业WEB服务器(4页)-原创力文档

    安全部署企业 WEB 服务器 摘 要 WEB 服务器是 Intranet 企业 内部网 网站的核心 其中的数据资料非常重要 安全部署WEB 服务器是企业面临的一项重要工作 系统安装 安全策略和 IIS 安全策略 对企业 WEB 服务器安全
  • javacv-ffmpeg播放视频里的音频

    在javacv封装的ffmpeg包中 可以通过FFMpegFrameGrabber捕获image数据和sample数据 而且捕获的都是译码后的 下面通过一个Demo来实现如何处理sample数据 1 首先实例化一个FFMpegFrameGr
  • Basic Level 1037 在霍格沃茨找零钱 (20分)

    题目 如果你是哈利 波特迷 你会知道魔法世界有它自己的货币系统 就如海格告诉哈利的 十七个银西可 Sickle 兑一个加隆 Galleon 二十九个纳特 Knut 兑一个西可 很容易 现在 给定哈利应付的价钱 P 和他实付的钱 A 你的任务
  • Hexo Theme NexT 主题个性化配置最佳实践

    一般情况下 当我们在使用 Hexo 的 NexT 主题时 都希望把博客改造成自己喜欢的风格 NexT 主题经过不断的迭代积累 目前提供了非常丰富的配置来满足使用者的个性化需求 经过一段时间的摸索 我总结了一些有关 NexT 主题配置的最佳实
  • 深入浅出Yolo系列之Yolov3&Yolov4&Yolov5&Yolox核心基础知识完整讲解

    因为工作原因 项目中经常遇到目标检测的任务 因此对目标检测算法会经常使用和关注 比如Yolov3 Yolov4算法 Yolov5算法 Yolox算法 当然 实际项目中很多的第一步 也都是先进行目标检测任务 比如人脸识别 多目标追踪 REID
  • Java对象导论,什么是对象

    在think in Java一书中这样表述对象 1 万物皆为对象 将对象视为奇特的变量 它可以存储数据 除此之外 你还可以要求它在自身上执行操作 理论上讲 你可以抽取待求解问题的任何概念化构建 狗 建筑物 服务 等 将其表示为程序中的对象
  • leaflet中fitBounds方法带来的问题

    这个方法用leaflet的同学都用过 可当没有图层的时候添加一个图层用这个方法定位就会出现不能再缩小的问题 第一个图层建议用setview方法 这样不会增加特殊属性minzoom
  • 优化算法——全局灵敏度分析算法(PAWN )(Matlab代码实现)

    欢迎来到本博客 本文目录如下 目录 1 概述 2 使基于SWAT 的高参数模型的 PAWN 和 Sobol 敏感性分析方法的比较 3 Matlab代码实现 1 概述 大量参数是复杂环境模型的主要问题 因为它限制了它们的应用 因此 旨在识别模
  • 华为ICT大赛实践赛备赛经验总结

    华为ICT大赛备赛经验总结 1 比赛形式 去年的省赛是个人赛形式 只有笔试 满分1000分 题目类型为 判断正误 单选 多选 省赛是考试的形式 最后取全校前三作为学校的代表队 然后和其他学校的代表队进行比较 分数最高的进入到国赛 国赛有实践
  • ES返回值数量超过10000条解决方式

    现象 ES默认返回数据量为10000条 当分页的from超过10000条的时候 es就会如下报错 Result window is too large from size must be less than or equal to 1000
  • 【JavaScript】关于手机中的触摸手势操作实现过程详解

    这里实现触摸手势操作的有四个基本方向 上 下 左 右 用javascript语言编写 可以参考下 笔者TA远方在一个文件名为gesture js写了 定义触摸操作中的所有手势 一共8个总方向 包括四个基本方向 还有一个点击 代码如下 con
  • 注解方式开发Servlet程序

    一 注解方式开发Servlet程序 package cn tedu servlet import javax servlet ServletException import javax servlet annotation WebServl
  • Spring MVC中如何使用forward进行请求转发呢?

    转自 Spring MVC中如何使用forward进行请求转发呢 下文讲述Spring MVC进行请求转发的2种方式简介说明 如下所示 Spring MVC种forward请求是一种服务器端请求方式 它无需通过客户端 可以提高系统的转发速度
  • linux sort uniq -c

    文档编辑 sort 功能说明 将文本文件内容加以排序 语 法 sort bcdfimMnr o lt 输出文件 gt t lt 分隔字符 gt lt 起始栏位 gt lt 结束栏位 gt help verison 文件 补充说明 sort可
  • Vue+element 首页业务实现

    接着上篇登录后 登录表单数据发送给服务器 验证成功后返回token口令 储存到浏览器会话窗口 方便登录过后的一些请求发送 统一封装的 axios 配置axios import axios from axios 请求的根路径 axios de
  • 京东苹果商品信息爬取(纯代码)

    from selenium import webdriver from selenium webdriver chrome service import Service from selenium webdriver common by i
  • 阿里云磁盘格式由MBR调整为GPT步骤示例

    阿里云磁盘容量大于2T时 需要将默认磁盘格式MBR 调整为GPT 且调整磁盘格式后 不可以使用磁盘快照回滚 来恢复磁盘里面的内容 磁盘快照也是原MBR格式的 oss扩容 直接升级到2T 磁盘扩容步骤示例 1 停止D盘的tomcat等服务 2
  • 正交矩阵

    UUT UTU I U U T U T U I
  • git format-patch

    转自 https blog csdn net wsclinux article details 53842418 1使用git format patch生成所需要的patch 当前分支所有超前master的提交 git format pat
  • docker安装postgresql 以及源码安装odoo12(全过程)

    通用命令 实时查看docker容器日志 docker container stop start nexus docker container stop start redis docker ps a 列出所有的容器 docker rm 容器