在Ubuntu Server上源码安装OpenERP(odoo) 8.0,并配置wsgi和nginx运行环境

转载来源:http://www.jb51.cc/article/p-egvnpjhz-ub.html

翻译原文:How to install OpenERP 8.0 Alpha on a fresh Debian / Ubuntu server.

odoo学习链接:http://www.jianshu.com/notebooks/2952707/latest

  OpenERP的安装,可以有多种方式,通过添加源,到http://nightly.openerp.com找对应版本,然后:

[plain]
view plain
copy

  1. $sudoapt-getinstall-fopenerp

  即可。这种方式会自动安装依赖包,当然postgresql还要先装好。

  也可以下载deb包用dpkg -i安装。找到的引文使用bzr下载branch,发现下载addons总是出错。我改造一下,直接用源码安装成功。

  打开防火墙80、22端口,我是自己测试用的,索性把防火墙关了。

  安装用到的软件

copy

$sudoapt-getinstallpostgresql-9.3nginxuwsgi

  安装必要的依赖包:

copy

$sudoapt-getinstallpython-devbuild-essentialpostgresqllibpq-devuwsginginxbzrgitgraphvizghostscriptpostgresql-clientlibxml2-devlibxslt1-devlibjpeg62-devzlib1g-devpython-virtualenvpython-pipgettextlibldap2-devlibsasl2-devuwsgi-plugin-pythonpython-lxmlpython-pypdf

  最后两个,lXml和pyPdf是我添加的。我是先通过deb方式安装再卸载,所有依赖包都装好了。

copy

$sudomkdir/var/www

  • $sudochownwww-data:www-data/var/www;创建/var/www目录并将它的所有权给www-data用户
  • $cd/srv
  • $sudomkdiropenerp;我们在/srv/openerp目录下安装
  • $sudochownMY_USERNAMEopenerp;MY_USERNAME是自己的用户名,比如我的是<span>mack</span>
  • $cdopenerp
  • ;$bzrbranchlp:openerp-web
  • ;$bzrbranchlp:openobject-serverserver;下载到server目录,和直接下载改名方式一致
  • ;$bzrbranchlp:openobject-addons
  • ;原文通过bzr下载,上面已经解释,有问题;我直接下载<atarget="_blank"href="http://nightly.openerp.com/trunk/nightly/src/openerp-8.0dev-latest.tar.gz">源码包</a>
  • $wgethttp://nightly.openerp.com/trunk/nightly/src/openerp-8.0dev-latest.tar.gz
  • $tar-xvfopenerp-8.0dev-latest.tar.gz
  • ;解压缩
  • $mvopenerp-8.0dev-20140314-000102(解压缩出来的当前版本名字)server
  • ;改个名字方便些,新版本也可以直接用cp复制到server就升级了。因为下载需要时间,可以开另外一个tty终端做下面的事情。
  • copy

    $sudo-upostgres-screateuseropenerp-P

  • #ENTERDESIREDDBPASSWORD
  • ;创建postgres数据库中的用户openerp,#后面提示输入密码,有两次。如果已经有了,也可以用原来的用户,记得和下文数据库配置对应就好。
  • $sudo-upostgres-screatedbopenerp_test-Oopenerp
  • ;创建openerp_test数据库。如果不创建也可以,安装好之后用OpenERP自己的数据库管理功能新建数据库。
  • ;$virtualenv--no-site-packagesenv
  • ;$sourceenv/bin/activate;这两句是在虚拟环境中进行配置,我也搞不懂,我在实机上装就不需要了。
  • $pipinstallpypdf
  • $pipinstalllxml;原文漏了这句,搞了我好久。
  •   确认下载解压改名完成

    copy

    $cdserver

  • $pythonsetup.pydevelop
  • ;其实这一步也是配置环境,如果缺少依赖包会自动下载,或者根据提示自己安装
  • ;$sudoln-s/srv/openerp/openerp-web/addons/*/srv/openerp/server/openerp/addons/
  • ;$sudoln-s/srv/openerp/openobject-addons/*/srv/openerp/server/openerp/addons/
  • ;原文是分开的三个文件夹,我这里只有一个包,就不需要这两句
  •   创建并编辑wsgi-openerp.py文件:

    copy

    $vimwsgi-openerp.py

    [python]
    copy

      importopenerp
    1. openerp.multi_process=True#Nah!
    2. openerp.conf.server_wide_modules=['web']
    3. conf=openerp.tools.config
    4. conf['addons_path']='/srv/openerp/server/openerp/addons'
    5. conf['db_name']='openerp_test'
    6. conf['db_host']='localhost'
    7. conf['db_user']='openerp'
    8. conf['db_port']=5432
    9. conf['db_password']='MY_DB_PASSWORD'#注意数据库名、用户名、密码都要对应
    10. application=openerp.service.wsgi_server.application
    11. openerp.service.server.load_server_wide_modules()

      创建并编辑openerp.conf文件,即openerp的配置文件。这种方式直接把配置加入运行环境了。

    copy

    $vimopenerp.conf

    copy

    [options]

  • addons_path=/srv/openerp/server/openerp/addons
  • db_name=openerp_test
  • db_host=localhost
  • db_user=openerp
  • db_port=5432
  • db_password=MY_DB_PASSWORD#注意数据库名、用户名、密码都要对应
  •   新建一个config目录,用来放置uwsgi和nginx配置文件:

    copy

    $mkdirconfig

      然后在config目录下新建并编辑uwsgi-openerp.ini文件

    copy

    $vimconfig/uwsgi-openerp.ini

    copy

    [uwsgi]

  • chdir=/srv/openerp/-server/
  • uid=www-data
  • gid=www-data
  • #virtualenv=/srv/openerp/env;我没有使用虚拟环境,所以注销这句
  • socket=/srv/openerp/uwsgi.sock
  • wsgi-file=wsgi-openerp.py
  • master=True
  • vacuum=True
  • max-requests=5000
  • buffer-size=32768
  • copy

    $vimconfig/nginx-openerp.conf

    copy

    server{

  • listen80;
  • server_nameMY_HOSTNAME;#主机名,可以随便填,如果有机器域名就填完整域名
  • client_max_body_size50M;
  • keepalive_timeout120;
  • location/{
  • includeuwsgi_params;
  • uwsgi_read_timeout300;
  • uwsgi_passunix:/srv/openerp/uwsgi.sock;
  • }
  • }
  •   如果已经配置了nginx,那么要注意端口配置区分开,或者使用虚拟目录,或者用域名区分。

      把配置文件关联起来:

    copy

    $sudoln-s/srv/openerp/server/config/uwsgi-openerp.ini/etc/uwsgi/apps-enabled/openerp.ini

  • $sudoln-s/srv/openerp/server/config/nginx-openerp.conf/etc/nginx/sites-enabled/openerp
  •   将/etc/nginx/nginx.conf中的这句“server_names_hash_bucket_size 64”的注释去掉,如果有的话:)。

      下面配置一下:

    copy

    $sudochown-Rwww-data:www-data/srv/openerp

  • $sudosuwww-data-s/bin/bash
  • ;进入www-data用户环境
  • $cd/srv/openerp/openobject-server/
  • ;$source../env/bin/activate在虚拟环境下需要
  • $./openerp-server-copenerp.conf-dopenerp_test-uall--stop-after-init
  • ;这是把配置信息写入OpenERP,如果运行中有红色的ERROR提示,就说明失败了,需要再检查。
  • ;配置完退出www-data用户环境,ctrl-D或者
  • $exit
  •   最后重起服务

    copy

    $sudoserviceuwsgirestart

  • $sudoservicenginxrestart
  •   现在就可以访问机器进入OpenERP网页界面了,初次选择数据库为openerp_test(如果前面建立了的话)用户名和密码默认都是admin。

    dawei

    【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。