美文网首页
Odoo v10.0版本迁移指南

Odoo v10.0版本迁移指南

作者: 西伯利亚狼_ | 来源:发表于2018-12-12 09:09 被阅读73次

    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特殊依赖列表

    相关文章

      网友评论

          本文标题:Odoo v10.0版本迁移指南

          本文链接:https://www.haomeiwen.com/subject/zskshqtx.html