Odoo 中文社区

    • 注册
    • 登录
    • 搜索
    • 版块
    • 标签
    • 热门
    • 用户
    • 群组

    Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

    由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

    本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

    开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

    如果您登录系统碰到问题,请在微信公众号留言:

    本人实测在阿里云的 CentOS 7.4 下安装 Odoo 11 实例(git和wget tar.gz版)

    Odoo 安装指南
    3
    4
    2585
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • M
      mugua 最后由 mugua 编辑

      本人实测在阿里云的CentOS 7.4 下安装 Odoo 11实例(git和wget tar.gz版)
      由于 CentOS 的yum只能用python2.x执行,因此无法用rpm安装odoo11.
      下面是本人的实操经验, 若有不对,请指正,谢谢!
      (由于时间原因,暂时未标注命令代码,待有时间再编辑,SORRY!)
      GIT版:
      1: 先创建个odoo用户
      sudo groupadd odoo
      sudo adduser -g odoo odoo
      passwd odoo
      *** (后面安装和登陆均会用到,请牢记!)


      2:给root 权限:
      sudo vi /etc/sudoers
      修改文件参考如下:

      Allow root to run any commands anywhere

      root ALL=(ALL:ALL) ALL
      odoo ALL=(ALL:ALL) ALL (增加部分)
      保存退出,odoo用户就拥有了root权限。
      reboot
      这样便可通过远程Putty和WinSCP用odoo用户登录了.
      3: 进入odoo的家目录 cd ~, 开始安装旅程.
      第一步: 更新安装依赖并克隆Odoo源码
      1.1更新系统
      sudo yum update
      注:更新完毕后,最好重启下服务器。
      reboot
      1.2 安装python3以及pip3
      sudo yum install epel-release
      sudo yum install python36
      sudo yum install python36-devel libxslt-devel libxml2-devel openldap-devel
      sudo wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py
      sudo python36 get-pip.py(这样会导致原来的pip指向pip3,因此建议修改pip,因此需要执行以下代码还原pip为python2.X, sudo mv /usr/bin/pip /usr/bin/pip-bak , sudo ln -s /usr/bin/pip2 /usr/bin/pip , 然后执行 pip –V看看是不是指向Python2.X)
      1.3 安装nodejs:
      sudo yum install nodejs
      sudo yum install npm (若上条代码附带安装了npm则无需再安装)
      sudo npm install -g less
      sudo npm install -g less-plugin-clean-css
      1.4 安装wkhtmltopdf
      sudo yum install wkhtmltopdf
      1.5进入odoo的家目录(默认为/home/odoo, 若没有则创建 mkdir -p /home/wwwroot) cd ~, 克隆odoo源码 ,下面的命令会克隆到odoo的子目录内即:/home/odoo/odoo,建议改为/home/odoo/odoo11:
      sudo yum install git
      git clone https://www.github.com/odoo/odoo --depth 1 --branch 11.0

      第二步:安装Odoo系统所需的依赖:
      2.1
      cd ./odoo11
      sudo pip3 install -r requirements.txt
      sudo pip3 install -r ./doc/requirements.txt
      注:安装这些依赖时,注意看下载速度,有些时间段会比较慢.有时候还会无法访问到服务器,注意成功安装后的提示. 不行换个时间段安装 就会发现快很多(比如早上8点前)
      安装成功后提示:Successfully installed
      2.2 安装PostgreSQL以及数据库用户:
      sudo yum install postgresql-server –y
      sudo postgresql-setup initdb
      sudo systemctl enable postgresql
      sudo systemctl start postgresql
      sudo su - postgres
      createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo
      Enter password for new role: *****
      Enter it again:*****
      exit
      进入odoo源码目录(/home/odoo/odoo11)运行odoo-bin 并生成配置文件.
      (备注,由于未改动原python2.X,因此需要修改odoo-bin第1行
      #!/usr/bin/env python3
      为
      #!/usr/bin/python36
      )
      ./odoo-bin -s
      从启动日志可以看到,会在当前用户根目录生成配置文件 .odoorc (这个配置文件第三步会用到)
      Using configuration file at /home/odoo/.odoorc (日志内容,无需执行)
      再用root开一个新的终端窗口,使用ps aux |grep odoo 可以看到odoo的使用情况,比如:
      odoo 1010 0.9 1.6 421168 66852 pts/0 Sl+ 12:22 0:00 python3 ./odoo-bin -c /etc/odoo/odoo.conf
      确定是用python3 启动的 odoo.
      再用netstat -ant 可以看端口使用的情况 8069是odoo,22用于ssh,5432用于postgresl :
      tcp 0 0 0.0.0.0:8069 0.0.0.0:* LISTEN
      tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
      tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN
      如果不用随着系统启动启动odoo,到这里odoo已经可以手动启动了.
      如果希望随着系统自动启动,请继续看下去.
      注:还可以用sudo python36 odoo-bin -s 启动试试 ,ps aux | grep odoo里面看到是这样的:
      odoo 1058 2.7 1.6 422340 66012 pts/0 Sl+ 12:25 0:00 python3.5 odoo-bin
      用python3 和 python3.5 启动的,好像crtl + c 关不干净
      ctrl + c 应该可以终止,不过有时候好像会停不干净,需要reboot系统.
      第三步:设置配置文件
      3.1
      sudo mkdir /etc/odoo
      sudo cp /home/odoo/.odoorc /etc/odoo/odoo.conf
      sudo chown -R odoo /etc/odoo
      3.2 我们还需要创建存储Odoo日志的目录,通常位于/var/log内:
      sudo mkdir /var/log/odoo
      sudo chown odoo /var/log/odoo
      3.3 编辑配置文件。
      sudo vi /etc/odoo/odoo.conf
      下面是2个建议增加的值 :
      [options]
      logfile = /var/log/odoo/odoo.log
      logrotate = True
      简要说明:
      ● addons_path 使用,逗号分隔的扩展路径,会在路径中寻找模块,从左至右阅读,最左侧拥有最高的优先级。
      ● admin_passwd 是master主控密码,用于访问web客户端数据库管理。建议设置一个足够强的密码,设置为False能让此功能失效。
      ● db_user 数据库实例在服务器启动序列期间进行初始化。
      ● dbfilter 用于筛选可访问的数据库,它是Pythoninterpreted正则表达式. 用于不让用户选择数据库,及未验证的URLs正常工作,它应该以^dbname$设置, 例如 dbfilter=^odoo-prod$。 它支持%h和%d占位符, 用来HTTP请求的主机名和子域名.
      ● logfile Odoo服务日志写入的地方。系统服务的日志通常位于/var/log. 留空,或者设为False,日志则会以标准方式输出。
      ● logrotate = True 按天存放日志
      ● proxy_mode 当使用反向代理时,应当设为True。
      ● without_demo 在生产环境中应设为True,这样新的数据库中就不会有演示数据。
      ● workers 值为启用的处理器数量。
      ● xmlrpc_port 服务监听的端口号。默认使用8069
      ● data_dir 会话数据和附件存储的位置,记得备份它。
      ● xmlrpc-interface 设置监听的地址。默认值会监听所有端口 0.0.0.0, 在使用反向代理时,可以设置为127.0.0.1 目的是只对本地请求响应。
      通过-c参数运行服务,我们可以检查配置的效果:
      ./odoo-bin -c /etc/odoo/odoo.conf
      注意:因为设置了日志文件,所以不会跳出日志,
      ctrl + c 应该可以终止,不过有时候好像会停不干净,需要reboot系统.
      要看 日志的话,可以 再开一个终端 ,用odoo 用户,使用:
      tail -f /var/log/odoo/odoo.log 查看 日志。
      Odoo服务 启动后 试试看在界面 创建 数据库
      8:安装中文字体:
      sudo yum install wqy*
      第四步:创建 /lib/systemd/system/odoo.service 文件,让odoo随着系统自动启动
      4.1 编辑 /lib/systemd/system/odoo.service 文件:
      sudo vi /lib/systemd/system/odoo.service
      内容如下:
      [Unit]
      Description=Odoo
      After=postgresql.service
      [Service]
      Type=simple
      User=odoo
      Group=odoo
      ExecStart=/home/odoo/odoo11/odoo-bin -c /etc/odoo/odoo.conf
      [Install]
      WantedBy=multi-user.target
      4.2 需要注册新的服务: sudo systemctl enable odoo.service
      4.3 开启这个新服务:
      sudo systemctl start odoo
      检查它的状态:
      sudo systemctl status odoo

      如下所示,其中 Active active(running)表示正确运行,而且我们可以看到是运行在python3下的
      ● odoo.service - Odoo
      Loaded: loaded (/lib/systemd/system/odoo.service; enabled; vendor preset: enabled)
      Active: active (running) since Sun 2018-06-12 10:46:54 CST; 6s ago
      Main PID: 930 (python3)
      CGroup: /system.slice/odoo.service
      └─930 python3 /home/wwwroot/odoo/odoo11/odoo-bin -c /etc/odoo/odoo.conf

      Oct 15 12:46:54 ****(vps名) systemd[1]: Started Odoo.
      如果您希望停止它,使用下面的命令:
      sudo systemctl stop odoo
      也可以用 service odoo start 和 service odoo stop 来开启停止服务。
      现在可以确认我们的Odoo实例启动了,并能响应请求。
      如果Odoo正常运行,我们可以在日志文件中获得信息。我们可以检查Odoo是否响应HTTP请求:
      curl http://localhost:8069
      要检查日志文件,我们可以使用:
      sudo less /var/log/odoo/odoo.log (Q键退出)
      您还可以使用tail -f:
      sudo tail -f /var/log/odoo/odoo.log (Ctrl+C退出)

      PS, 企业版安装教程
      基于上述社区安装
      1: 下载企业版相关addons
      sudo git clone --depth 1 --branch 11.0 [检测到链接无效,已移除] /home/odoo/odoo11/enterprise/addons (此步骤需要有企业版下载权限,并输入账号密码才能下载)
      将压缩包解压到对应的文件夹下面,比如我是放在/home/odoo/odoo11/enterprise/addons下面.
      2: 编辑odoo.conf文件,增加enterprise的addons
      sudo vi /etc/odoo/odoo.conf
      将addons_path = /home/odoo/odoo11/odoo/addons,/home/odoo/odoo11/addons
      更改为:
      addons_path = /home/odoo/odoo11/enterprise/addons,/home/odoo/odoo11/odoo/addons,/home/odoo/odoo11/addons
      3: 重启odoo: sudo systemctl restart odoo,
      4: 创建企业版数据库(安装步骤同社区版):
      http://ip:8069/web/database/manager或者域名+ web/database/manager

      然后选择新建的数据库,输入账号密码登陆即进入企业版.

      WGET TAR.GZ版:
      1: 先创建个odoo用户
      sudo groupadd odoo
      sudo adduser -g odoo odoo
      passwd odoo
      *** (后面安装和登陆均会用到,请牢记!)


      2:给root 权限:
      sudo vi /etc/sudoers
      修改文件参考如下:

      Allow root to run any commands anywhere

      root ALL=(ALL:ALL) ALL
      odoo ALL=(ALL:ALL) ALL (增加部分)
      保存退出,odoo用户就拥有了root权限。
      reboot
      这样便可通过远程Putty和WinSCP用odoo用户登录了.
      3: 进入odoo的家目录 cd ~, 开始安装旅程.
      第一步: 更新安装依赖并克隆Odoo源码
      1.1更新系统
      sudo yum update
      注:更新完毕后,最好重启下服务器。
      reboot
      1.2 安装python3以及pip3
      sudo yum install epel-release
      sudo yum install python36
      sudo yum install python36-devel libxslt-devel libxml2-devel openldap-devel
      sudo wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py
      sudo python36 get-pip.py(这样会导致原来的pip指向pip3,因此建议修改pip,因此需要执行以下代码还原pip为python2.X, sudo mv /usr/bin/pip /usr/bin/pip-bak , sudo ln -s /usr/bin/pip2 /usr/bin/pip , 然后执行 pip –V看看是不是指向Python2.X)
      1.3 安装nodejs:
      sudo yum install nodejs
      sudo yum install npm (若上条代码附带安装了npm则无需再安装)
      sudo npm install -g less
      sudo npm install -g less-plugin-clean-css
      1.4 安装wkhtmltopdf
      sudo yum install wkhtmltopdf
      1.5进入odoo的家目录, (默认为/home/odoo, 若没有则创建 mkdir -p /home/wwwroot) cd /home/odoo, 克隆odoo源码 ,下面的命令会解压到odoo的子目录内即:/home/odoo/odoo-11.0.post2018****,建议修改为/home/odoo/odoo11
      http://nightly.odoo.com/11.0/nightly/src/odoo_11.0.latest.tar.gz

      第二步:安装Odoo系统所需的依赖:
      2.1
      cd ./odoo11
      sudo pip3 install -r requirements.txt
      (根据git版的提示,建议在执行命令前在最后2行插入:
      sphinx>=1.2
      sphinx-patchqueue>=1.0
      )
      注:安装这些依赖时,注意看下载速度,有些时间段会比较慢.有时候还会无法访问到服务器,注意成功安装后的提示. 不行换个时间段安装 就会发现快很多(比如早上8点前)
      安装成功后提示:Successfully installed
      2.2 安装PostgreSQL以及数据库用户:
      sudo yum install postgresql-server –y
      sudo postgresql-setup initdb
      sudo systemctl enable postgresql
      sudo systemctl start postgresql
      sudo su - postgres
      createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo
      Enter password for new role: *****
      Enter it again:*****
      exit
      由于wget版没有odoo-bin文件,可以新建一个odoo-bin,也可以直接copy odoo github下的这个文件. 内容如下:
      #!/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()
      进入odoo源码目录(/home/odoo/odoo11)运行odoo-bin, 并生成配置文件.
      (备注,由于未改动原python2.X,因此需要修改odoo-bin第1行
      #!/usr/bin/env python3
      为
      #!/usr/bin/python36
      )
      ./odoo-bin -s
      从启动日志可以看到,会在当前用户根目录生成配置文件 .odoorc (这个配置文件第三步会用到)
      Using configuration file at /home/odoo/.odoorc (日志内容,无需执行)
      再用root开一个新的终端窗口,使用ps aux |grep odoo 可以看到odoo的使用情况,比如:
      odoo 1010 0.9 1.6 421168 66852 pts/0 Sl+ 12:22 0:00 python3 ./odoo-bin -c /etc/odoo/odoo.conf
      确定是用python3 启动的 odoo.
      再用netstat -ant 可以看端口使用的情况 8069是odoo,22用于ssh,5432用于postgresl :
      tcp 0 0 0.0.0.0:8069 0.0.0.0:* LISTEN
      tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
      tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN
      如果不用随着系统启动启动odoo,到这里odoo已经可以手动启动了.
      如果希望随着系统自动启动,请继续看下去.
      注:还可以用sudo python36 odoo-bin -s 启动试试 ,ps aux | grep odoo里面看到是这样的:
      odoo 1058 2.7 1.6 422340 66012 pts/0 Sl+ 12:25 0:00 python3.5 odoo-bin
      用python3 和 python3.5 启动的,好像crtl + c 关不干净
      ctrl + c 应该可以终止,不过有时候好像会停不干净,需要reboot系统.
      第三步:设置配置文件
      3.1
      sudo mkdir /etc/odoo
      sudo cp /home/odoo/.odoorc /etc/odoo/odoo.conf
      sudo chown -R odoo /etc/odoo
      3.2 我们还需要创建存储Odoo日志的目录,通常位于/var/log内:
      sudo mkdir /var/log/odoo
      sudo chown odoo /var/log/odoo
      3.3 编辑配置文件。
      sudo vi /etc/odoo/odoo.conf
      下面是2个建议增加的值 :
      [options]
      logfile = /var/log/odoo/odoo.log
      logrotate = True
      简要说明:
      ● addons_path 使用,逗号分隔的扩展路径,会在路径中寻找模块,从左至右阅读,最左侧拥有最高的优先级。
      ● admin_passwd 是master主控密码,用于访问web客户端数据库管理。建议设置一个足够强的密码,设置为False能让此功能失效。
      ● db_user 数据库实例在服务器启动序列期间进行初始化。
      ● dbfilter 用于筛选可访问的数据库,它是Pythoninterpreted正则表达式. 用于不让用户选择数据库,及未验证的URLs正常工作,它应该以^dbname$设置, 例如 dbfilter=^odoo-prod$。 它支持%h和%d占位符, 用来HTTP请求的主机名和子域名.
      ● logfile Odoo服务日志写入的地方。系统服务的日志通常位于/var/log. 留空,或者设为False,日志则会以标准方式输出。
      ● logrotate = True 按天存放日志
      ● proxy_mode 当使用反向代理时,应当设为True。
      ● without_demo 在生产环境中应设为True,这样新的数据库中就不会有演示数据。
      ● workers 值为启用的处理器数量。
      ● xmlrpc_port 服务监听的端口号。默认使用8069
      ● data_dir 会话数据和附件存储的位置,记得备份它。
      ● xmlrpc-interface 设置监听的地址。默认值会监听所有端口 0.0.0.0, 在使用反向代理时,可以设置为127.0.0.1 目的是只对本地请求响应。
      通过-c参数运行服务,我们可以检查配置的效果:
      ./odoo-bin -c /etc/odoo/odoo.conf
      注意:因为设置了日志文件,所以不会跳出日志,
      ctrl + c 应该可以终止,不过有时候好像会停不干净,需要reboot系统.
      要看 日志的话,可以 再开一个终端 ,用odoo 用户,使用:
      tail -f /var/log/odoo/odoo.log 查看 日志。
      Odoo服务 启动后 试试看在界面 创建 数据库
      8:安装中文字体:
      sudo yum install wqy*
      第四步:创建 /lib/systemd/system/odoo.service 文件,让odoo随着系统自动启动
      4.1 编辑 /lib/systemd/system/odoo.service 文件:
      sudo vi /lib/systemd/system/odoo.service
      内容如下:
      [Unit]
      Description=Odoo
      After=postgresql.service
      [Service]
      Type=simple
      User=odoo
      Group=odoo
      ExecStart=/home/odoo/odoo11/odoo-bin -c /etc/odoo/odoo.conf
      [Install]
      WantedBy=multi-user.target
      4.2 需要注册新的服务: sudo systemctl enable odoo.service
      4.3 开启这个新服务:
      sudo systemctl start odoo
      检查它的状态:
      sudo systemctl status odoo

      如下所示,其中 Active active(running)表示正确运行,而且我们可以看到是运行在python3下的
      ● odoo.service - Odoo
      Loaded: loaded (/lib/systemd/system/odoo.service; enabled; vendor preset: enabled)
      Active: active (running) since Sun 2018-06-12 10:46:54 CST; 6s ago
      Main PID: 930 (python3)
      CGroup: /system.slice/odoo.service
      └─930 python3 /home/wwwroot/odoo/odoo11/odoo-bin -c /etc/odoo/odoo.conf

      Oct 15 12:46:54 ****(vps名) systemd[1]: Started Odoo.
      如果您希望停止它,使用下面的命令:
      sudo systemctl stop odoo
      也可以用 service odoo start 和 service odoo stop 来开启停止服务。
      现在可以确认我们的Odoo实例启动了,并能响应请求。
      如果Odoo正常运行,我们可以在日志文件中获得信息。我们可以检查Odoo是否响应HTTP请求:
      curl http://localhost:8069
      要检查日志文件,我们可以使用:
      sudo less /var/log/odoo/odoo.log (Q键退出)
      您还可以使用tail -f:
      sudo tail -f /var/log/odoo/odoo.log (Ctrl+C退出)

      PS, 企业版安装教程
      Wget版是将社区版和企业版放在一个addons下面了, 只要下载source包即可按照社区版的安装方式安装即可.
      1: 下载
      用你的账号进入Odoo官网下载页面: https://www.odoo.com/zh_CN/page/download
      选择source 一列下载.

      2: 安装(省略, 详见社区版安装步骤)

      若您在使用过程中还有什么问题,您可以联系我大家一起探讨.
      我的QQ 65016198, 谢谢.

      感谢: 本文参照了卓亿的文章<整理及测试:Odoo11安装,Odoo11生产环境部署:在Ubuntu Server16.04下Odoo11安装并配置为服务>, 在此表示感谢!
      相关链接:
      https://odoo.net.cn/topic/4772/整理及测试-odoo11安装-odoo11生产环境部署-在ubuntu-server16-04下odoo11安装并配置为服务

      B 1 条回复 最后回复 回复 引用 0
      • B
        beckham1977 @mugua 最后由 编辑

        @mugua

        sudo pip3 install -r requirements.txt 这一步报错。

        Running setup.py install for lxml ... error
        Complete output from command /bin/python36 -u -c "import setuptools, tokenize;file='/tmp/pip-install-7ykoshrh/lxml/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-record-pr1kzk2_/install-record.txt --single-version-externally-managed --compile:

        gcc -pthread -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/usr/include/libxml2 -Isrc/lxml/includes -I/usr/include/python3.6m -c src/lxml/lxml.etree.c -o build/temp.linux-x86_64-3.6/src/lxml/lxml.etree.o -w
        unable to execute 'gcc': No such file or directory
        Compile failed: command 'gcc' failed with exit status 1
        cc -I/usr/include/libxml2 -I/usr/include/libxml2 -c /tmp/xmlXPathInitw6u_9bo6.c -o tmp/xmlXPathInitw6u_9bo6.o
        unable to execute 'cc': No such file or directory
        *********************************************************************************
        Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
        *********************************************************************************
        error: command 'gcc' failed with exit status 1

        ----------------------------------------
        

        Command "/bin/python36 -u -c "import setuptools, tokenize;file='/tmp/pip-install-7ykoshrh/lxml/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-record-pr1kzk2_/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-7ykoshrh/lxml/

        digitalsatori M 2 条回复 最后回复 回复 引用 0
        • digitalsatori
          digitalsatori 管理员 @beckham1977 最后由 编辑

          @beckham1977 请参照这里:https://mp.weixin.qq.com/s/RMLwuqIjvz9Js_d-_2iLDw

          【上海先安科技】(tony AT openerp.cn)

          1 条回复 最后回复 回复 引用 0
          • M
            mugua @beckham1977 最后由 编辑

            @beckham1977
            lxml未安装成功,请确认安装了相关开发环境 libxml2-devel ?

            1 条回复 最后回复 回复 引用 0
            • First post
              Last post