Odoo v10.0版本迁移指南

1. 说明


Odoo是python语言开发的一个开源的ERP系统。
目前,我们工作中用到的也只有休假这一个模块。

2. 原服务情况


  • 服务
  • Odoo v10.0_20170303
  • postgresql v9.2
  • 目录
  • /usr/lib/python2.7/site-packages/odoo #Odoo运行的所有服务端代码存放位置
  • /var/lib/odoo #Odoo的数据存储位置
  • /etc/odoo/odoo.conf #Odoo的服务端配置文件
  • OS
  • CentOS 7.2

3. 备份


大致了解了原服务器的大致信息后,我们就开始备份数据。有一点很重要,我们为了确保数据的完整,一定要先停掉服务,然后再做备份的操作。

  • Odoo

/var/lib/odoo目录下有三个目录addonsfilestoresessions。addons目录默认是空的,实际的文件都在/usr/lib/python2.7/site-package/odoo/addons这个目录下面的。filestore是Odoo用来存放附件的目录,这个必须做一个备份才行。sessions是Odoo用来存放用户会话信息的目录,对于迁移后的新服务器来说没什么用,所以不需要做备份。

~]# tar zcvf Odoo_install.tar.gz /usr/lib/python2.7/site-packages/odoo /usr/lib/python2.7/site-packages/odooodoo-10.0_20170303-py2.7.egg-info #备份python程序部分
~]# tar zcfv Odoo_alldata.tar.gz /var/lib/odoo/filestore/oadbadmin  #备份Odoo数据部分的附件部分
  • Postgresql
~]$ pg_dump -U postgres oadbdmin -f Odoo_postgres_data.sql #备份postgresql数据

4. Odoo及postgresql安装


原来的数据都备份完成了,接下来我们就要开始新服务器的部署配置工作了。我们先列出来Odoo对硬件的要求。从官方文档中没找到,但是官方论坛里面有人贴出来了,链接地址:https://www.odoo.com/zh_CN/forum/help-1/question/server-requirements-121217,我把内容也贴出来吧。

  • Minimum Server Specification:
    Processor = Intel (64 bit)
    Number of Processors = 1
    Processor Core available = 6
    Memory = 8 Gigabyte
    OS = Ubuntu 14.04 LTS

  • Recommended server:
    Processor = Intel (64 bit)
    Number of Processors = 2
    Processor core available = 8
    Memory = 16 Gigabyte
    OS = Ubuntu 14.04
    HDD = Up to client

本次我们使用的操作系统为CentOS7.2,主要是为了减少与原来系统的差异。

CentOS的自带yum源中包含postgresql相关的软件包,可以直接安装。

$ sudo yum install -y postgresql-server  #安装postgresql的服务端
$ sudo postgresql-setup initdb #postgresql初始化,包括创建数据目录、生成共享目录表以及创建template1和postgresql数据库,该操作不能使用root用户
$ sudo systemctl enable postgresql  #启用开机启动postgresql功能
$ sudo systemctl start postgresql #启动postgresql服务

在CentOS系统上安装Odoo,有很多的依赖是自带的yum源所没有的,所以我们还需要安装EPEL的源,EPEL源中所没有的依赖部分会在文末列出来。
官方的yum源每天都会有一个新的滚动版本发布,为了更贴近原有服务器的odoo版本,我们采用rpm包的方式安装,官方仓库中已经没有20170303的版本了,所以这里我们使用20170401的版本。

~]# wget http://nightly.odoo.com/10.0/nightly/rpm/odoo_10.0.20170401.noarch.rpm
~]# yum install odoo_10.0.20170401.noarch.rpm

官方步骤如下:

$ sudo yum install yum-utils #yum包管理工具
$ sudo yum-config-manager --add-repo=https://nightly.odoo.com/10.0/nightly/rpm/odoo.repo #添加odoo的yum源
$ sudo yum install -y odoo
$ sudo systemctl enable odoo
$ sudo systemctl start odoo
  • 配置

本次主要是系统迁移,就不需要像新安装Odoo的步骤一样了。

(1). 我们需要把原系统的Odoo的配置文件放到新的服务器的/etc/odoo/odoo.conf目录下,覆盖安装时自动生成的配置文件。
(2). 删除现有的Odoo服务器端程序

~]# rm -rf /usr/lib/python2.7/site-packages/odoo/*

(3). 将之前备份的Odoo_install.tar.gzOdoo_alldata.tar.gz上传到新服务器上,然后解压到对应的位置。

~]# tar xvf Odoo_install.tar.gz -C /
~]# tar xvf Odoo_alldata.tar.gz -C /

(4). 重启Odoo

~]#systemctl restart odoo

(5). 数据库恢复
Odoo安装时会自动创建odoo用户,现在我们需要对数据库进行一些操作了。操作数据库我们需要切换用户到postgres,然后执行psql就会进入数据库。

postgres=# CREATE DATABASE oadbadmin; #创建odoo要使用的数据库
postgres=# ALTER DATABASE oadbadmin OWNER TO odoo; #修改oadbadmin数据库的owner为odoo

数据库的基本操作结束了,现在我们就要把之前备份的数据库导入到新的数据库中,与上面操作一样需要使用postgres用户来操作。

~]$ psql -U postgres -d oadbadmin -f Odoo_postgres_data.sql

5. 访问


Odoo和postgresql都准备好了,这下我们就可以来访问Odoo的页面了。
访问链接为: http://new_server's ip:8069,系统会自动跳转到登录页面,我们使用管理员用户登录系统(和操作原有系统一模一样)。
至此,Odoo基本OK了,但是还有一点点问题,在Odoo原来的配置中我们使用了OpenLDAP来做用户统一认证。原有的OpenLDAP也做了迁移,所以我们需要把这个部分也做相应的修改,我们在设置通用设置中进行LDAP认证的修改。

6. LDAP配置


10.0版本的ldap配置项如下图所示。


openldap
  • LDAP服务器地址
    这个就是指的提供ldap信息验证的服务所在服务器的IP地址,也可以是域名,但是需要在odoo服务端配置好dns服务器,否则无法解析域名。
  • LDAP服务器端口
    与上面提供的ldap服务相关的服务端口号,openLDAP默认389端口。
  • LDAP绑定DN
    这个账号是用来和ldap服务进行数据交互使用的,一般使用管理员的账号。
  • LDAP密码
    与上面的用户对应的密码
  • LDAP基节点
    这个代表我们需要搜索的用户所在的域,或者一个用户组,如果不做限制就用dc=xx,dc=xx这样的,做限制的话,类似ou=xxx,dc=xx,dc=xx
  • LDAP筛选
    这个选项代表的意思是我们使用ldap服务返回的那个字段来用作odoo用户的用户名(登录名),我们这里使用uid,也有很多使用mail。
  • 创建用户
    这个选项代表,在ldap中创建用户后,我们第一次在odoo中登录时,odoo系统会去ldap系统查找是否存在该用户,如果存在就会在odoo中创建该用户,并登录,但是这个版本会报500的服务器错误,服务器日志的打印是记录不存在或者已删除 ,这种情况下odoo就会创建该系统用户。
  • 模板用户
    该选项可以使用户在odoo中第一次登录的时候按照该用户的信息模板进行新用户的创建,包括邮件、手机号、权限等。这样的话,在odoo用户第二次登录的时候就可以正常进入系统(必须授予访问权限)。
  • 序号
    默认值即可,也可以改下一些。
  • 使用TLS传输层套接字
    如果服务端启用的话,可以勾选。

附1

Odoo特殊依赖列表

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,372评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,368评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,415评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,157评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,171评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,125评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,028评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,887评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,310评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,533评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,690评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,411评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,004评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,812评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,693评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,577评论 2 353

推荐阅读更多精彩内容