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

转载来源:http://blog.csdn.net/mackz/article/details/21286397

翻译原文: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. $ sudo apt-get install -f openerp  

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

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

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

  安装用到的软件

[plain]  view plain  copy
 
  1. $ sudo apt-get install postgresql-9.3 nginx uwsgi  

  安装必要的依赖包:

[plain]  view plain  copy
 
  1. $ sudo apt-get install python-dev build-essential postgresql libpq-dev uwsgi nginx bzr git graphviz ghostscript postgresql-client libxml2-dev libxslt1-dev libjpeg62-dev zlib1g-dev python-virtualenv python-pip gettext libldap2-dev libsasl2-dev uwsgi-plugin-python python-lxml python-pypdf  

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

[plain]  view plain  copy
 
  1. $ sudo mkdir /var/www  
  2. $ sudo chown www-data:www-data /var/www  ; 创建/var/www目录并将它的所有权给www-data用户  
  3. $ cd /srv  
  4. $ sudo mkdir openerp    ; 我们在/srv/openerp目录下安装  
  5. $ sudo chown MY_USERNAME openerp  ; MY_USERNAME是自己的用户名,比如我的是mack  
  6. $ cd openerp  
  7. ; $ bzr branch lp:openerp-web  
  8. ; $ bzr branch lp:openobject-server server  ; 下载到server目录,和直接下载改名方式一致  
  9. ; $ bzr branch lp:openobject-addons  
  10. ; 原文通过bzr下载,上面已经解释,有问题;我直接下载源码包  
  11. $ wget http://nightly.openerp.com/trunk/nightly/src/openerp-8.0dev-latest.tar.gz  
  12. $ tar -xvf openerp-8.0dev-latest.tar.gz  
  13. ; 解压缩  
  14. $ mv openerp-8.0dev-20140314-000102(解压缩出来的当前版本名字) server  
  15. ; 改个名字方便些,新版本也可以直接用cp复制到server就升级了。因为下载需要时间,可以开另外一个tty终端做下面的事情。  
[plain]  view plain  copy
 
  1. $ sudo -u postgres -s createuser openerp -P  
  2. # ENTER DESIRED DB PASSWORD  
  3. ; 创建postgres数据库中的用户openerp,#后面提示输入密码,有两次。如果已经有了,也可以用原来的用户,记得和下文数据库配置对应就好。  
  4. $ sudo -u postgres -s createdb openerp_test -O openerp  
  5. ; 创建openerp_test数据库。如果不创建也可以,安装好之后用OpenERP自己的数据库管理功能新建数据库。  
  6. ; $ virtualenv --no-site-packages env  
  7. ; $ source env/bin/activate   ; 这两句是在虚拟环境中进行配置,我也搞不懂,我在实机上装就不需要了。  
  8. $ pip install pypdf  
  9. $ pip install lxml  ; 原文漏了这句,搞了我好久。  

  确认下载解压改名完成

[plain]  view plain  copy
 
  1. $ cd server  
  2. $ python setup.py develop  
  3. ; 其实这一步也是配置环境,如果缺少依赖包会自动下载,或者根据提示自己安装  
  4. ; $ sudo ln -s /srv/openerp/openerp-web/addons/* /srv/openerp/server/openerp/addons/  
  5. ; $ sudo ln -s /srv/openerp/openobject-addons/* /srv/openerp/server/openerp/addons/  
  6. ; 原文是分开的三个文件夹,我这里只有一个包,就不需要这两句  

  创建并编辑wsgi-openerp.py文件:

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

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

[plain]  view plain  copy
 
  1. $ vim openerp.conf  
[plain]  view plain  copy
 
  1. [options]  
  2. addons_path=/srv/openerp/server/openerp/addons  
  3. db_name=openerp_test  
  4. db_host=localhost  
  5. db_user=openerp  
  6. db_port=5432  
  7. db_password=MY_DB_PASSWORD  # 注意数据库名、用户名、密码都要对应  

  新建一个config目录,用来放置uwsgi和nginx配置文件:

[plain]  view plain  copy
 
  1. $ mkdir config  

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

[plain]  view plain  copy
 
  1. $ vim config/uwsgi-openerp.ini  
[plain]  view plain  copy
 
  1. [uwsgi]  
  2. chdir=/srv/openerp/-server/  
  3. uid=www-data  
  4. gid=www-data  
  5. # virtualenv=/srv/openerp/env ; 我没有使用虚拟环境,所以注销这句  
  6. socket=/srv/openerp/uwsgi.sock  
  7. wsgi-file=wsgi-openerp.py  
  8. master=True  
  9. vacuum=True  
  10. max-requests=5000  
  11. buffer-size=32768  
[plain]  view plain  copy
 
  1. $ vim config/nginx-openerp.conf  
[plain]  view plain  copy
 
  1. server {  
  2.     listen 80;  
  3.     server_name MY_HOSTNAME; # 主机名,可以随便填,如果有机器域名就填完整域名  
  4.     client_max_body_size 50M;  
  5.     keepalive_timeout 120;  
  6.   
  7.     location / {  
  8.     include uwsgi_params;  
  9.     uwsgi_read_timeout 300;  
  10.     uwsgi_pass unix:/srv/openerp/uwsgi.sock;  
  11.     }  
  12. }  

  如果已经配置了nginx,那么要注意端口配置区分开,或者使用虚拟目录,或者用域名区分。

  把配置文件关联起来:

[plain]  view plain  copy
 
  1. $ sudo ln -s /srv/openerp/server/config/uwsgi-openerp.ini /etc/uwsgi/apps-enabled/openerp.ini  
  2. $ sudo ln -s /srv/openerp/server/config/nginx-openerp.conf /etc/nginx/sites-enabled/openerp  

  将/etc/nginx/nginx.conf中的这句“server_names_hash_bucket_size 64”的注释去掉,如果有的话:)。

  下面配置一下:

[plain]  view plain  copy
 
  1. $ sudo chown -R www-data:www-data /srv/openerp  
  2. $ sudo su www-data -s /bin/bash  
  3. ; 进入www-data用户环境  
  4. $ cd /srv/openerp/openobject-server/  
  5. ; $ source ../env/bin/activate 在虚拟环境下需要  
  6. $ ./openerp-server -c openerp.conf -d openerp_test -u all --stop-after-init  
  7. ; 这是把配置信息写入OpenERP,如果运行中有红色的ERROR提示,就说明失败了,需要再检查。  
  8. ; 配置完退出www-data用户环境,ctrl-D或者  
  9. $ exit  

  最后重起服务

[plain]  view plain  copy
 
  1. $ sudo service uwsgi restart  
  2. $ sudo service nginx restart  

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

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

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

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


你可能感兴趣的:(Python/Flask,Nginx/Ngrok/Frp,Openerp/Odoo)