跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 安装指南
  4. 阿里云部署 CentOS7.4+Python3.6+Postgresql10+Odoo12+OpenResty1.13(Nginx1.13) 实例教程

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

已定时 已固定 已锁定 已移动 Odoo 安装指南
15 帖子 7 发布者 7.6k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • M 离线
    M 离线
    mugua
    写于 最后由 mugua 编辑
    #1

    第一步:安装环境
    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

    digitalsatoriD 1 条回复 最后回复
    1
    • digitalsatoriD 离线
      digitalsatoriD 离线
      digitalsatori 管理员
      在 回复了 mugua 最后由 编辑
      #2

      @mugua 很棒,如果能用markdown语法编辑一下帖子就更赞👍了。

      另外,安装lessc的部分不对,Odoo V12 使用Sass不再使用Less,所以只要安装sassc就可以了:

      yum install sassc
      

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

      M 1 条回复 最后回复
      0
      • M 离线
        M 离线
        mugua
        在 回复了 digitalsatori 最后由 编辑
        #3

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

        H 1 条回复 最后回复
        0
        • H 离线
          H 离线
          hui
          在 回复了 mugua 最后由 编辑
          #4

          @mugua
          根据你的安装了sass,检查是否安装成功如下截图。但是在启动odoo12新建数据库的时候报错如下,请教下,安装了sass后,sassc命令还是不能生效的,哪里出问题?

          0_1539656940310_Screenshot from 2018-10-16 10-28-46.png

          '''
          2018-10-16 02:27:37,033 2747 WARNING test_v12 odoo.addons.base.models.assetsbundle: Could not execute command 'sassc'This error occured while compiling the bundle 'web.assets_common' containing:
          - /web/static/lib/bootstrap/scss/_functions.scss
          - /web/static/lib/bootstrap/scss/_mixins.scss
          - /web/static/src/scss/utils.scss
          - /web/static/src/scss/bs_mixins_overrides.scss
          - /web/static/src/scss/primary_variables.scss
          - /web_editor/static/src/scss/web_editor.variables.scss
          - /web/static/src/scss/secondary_variables.scss
          - /web/static/lib/bootstrap/scss/_variables.scss
          - /web/static/src/scss/fonts.scss
          - /web/static/src/scss/ui.scss
          - /web/static/src/scss/ui_extra.scss
          - /web/static/src/scss/navbar.scss
          - /web/static/src/scss/mimetypes.scss
          - /web/static/src/scss/modal.scss
          - /web/static/src/scss/animation.scss
          - /web/static/src/scss/rainbow.scss
          - /web/static/src/scss/datepicker.scss
          - /web/static/src/scss/banner.scss
          - /web/static/src/scss/colorpicker.scss
          - /web/static/src/scss/keyboard.scss
          - /web_tour/static/src/scss/tip.scss
          - /web_tour/static/src/scss/keyframes.scss
          2018-10-16 02:27:37,286 2747 WARNING test_v12 odoo.addons.base.models.assetsbundle: Could not execute command 'sassc'This error occured while compiling the bundle 'web.assets_backend' containing:
          - /web/static/lib/bootstrap/scss/_functions.scss
          - /web/static/lib/bootstrap/scss/_mixins.scss
          - /web/static/src/scss/utils.scss
          - /web/static/src/scss/bs_mixins_overrides.scss
          - /web/static/src/scss/primary_variables.scss
          - /web_editor/static/src/scss/web_editor.variables.scss
          - /web/static/src/scss/secondary_variables.scss
          - /web/static/src/scss/bootstrap_overridden.scss
          - /web_editor/static/src/scss/bootstrap_overridden.scss
          - /web/static/src/scss/import_bootstrap_part1.scss
          - /web/static/src/scss/bs_mixins_overrides.scss
          - /web/static/src/scss/import_bootstrap_part2.scss
          - /web/static/src/scss/bootstrap_review.scss
          - /web/static/lib/tempusdominus/tempusdominus.scss
          - /web/static/src/scss/webclient_extra.scss
          - /web/static/src/scss/webclient_layout.scss
          - /web/static/src/scss/webclient.scss
          - /web/static/src/scss/domain_selector.scss
          - /web/static/src/scss/model_field_selector.scss
          - /web/static/src/scss/progress_bar.scss
          - /web/static/src/scss/dropdown.scss
          - /web/static/src/scss/dropdown_extra.scss
          - /web/static/src/scss/tooltip.scss
          - /web/static/src/scss/debug_manager.scss
          - /web/static/src/scss/control_panel.scss
          - /web/static/src/scss/fields.scss
          - /web/static/src/scss/fields_extra.scss
          - /web/static/src/scss/views.scss
          - /web/static/src/scss/pivot_view.scss
          - /web/static/src/scss/graph_view.scss
          - /web/static/src/scss/form_view.scss
          - /web/static/src/scss/form_view_extra.scss
          - /web/static/src/scss/list_view.scss
          - /web/static/src/scss/list_view_extra.scss
          - /web/static/src/scss/kanban_dashboard.scss
          - /web/static/src/scss/kanban_examples_dialog.scss
          - /web/static/src/scss/kanban_column_progressbar.scss
          - /web/static/src/scss/kanban_view.scss
          - /web/static/src/scss/kanban_view_mobile.scss
          - /web/static/src/scss/web_calendar.scss
          - /web/static/src/scss/search_view.scss
          - /web/static/src/scss/search_view_mobile.scss
          - /web/static/src/scss/dropdown_menu.scss
          - /web/static/src/scss/search_view_extra.scss
          - /web/static/src/scss/data_export.scss
          - /base/static/src/scss/onboarding.scss
          - /web/static/src/scss/base_settings.scss
          - /web/static/src/scss/report_backend.scss
          - /base_import/static/src/scss/base_import.scss
          - /web_diagram/static/src/scss/diagram_view.scss
          - /web_editor/static/src/scss/web_editor.common.scss
          - /web_editor/static/src/scss/web_editor.backend.scss
          - /web_settings_dashboard/static/src/scss/dashboard.scss
          2018-10-16 02:27:37,390 2747 WARNING test_v12 odoo.addons.base.models.assetsbundle: Could not execute command 'sassc'This error occured while compiling the bundle 'web_editor.assets_editor' containing:
          - /web/static/lib/bootstrap/scss/_functions.scss
          - /web/static/lib/bootstrap/scss/_mixins.scss
          - /web/static/src/scss/utils.scss
          - /web/static/src/scss/bs_mixins_overrides.scss
          - /web/static/src/scss/primary_variables.scss
          - /web_editor/static/src/scss/web_editor.variables.scss
          - /web/static/src/scss/secondary_variables.scss
          - /web/static/lib/bootstrap/scss/_variables.scss
          - /web_editor/static/src/scss/web_editor.ui.scss
          2018-10-16 02:27:37,451 2747 INFO test_v12 odoo.modules.registry: At least one model cache has been invalidated, signaling through the database.
          '''

          H 1 条回复 最后回复
          0
          • H 离线
            H 离线
            hui
            在 回复了 hui 最后由 编辑
            #5

            @hui @mugua 解决。
            在以前的帖子中有人提出了解决方法的:链接文本

            解决方法:(权限不够的话,加个sudo,python3的可以使用pip3安装的)

            pip install libsass
            
            M 1 条回复 最后回复
            0
            • M 离线
              M 离线
              mark7788
              写于 最后由 编辑
              #6

              你好 请教下 跟着步骤安装 出现以下问题,怎么解决? 谢谢

              [root@li1079-129 ~]# sudo systemctl status odoo
              ● odoo.service - Odoo
              Loaded: loaded (/usr/lib/systemd/system/odoo.service; enabled; vendor preset: disabled)
              Active: failed (Result: exit-code) since Wed 2018-10-17 20:54:47 CST; 13min ago
              Process: 859 ExecStart=/home/wwwroot/crazytoucan.com/odoo-bin -c /etc/odoo/odoo.conf (code=exited, status=203/EXEC)
              Main PID: 859 (code=exited, status=203/EXEC)

              Oct 17 20:54:47 li1079-129.members.linode.com systemd[1]: Started Odoo.
              Oct 17 20:54:47 li1079-129.members.linode.com systemd[1]: Starting Odoo...
              Oct 17 20:54:47 li1079-129.members.linode.com systemd[859]: Failed at step EXEC spawning /home/wwwroot...ed
              Oct 17 20:54:47 li1079-129.members.linode.com systemd[1]: odoo.service: main process exited, code=exit...EC
              Oct 17 20:54:47 li1079-129.members.linode.com systemd[1]: Unit odoo.service entered failed state.
              Oct 17 20:54:47 li1079-129.members.linode.com systemd[1]: odoo.service failed.
              Hint: Some lines were ellipsized, use -l to show in full.

              M 1 条回复 最后回复
              0
              • M 离线
                M 离线
                mugua
                在 回复了 mark7788 最后由 mugua 编辑
                #7

                @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....

                1 条回复 最后回复
                0
                • M 离线
                  M 离线
                  mugua
                  在 回复了 hui 最后由 编辑
                  #8

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

                  H 1 条回复 最后回复
                  0
                  • H 离线
                    H 离线
                    hui
                    在 回复了 mugua 最后由 编辑
                    #9

                    @mugua 我的是python3.5。你是自己有意识的安装的libsass吗?

                    M 2 条回复 最后回复
                    0
                    • M 离线
                      M 离线
                      mugua
                      在 回复了 hui 最后由 编辑
                      #10

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

                      1 条回复 最后回复
                      0
                      • M 离线
                        M 离线
                        mugua
                        在 回复了 hui 最后由 编辑
                        #11

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

                        1 条回复 最后回复
                        0
                        • Z 离线
                          Z 离线
                          zhangodoo
                          写于 最后由 编辑
                          #12

                          2018-11-12 08:01:36,192 20761 INFO ? odoo.service.server: HTTP service (werkzeug) running on izj6ci10z86qmo44g0o5i6z:8069

                          装到这一步卡了好久,不知道怎么回事。

                          C 1 条回复 最后回复
                          0
                          • C 离线
                            C 离线
                            CTF20007
                            在 回复了 zhangodoo 最后由 编辑
                            #13

                            @zhangodoo
                            2018-11-18 02:37:40,454 3422 INFO ? odoo.service.server: HTTP service (werkzeug) running on localhost.localdomain:8069
                            我也是执行./odoo-bin -s 后就一直停在那里,不动了

                            1 条回复 最后回复
                            0
                            • W 离线
                              W 离线
                              warlocks
                              写于 最后由 编辑
                              #14

                              @CTF20007 @zhangodoo @mark7788 这个教程有个BUG,如果按照教程中所交代的从http://nightly.odoo.com/12.0/nightly/src/odoo_12.0.latest.tar.gz这里下载的odoo12安装包里面有一个坑,就是在odoo安装源中是不包含odoo-bin这个执行脚本的,所以你们在最后启动时会卡在Process: 859 ExecStart=/home/wwwroot/crazytoucan.com/odoo-bin -c /etc/odoo/odoo.conf (code=exited, status=203/EXEC)
                              Main PID: 859 (code=exited, status=203/EXEC)这里,因为那里根本就没有odoo-bin文件。解决方法其实很简单,vi odoo-bin 创建一个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()

                              保存退出后还要给odoo-bin提权,所以运行chmod +x odoo-bin命令即可。好了现在你可以reboot一下,odoo12就可以跑起来了。其实还有另一个解决方法更简单,那就是不要从nightly.odoo.com下载源,改为从Odoo GitHub存储库中克隆Odoo 12源代码:
                              git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo12/odoo
                              这个克隆代码里面原生带好了odoo-bin文件,不会出现上述问题,但是git在国内访问速度非常慢,你需要梯子。

                              M 1 条回复 最后回复
                              0
                              • M 离线
                                M 离线
                                mugua
                                在 回复了 warlocks 最后由 编辑
                                #15

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

                                1 条回复 最后回复
                                0

                                • 登录

                                • 没有帐号? 注册

                                • 登录或注册以进行搜索。
                                • 第一个帖子
                                  最后一个帖子
                                0
                                • 版块
                                • 标签
                                • 热门
                                • 用户
                                • 群组