原文: 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. linux服务器上如何显示工作路径

    1. 修改PS环境变量 [root@linux-node01 ~]# vi /etc/bashrc [ "$PS1" = "\\s-\\v\\\$ " ] &a ...

  2. Oracle 通用存储过程

    CREATE OR REPLACE PROCEDURE P_Pub_GetList ( StrWhere varchar2, ---查询条件(不带where关键字的查询条件) TableName va ...

  3. Divide Two Integers——二分法的经典变形

    Divide two integers without using multiplication, division and mod operator. If it is overflow, retu ...

  4. netcore 配置文件使用

    一直在记录整理接口调用,但是最近发现关于项目在vs中本地启动也有许多方便的地方. 首先由于使用的是Java的Eureka和网关来做的服务基础, 然后服务就涉及到注册一说, 问题是,如果appsetti ...

  5. Supervisor-类unix系统下的进程控制工具

    如果你的英文足够好,请看官网的文档:http://supervisord.org/introduction.html 简介: Supervisor 类unix系统下的进程控制工具. 特性: 1.配置简 ...

  6. Java中多线程问题

    线程调度中的方法: sleep() 顾名思义线程休眠可传递连个参数-@毫秒 @纳秒 yield() 暂时挂起 这里的线程会释放资源,但是有一个坑是虽然是释放资源但是是公平竞争资源 如:a线程释放资源后 ...

  7. redis的运行机制

    从以前总结的redis一些基本性能中,可知redis是非关系型数据库(nosql):这一类的数据类型有以下特点: 非关系型的(sql语句对它不起作用,不需要建表存数据,它是直接存储),分布式(主从复制 ...

  8. Trie树【p2264】情书

    Background 一封好的情书需要撰写人全身心的投入.CYY同学看上了可爱的c**想对她表白,但却不知道自己写的情书是否能感动她,现在他带着情书请你来帮助他. Description 为了帮助CY ...

  9. 设计模式-适配器模式(Adapter Pattern)

    本文由@呆代待殆原创,转载请注明出处:http://www.cnblogs.com/coffeeSS/ 适配器模式简介 适配器模式的作用就如同现实生活中转接头的作用一样,现实生活中我们会用USB转接头 ...

  10. Windows下安装Redis服务及安装PHP的Redis扩展

    Redis是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. 它通常被称为数据结构服务器,因为值(valu ...