Odoo 中文社区

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    1. Home
    2. mugua

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

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

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

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

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

    M
    • Profile
    • Following 0
    • Followers 3
    • Topics 2
    • Posts 10
    • Best 1
    • Controversial 0
    • Groups 0

    mugua

    @mugua

    1
    Reputation
    365
    Profile views
    10
    Posts
    3
    Followers
    0
    Following
    Joined Last Online

    mugua Unfollow Follow

    Best posts made by mugua

    • 阿里云部署 CentOS7.4+Python3.6+Postgresql10+Odoo12+OpenResty1.13(Nginx1.13) 实例教程

      第一步:安装环境
      1.1 安装Python3.6

      # yum -y update
      # yum -y groupinstall "Development tools"
      # yum install glibc-static libstdc++-static
      # yum install python36-devel libxslt-devel libxml2-devel openldap-devel
      # yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
      # mkdir /usr/local/python3
      # tar -xvJf  Python-3.6.6.tar.xz 
      (包从Python官网下载https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tar.xz)
      # cd Python-3.6.6
      # ./configure --prefix=/usr/local/python3
      # make && make install
      # ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
      # ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
      # pip3 install --upgrade pip
      # pip3 install --upgrade setuptools
      # cd  (返回根目录)
      

      1.2 安装Sass

      # pip3 install libsass (安装依赖库,若已安装无需执行)
      
      # yum install sassc
      

      1.3 安装wkhtmltopdf

      # yum install libXrender xorg-x11-fonts-75dpi xorg-x11-fonts-Type1 libXext libjpeg libpng 
      (若已安装了则无需再安装)     
      # rpm -ivh wkhtmltox-0.12.5-1.centos7.x86_64.rpm 
      (GitHub中https://github.com/wkhtmltopdf/wkhtmltopdf/releases下载在根目录即可)
      

      1.4 安装字体

      # yum install wqy*
      

      1.5 安装Postgresql数据库(Odoo12一定要PGSQL10,否则安装数据库的时候会出错)

      # yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
      # yum install postgresql10
      # yum install postgresql10-server
      # /usr/pgsql-10/bin/postgresql-10-setup initdb
      # systemctl enable postgresql-10
      # systemctl start postgresql-10
      # su - postgres -c "createuser -s odoo"
      

      第二步: 解压程序,安装Python组件及运行Odoo
      1.1 创建odoo用户及odoo用户组

      # groupadd odoo
      # adduser -g odoo -d /home/wwwroot/www.domain.com -m odoo (查看是否有/home/wwwroot文件夹,若没有则新增)
      # passwd odoo
      # *** (后面安装和登陆均会用到,请牢记!)
      

      1.2 授予odoo sudo权限

      # vi /etc/sudoers
      

      修改文件参考如下:

      ## Allow root to run any commands anywhere 
      root    ALL=(ALL:ALL) ALL
      odoo    ALL=(ALL:ALL) ALL (增加部分)
      

      保存退出,odoo用户就拥有了sudo权限。

      # reboot
      

      1.3 用odoo用户登陆SSH和WinSCP(SFTP)
      1.4 下载最新的程序包(默认登陆SSH在/home/odoo下面)

      # wget http://nightly.odoo.com/12.0/nightly/src/odoo_12.0.latest.tar.gz
      # tar –zxvf odoo_12.0.latest.tar.gz
      

      1.5 在WinSCP里面将odoo-12.post2018****文件夹的内容全部(含隐藏文件)copy到www.domain.com里面

      # cp -R /home/wwwroot/odoo-12.post2018****/. /home/wwwroot/www.domain.com 
      

      1.6 用SSH安装 Odoo所需的Python3组件.

      # cd ./www.domain.com
      # sudo pip3 install -r requirements.txt
      (根据git版的提示,建议在执行命令前在最后2行插入: 
      sphinx>=1.2
      sphinx-patchqueue>=1.0)
      

      1.7 进入odoo源码目录(/home/wwwroot/www.domain.com)运行odoo-bin (没有可以自行创建,并给与755权限, 内容可参考github里的对应文件)并生成配置文件.
      (备注,由于未改动原python2.X,因此需要修改odoo-bin第1行 #!/usr/bin/env python3为 #!/usr/bin/python3)

      # ./odoo-bin -s
      

      1.8 设置配置文件

      # sudo mkdir /etc/odoo
      # sudo cp /home/wwwroot/www.domain.com/.odoorc /etc/odoo/odoo.conf
      # sudo chown -R odoo:odoo /etc/odoo
      # sudo mkdir /var/log/odoo
      # sudo chown -R odoo:odoo /var/log/odoo
      

      1.9 编辑配置文件

      # sudo vi /etc/odoo/odoo.conf
      

      下面是2个建议增加的值 :

      [options]
      logfile = /var/log/odoo/odoo.log
      logrotate = True
      

      1.10 创建开机启动odoo

      # sudo vi /lib/systemd/system/odoo.service
      

      内容如下:

      [Unit]
      Description=Odoo
      After=postgresql-10.service
      [Service]
      Type=simple
      User=odoo
      Group=odoo
      ExecStart=/home/wwwroot/www.domain.com/odoo-bin -c /etc/odoo/odoo.conf
      [Install]
      WantedBy=multi-user.target
      

      注册新的服务:

      # sudo systemctl enable odoo.service
      

      开启这个新服务:

      # sudo systemctl start odoo
      

      检查它的状态:

      # sudo systemctl status odoo
      

      重启这个服务:

      # sudo systemctl restart odoo
      

      若显示如下内容则表示运行成功了:

      ● odoo.service - Odoo
         Loaded: loaded (/lib/systemd/system/odoo.service; enabled; vendor preset: enabled)
         Active: active (running) since Sun 2018-10-10 10:46:54 CST; 6s ago
       Main PID: 930 (python3)
         CGroup: /system.slice/odoo.service
                 └─930 python3 /home/wwwroot/www.domain.com/odoo-bin -c /etc/odoo/odoo.conf
      

      如果您希望停止它,使用下面的命令:

      # 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退出)
      

      1.11 登录IP:8069, 按照提示安装数据库即可正常运行odoo
      1.12 安装好niginx并设置好vhost(建议用oneinstack的openresty)后, 将/usr/local/openresty/nginx/conf/vhost/www.domain.com备份,然后用下面的代码更换后重启服务器即可用域名访问(建议https).
      Nginx代码如下:

      upstream odoo12 {
          server 127.0.0.1:8069 weight=1 fail_timeout=0;
      }
      
      upstream odoo12-im {
          server 127.0.0.1:8072 weight=1 fail_timeout=0;
      }
      
      server {
        listen 80;
        listen 443 ssl http2;
        ssl_certificate /usr/local/openresty/nginx/conf/ssl/www.domain.com.crt;
        ssl_certificate_key /usr/local/openresty/nginx/conf/ssl/www.domain.com.key;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
        ssl_prefer_server_ciphers on;
        ssl_session_timeout 10m;
        ssl_session_cache builtin:1000 shared:SSL:10m;
        ssl_buffer_size 1400;
        add_header Strict-Transport-Security max-age=15768000;
        ssl_stapling on;
        ssl_stapling_verify on;
        server_name www.domain.com domain.com;
        access_log /home/wwwlogs/www.domain.com_nginx.log combined;
        error_log /home/wwwlogs/www.domain.com_nginx_err.log notice;
        index index.html index.htm index.php;
        root /home/wwwroot/www.domain.com;
        if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
        if ($host != www.domain.com) {  return 301 $scheme://www.domain.com$request_uri;  }
        include /usr/local/openresty/nginx/conf/rewrite/none.conf;
        #error_page 404 /404.html;
        #error_page 502 /502.html;
        
        #increase proxy buffer to handle some OpenERP web requests 
              proxy_buffers 16 64k;
              proxy_buffer_size 128k;
      
              #general proxy settings
              #force timeouts if the backend dies
              proxy_connect_timeout 600s;
              proxy_send_timeout 600s;
              proxy_read_timeout 600s;
      
              proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
      
              #set headers
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
      
              #Let the OpenERP web service know that we’re using HTTPS, otherwise
              #it will generate URL using http:// and not https://
              proxy_set_header X-Forwarded-Proto https;
      
              #by default, do not forward anything
              proxy_redirect off;
              proxy_buffering off;
      
              location / {
              proxy_pass http://odoo12;
              }
      
              location /longpolling {
              proxy_pass http://odoo12-im;
              }
      
              #cache some static data in memory for 60mins.
              #under heavy load this should relieve stress on the OpenERP web interface a bit.
      
              location /web/static/ {
              proxy_cache_valid 200 60m;
              proxy_buffering on;
              expires 864000;
              proxy_pass http://odoo12;
              }
      }
      

      备注: 已根据1楼的朋友更新教程, 欢迎大家随时交流, 我的QQ:65016198. 谢谢.
      0_1539236432429_odoo12.png

      posted in Odoo 安装指南
      M
      mugua

    Latest posts made by mugua

    • RE: 阿里云部署 CentOS7.4+Python3.6+Postgresql10+Odoo12+OpenResty1.13(Nginx1.13) 实例教程

      @warlocks 我教程里面写了,若没有可以自行创建,rpm包里面有,但是tar包里没有,所以要自行创建。

      posted in Odoo 安装指南
      M
      mugua
    • RE: 阿里云部署 CentOS7.4+Python3.6+Postgresql10+Odoo12+OpenResty1.13(Nginx1.13) 实例教程

      @hui , 今天帮客户安装的时候就需要单独安装依赖包,因此我的教程也修改了下,谢谢你的提醒.

      posted in Odoo 安装指南
      M
      mugua
    • RE: 阿里云部署 CentOS7.4+Python3.6+Postgresql10+Odoo12+OpenResty1.13(Nginx1.13) 实例教程

      @hui 我装PY3.6的时候已经装好了,因此无需再安装.

      posted in Odoo 安装指南
      M
      mugua
    • RE: 阿里云部署 CentOS7.4+Python3.6+Postgresql10+Odoo12+OpenResty1.13(Nginx1.13) 实例教程

      @hui ,我的在安装Python3.6的时候已经安装了libsass...

      posted in Odoo 安装指南
      M
      mugua
    • RE: 阿里云部署 CentOS7.4+Python3.6+Postgresql10+Odoo12+OpenResty1.13(Nginx1.13) 实例教程

      @mark7788 在 阿里云部署 CentOS7.4+Python3.6+Postgresql10+Odoo12+OpenResty1.13(Nginx1.13) 实例教程 中说:

      Failed at step EXEC spawning /home/wwwroo

      把错误贴出来. 应该是这句错误导致的:
      Failed at step EXEC spawning /home/wwwroo....

      posted in Odoo 安装指南
      M
      mugua
    • RE: 阿里云部署 CentOS7.4+Python3.6+Postgresql10+Odoo12+OpenResty1.13(Nginx1.13) 实例教程

      @digitalsatori
      谢谢,已根据您的建议修正教程并Markdown了...

      posted in Odoo 安装指南
      M
      mugua
    • 阿里云部署 CentOS7.4+Python3.6+Postgresql10+Odoo12+OpenResty1.13(Nginx1.13) 实例教程

      第一步:安装环境
      1.1 安装Python3.6

      # yum -y update
      # yum -y groupinstall "Development tools"
      # yum install glibc-static libstdc++-static
      # yum install python36-devel libxslt-devel libxml2-devel openldap-devel
      # yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
      # mkdir /usr/local/python3
      # tar -xvJf  Python-3.6.6.tar.xz 
      (包从Python官网下载https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tar.xz)
      # cd Python-3.6.6
      # ./configure --prefix=/usr/local/python3
      # make && make install
      # ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
      # ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
      # pip3 install --upgrade pip
      # pip3 install --upgrade setuptools
      # cd  (返回根目录)
      

      1.2 安装Sass

      # pip3 install libsass (安装依赖库,若已安装无需执行)
      
      # yum install sassc
      

      1.3 安装wkhtmltopdf

      # yum install libXrender xorg-x11-fonts-75dpi xorg-x11-fonts-Type1 libXext libjpeg libpng 
      (若已安装了则无需再安装)     
      # rpm -ivh wkhtmltox-0.12.5-1.centos7.x86_64.rpm 
      (GitHub中https://github.com/wkhtmltopdf/wkhtmltopdf/releases下载在根目录即可)
      

      1.4 安装字体

      # yum install wqy*
      

      1.5 安装Postgresql数据库(Odoo12一定要PGSQL10,否则安装数据库的时候会出错)

      # yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
      # yum install postgresql10
      # yum install postgresql10-server
      # /usr/pgsql-10/bin/postgresql-10-setup initdb
      # systemctl enable postgresql-10
      # systemctl start postgresql-10
      # su - postgres -c "createuser -s odoo"
      

      第二步: 解压程序,安装Python组件及运行Odoo
      1.1 创建odoo用户及odoo用户组

      # groupadd odoo
      # adduser -g odoo -d /home/wwwroot/www.domain.com -m odoo (查看是否有/home/wwwroot文件夹,若没有则新增)
      # passwd odoo
      # *** (后面安装和登陆均会用到,请牢记!)
      

      1.2 授予odoo sudo权限

      # vi /etc/sudoers
      

      修改文件参考如下:

      ## Allow root to run any commands anywhere 
      root    ALL=(ALL:ALL) ALL
      odoo    ALL=(ALL:ALL) ALL (增加部分)
      

      保存退出,odoo用户就拥有了sudo权限。

      # reboot
      

      1.3 用odoo用户登陆SSH和WinSCP(SFTP)
      1.4 下载最新的程序包(默认登陆SSH在/home/odoo下面)

      # wget http://nightly.odoo.com/12.0/nightly/src/odoo_12.0.latest.tar.gz
      # tar –zxvf odoo_12.0.latest.tar.gz
      

      1.5 在WinSCP里面将odoo-12.post2018****文件夹的内容全部(含隐藏文件)copy到www.domain.com里面

      # cp -R /home/wwwroot/odoo-12.post2018****/. /home/wwwroot/www.domain.com 
      

      1.6 用SSH安装 Odoo所需的Python3组件.

      # cd ./www.domain.com
      # sudo pip3 install -r requirements.txt
      (根据git版的提示,建议在执行命令前在最后2行插入: 
      sphinx>=1.2
      sphinx-patchqueue>=1.0)
      

      1.7 进入odoo源码目录(/home/wwwroot/www.domain.com)运行odoo-bin (没有可以自行创建,并给与755权限, 内容可参考github里的对应文件)并生成配置文件.
      (备注,由于未改动原python2.X,因此需要修改odoo-bin第1行 #!/usr/bin/env python3为 #!/usr/bin/python3)

      # ./odoo-bin -s
      

      1.8 设置配置文件

      # sudo mkdir /etc/odoo
      # sudo cp /home/wwwroot/www.domain.com/.odoorc /etc/odoo/odoo.conf
      # sudo chown -R odoo:odoo /etc/odoo
      # sudo mkdir /var/log/odoo
      # sudo chown -R odoo:odoo /var/log/odoo
      

      1.9 编辑配置文件

      # sudo vi /etc/odoo/odoo.conf
      

      下面是2个建议增加的值 :

      [options]
      logfile = /var/log/odoo/odoo.log
      logrotate = True
      

      1.10 创建开机启动odoo

      # sudo vi /lib/systemd/system/odoo.service
      

      内容如下:

      [Unit]
      Description=Odoo
      After=postgresql-10.service
      [Service]
      Type=simple
      User=odoo
      Group=odoo
      ExecStart=/home/wwwroot/www.domain.com/odoo-bin -c /etc/odoo/odoo.conf
      [Install]
      WantedBy=multi-user.target
      

      注册新的服务:

      # sudo systemctl enable odoo.service
      

      开启这个新服务:

      # sudo systemctl start odoo
      

      检查它的状态:

      # sudo systemctl status odoo
      

      重启这个服务:

      # sudo systemctl restart odoo
      

      若显示如下内容则表示运行成功了:

      ● odoo.service - Odoo
         Loaded: loaded (/lib/systemd/system/odoo.service; enabled; vendor preset: enabled)
         Active: active (running) since Sun 2018-10-10 10:46:54 CST; 6s ago
       Main PID: 930 (python3)
         CGroup: /system.slice/odoo.service
                 └─930 python3 /home/wwwroot/www.domain.com/odoo-bin -c /etc/odoo/odoo.conf
      

      如果您希望停止它,使用下面的命令:

      # 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退出)
      

      1.11 登录IP:8069, 按照提示安装数据库即可正常运行odoo
      1.12 安装好niginx并设置好vhost(建议用oneinstack的openresty)后, 将/usr/local/openresty/nginx/conf/vhost/www.domain.com备份,然后用下面的代码更换后重启服务器即可用域名访问(建议https).
      Nginx代码如下:

      upstream odoo12 {
          server 127.0.0.1:8069 weight=1 fail_timeout=0;
      }
      
      upstream odoo12-im {
          server 127.0.0.1:8072 weight=1 fail_timeout=0;
      }
      
      server {
        listen 80;
        listen 443 ssl http2;
        ssl_certificate /usr/local/openresty/nginx/conf/ssl/www.domain.com.crt;
        ssl_certificate_key /usr/local/openresty/nginx/conf/ssl/www.domain.com.key;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
        ssl_prefer_server_ciphers on;
        ssl_session_timeout 10m;
        ssl_session_cache builtin:1000 shared:SSL:10m;
        ssl_buffer_size 1400;
        add_header Strict-Transport-Security max-age=15768000;
        ssl_stapling on;
        ssl_stapling_verify on;
        server_name www.domain.com domain.com;
        access_log /home/wwwlogs/www.domain.com_nginx.log combined;
        error_log /home/wwwlogs/www.domain.com_nginx_err.log notice;
        index index.html index.htm index.php;
        root /home/wwwroot/www.domain.com;
        if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
        if ($host != www.domain.com) {  return 301 $scheme://www.domain.com$request_uri;  }
        include /usr/local/openresty/nginx/conf/rewrite/none.conf;
        #error_page 404 /404.html;
        #error_page 502 /502.html;
        
        #increase proxy buffer to handle some OpenERP web requests 
              proxy_buffers 16 64k;
              proxy_buffer_size 128k;
      
              #general proxy settings
              #force timeouts if the backend dies
              proxy_connect_timeout 600s;
              proxy_send_timeout 600s;
              proxy_read_timeout 600s;
      
              proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
      
              #set headers
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
      
              #Let the OpenERP web service know that we’re using HTTPS, otherwise
              #it will generate URL using http:// and not https://
              proxy_set_header X-Forwarded-Proto https;
      
              #by default, do not forward anything
              proxy_redirect off;
              proxy_buffering off;
      
              location / {
              proxy_pass http://odoo12;
              }
      
              location /longpolling {
              proxy_pass http://odoo12-im;
              }
      
              #cache some static data in memory for 60mins.
              #under heavy load this should relieve stress on the OpenERP web interface a bit.
      
              location /web/static/ {
              proxy_cache_valid 200 60m;
              proxy_buffering on;
              expires 864000;
              proxy_pass http://odoo12;
              }
      }
      

      备注: 已根据1楼的朋友更新教程, 欢迎大家随时交流, 我的QQ:65016198. 谢谢.
      0_1539236432429_odoo12.png

      posted in Odoo 安装指南
      M
      mugua
    • RE: 更新试用ODOO12最新版本的,网页打开不正常寻求帮助。

      @鲍永道
      12目前是 Alpha...
      http://nightly.odoo.com/master/nightly/src/

      posted in Odoo 新手求助
      M
      mugua
    • RE: 本人实测在阿里云的 CentOS 7.4 下安装 Odoo 11 实例(git和wget tar.gz版)

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

      posted in Odoo 安装指南
      M
      mugua
    • 本人实测在阿里云的 CentOS 7.4 下安装 Odoo 11 实例(git和wget tar.gz版)

      本人实测在阿里云的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安装并配置为服务

      posted in Odoo 安装指南
      M
      mugua