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

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

sudo apt-get install -f openerp

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

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

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

安装用到的软件

$ sudo apt-get install postgresql-9.3 nginx uwsgi

安装必要的依赖包:

$ 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方式安装再卸载,所有依赖包都装好了。

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

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

$ vim wsgi-openerp.py
import openerp
openerp.multi_process = True # Nah!
openerp.conf.server_wide_modules = ['web'] conf = openerp.tools.config
conf['addons_path'] = '/srv/openerp/server/openerp/addons'
conf['db_name'] = 'openerp_test'
conf['db_host'] = 'localhost'
conf['db_user'] = 'openerp'
conf['db_port'] = 5432
conf['db_password'] = 'MY_DB_PASSWORD' # 注意数据库名、用户名、密码都要对应 application = openerp.service.wsgi_server.application
openerp.service.server.load_server_wide_modules()

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

$ vim openerp.conf
[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配置文件:

$ mkdir config

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

$ vim config/uwsgi-openerp.ini
[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
$ vim config/nginx-openerp.conf
server {
listen 80;
server_name MY_HOSTNAME; # 主机名,可以随便填,如果有机器域名就填完整域名
client_max_body_size 50M;
keepalive_timeout 120; location / {
include uwsgi_params;
uwsgi_read_timeout 300;
uwsgi_pass unix:/srv/openerp/uwsgi.sock;
}
}

如果已经配置了nginx,那么要注意端口配置区分开,或者使用虚拟目录,或者用域名区分。
把配置文件关联起来:

$ sudo ln -s /srv/openerp/server/config/uwsgi-openerp.ini /etc/uwsgi/apps-enabled/openerp.ini
$ 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 ”的注释去掉,如果有的话:)。

下面配置一下:

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

最后重起服务

$ sudo service uwsgi restart
$ sudo service nginx restart

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

; 虚拟环境,我在实机上装就不需要了。

在Ubuntu Server上源码安装OpenERP 8.0,并配置wsgi和nginx运行环境的更多相关文章

  1. 在Ubuntu 12 服务器上源码安装 OpenERP 8.0

    原文:http://vivianyw.blog.163.com/blog/static/134547422201421112349489/ 1. 安装SSH: sudo apt-get install ...

  2. 在Ubuntu Server 14.04上源码安装Odoo 9.0

    1. 更新Ubuntu服务器软件源 sudo apt-get update #更新软件源 sudo apt-get dist-upgrade #更新软件包,自动查找依赖关系 sudo shutdown ...

  3. [原创]在Centos7.2上源码安装PHP、Nginx、Zentao禅道

    版本 操作系统:CentOS Linux release 7.2.1511 (Core) PHP:5.6.33 Nginx:1.12.2 MySQL:5.6.38(192.168.1.103的Wind ...

  4. ubuntu php5.6源码安装

    本系列的lnmp的大框架基本上是按照http://www.linuxzen.com/lnmphuan-jing-da-jian-wan-quan-shou-ce-si-lnmpda-jian-yuan ...

  5. ubuntu mysql5.7源码安装

    本系列的lnmp的大框架基本上是按照http://www.linuxzen.com/lnmphuan-jing-da-jian-wan-quan-shou-ce-si-lnmpda-jian-yuan ...

  6. Centos6.6上源码安装Nodejs V4版本

    本来就是想在vps上装一个Ghost博客,这个博客依赖的是Nodejs,然后推荐的是V4版本.然后我就对着官网的步骤安装,发现根本没有Centos6 i386的资源了(64位的还是有的), 我只能在那 ...

  7. [笔记] Ubuntu 18.04源码安装caffe流程

    虽然Ubuntu 18.04可以通过apt安装caffe,但是为了使用最新的代码,还是值得从源码安装一遍的. 安装环境 OS: Ubuntu 18.04 64 bit 显卡: NVidia GTX 1 ...

  8. centos上源码安装clang 3.8

    之前想在centos系统上安装clang 3.6版本,由于yum上版本太低,想通过源码编译安装.按照网上说的源码安装步骤,下好llvm.clang.clang-tools-extra和compiler ...

  9. CentOS源码安装 Tomcat/8.0.24

    依个人的习惯,喜欢将源码安装在/usr/local这个目录下面: 第一步:下载源码 wget http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.2 ...

随机推荐

  1. hihocoder 1145 : 幻想乡的日常

    #1145 : 幻想乡的日常 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 幻想乡一共有n处居所,编号从1到n.这些居所被n-1条边连起来,形成了一个树形的结构. 每处 ...

  2. Django-form組件補充

    自定义验证规则 方法一: 1 2 3 4 5 6 7 8 9 10 from django.forms import Form   from django.forms import widgets f ...

  3. hdu 1044(bfs+dfs+剪枝)

    Collect More Jewels Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  4. zoj 3195

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3320 离线算法RE了.. #include<stdio.h> #i ...

  5. webpy 上传文件

    x = web.input(myfile={})是一个类字典对象,会返回所有GET或POST的数据 括号内部用来设置myfile的默认值,以防请求中根本就没有myfile键 定义如下一个表单 form ...

  6. oracle 11g安装教程

    oracle 11g安装教程 第1步 第2步 第3步 第4步 第5步 第6步 第7步 第8步 第9步 第10步 第11步 第12步 第13步 第14步 第15步 第16步 第17步 第18步 第19步 ...

  7. react native 生成APK

    参考地址:React native Android 命令 打包apk 首先:尝试使用模拟器测试 这里是因为需要确认目前在电脑上的模拟器是可以正常运行的,并且,开发React native的应用程序,肯 ...

  8. python 正则匹配中文(unicode)(转)

    由于 需求原因,需要匹配 提取中文,大量google下,并没有我需要的.花了一个小时大概测试,此utf8中文通过,特留文.    参考: http://hi.baidu.com/nivrrex/blo ...

  9. php 如何写 mysql insert into 语句

    $sql="INSERT INTO moneytb (riqi,item,inout,cost,bz) VALUES ('$riqi','$item','$inout','$cost','$ ...

  10. 洛谷——P1744 采购特价商品

    P1744 采购特价商品 题目背景 <爱与愁的故事第三弹·shopping>第一章. 题目描述 中山路店山店海,成了购物狂爱与愁大神的“不归之路”.中山路上有n(n<=100)家店, ...