转帖整理验证:Ubuntu Server12.04源码安装Odoo8.0最新版14.04通用(不适合linux新手)

2014/03/1923:27:50 评论 11,075 views

官方8.0 源码 安装文档:https://www.odoo.com/documentation/8.0/setup/install.html#source-install

最新的最简单的三步安装: http://odoo.guide/installing-odoo-8-on-ubuntu-super-easy-super-fast/

wget -O - https://nightly.odoo.com/odoo.key | apt-key add -
echo "deb http://nightly.odoo.com/8.0/nightly/deb/ ./" >> /etc/apt/sources.list
apt-get update && apt-get install odoo

下面这个安装过程,就当是 熟悉linux,熟悉unbutu server,熟悉odoo的一种方式吧:

卓忆测试整理,分别在干净的ubuntu server 12.04上和之前用deb方式安装的环境下测试成功
推荐还是重新装下ubuntu server 再安装,比整理之前的残留可能还要快一点。

另外,新手也不推荐源码安装:

正式版出来还是用 apt-get 方式安装可能相对更适合:目前7.0是正式版:http://jointd.com/?p=660

或者deb 方式:http://jointd.com/?p=882

或者更简单,用步科的绿色版:下载即为最新版:https://sourceforge.net/projects/greenopenerp/files/

下载地址2:https://github.com/buke/GreenOdoo

绿色版安装参考:http://jointd.com/?p=2049

原文来自:http://vivianyw.blog.163.com/blog/static/134547422201421112349489/

 

原文本来还有 安装最新的 PostgreSQL 9.3 这段我放到附录了,我认为数据库9.1恢复到未来的9.3应该没问题,
但是9.3备份的数据库如果恢复到9.1上可能就有有些问题,
主要目的还是用OpenERP,关于PostgreSQL9.3和9.1的区别我暂时也搞不清楚,到底动过哪些,估计也有很多改动,
这些改动带来的影响,对我来说是未知的,所以关于环境方面,暂时不追新,等成熟。

还有另外一篇类似的文章,英文原作者应该是同一个人主要变化是 用户由openerp 变为 odoo, 其他基本没变,由 odoo 中文社区 郑州 -Dean 翻译,多了不少解释说明。如果采取git 方式只安装odoo8.0,可以参考那篇文章:http://jointd.com/?p=1998

如果是阿里云 先 安装 postgresql 数据库
9.3版本:
 apt-get install -y postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3 postgresql-server-dev-9.3

1. 更新系统组件

sudo apt-get update
sudo apt-get upgrade

2.安装OE的Python依赖包:

15年12月补充:依赖包其实还可以先下载odoo,然后 运行 ./odoo.py setup_deps (就会安装所有的依赖了)

包括pg 数据库也可以通过 ./odoo.py setup_pg 来安装

sudo apt-get install python-dateutil python-docutils python-feedparser python-gdata \
python-jinja2 python-ldap python-libxslt1 python-lxml python-mako python-mock python-openid \
python-psycopg2 python-psutil python-pybabel python-pychart python-pydot python-pyparsing \
python-reportlab python-simplejson python-tz python-unittest2 python-vatnumber python-vobject \
python-webdav python-werkzeug python-xlwt python-yaml python-zsi python-pyPdf \
python-decorator python-passlib python-requests
 
2014年 6月6日起 需要
sudo apt-get install python-requests
以及:
sudo apt-get install python-passlib
sudo apt-get install python-decorator
安装中文字体:
sudo apt-get install ttf-wqy-zenhei
sudo apt-get install ttf-wqy-microhei
3月20日之后 需要装 https://gist.github.com/slickplaid/5557321 来实现pdf打印

Odoo 8.0 版改用 wkhtmltopdf 来输出 pdf,因此要下载 wkhtmltopdf 并安装。

先下载:(下边的命令第一行末尾的 / 和第二行开头的 w 之间没有空格 )

wget  http://download.gna.org/wkhtmltopdf/0.12/0.12.3/wkhtmltox-0.12.3_linux-generic-amd64.tar.xz

解压缩下载到的文件:

tar -vxf wkhtmltox-0.12.3_linux-generic-amd64.tar.xz

 

sudo cp wkhtmltox/bin/wkhtmltopdf /usr/bin/
sudo chown root:root /usr/bin/wkhtmltopdf
sudo chmod +x /usr/bin/wkhtmltopdf

deb 安装包:http://pan.baidu.com/s/1jGLbXsy

测 试 一下,打 印 一 个 网 页 到 你 自 己 的 家 目 录 :

wkhtmltopdf www.baidu.com ~/baidu.pdf

如果显示成功输出了pdf 那么 wkhtmltopdf 就告安装完成。

3.增加OpenERP用户

为系统增加OpenERP用户:
sudo adduser --system --home=/opt/openerp --group openerp

# (如果之前用apt-get 或者deb方式安装过,先删除这个用户重新再创建下
#  sudo userdel openerp)
# (一样的,如果有 /opt/openerp 这个目录 也先删除掉
#  sudo rm -r /opt/openerp)
#(openerp用户被加入system组,该用户不能够从终端登录。需要openerp用户操作时,可以用下面的命令切换)
# sudo su - openerp -s /bin/bash
# 完成相关操作后可以用exit退出openerp用户shell
增加用户的高级说明:
# useradd -m -g sudo -s /bin/bash odoo # Create an 'Odoo' user with sudo
powers
# passwd odoo # Ask and set a password for the new user
-m 表示创建相关的home 目录. -g 增加到sudo列表, ,
-s /bin/bash 设置默认的shell 到 bash, 比sh好用。

4.安装并配置数据库

进入postgres用户shell(postgres是数据库默认的管理员,由安装程序创建,如果未装 sudo apt-get install postgresql ):
sudo su - postgres
为OE创建数据库用户,按照提示输入用户密码。:
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt openerp
(要删除以前自动安装残留的postgresql 里面的 openerp用户 用dropuser openerp)
退出postgres用户shell:
exit

5.安装OE服务器

推荐:git clone 方式 安装:
安装git
sudo apt-get install git
放开目录权限:
sudo chmod -R 777 /opt/openerp

进入目录:

cd /opt/openerp
克隆一份odoo 到 server目录
git clone https://github.com/odoo/odoo.git -b 8.0 server
git clone https://github.com/odoo/odoo.git --depth 1 --branch 8.0 --single-branch
(后面的server 不加 会默认 释放到odoo目录)
以后用 git pull 更新
其他git 命令参考:
git branch -r 查看所有版本
git branch 查看当前版本
默认版本为master版本
切换版本用:
git  reset --hard
git checkout 8.0
#切换到 odoo8.0
 git checkout  orangin/8.0
下载都是早上(10点前)速度快,晚上基本是龟速。
git clone https://github.com/odoo/odoo.git -b 8.0 --depth=1
(--depth=1只下载最近的版本,而不是所有历史版本)
第二种方式:
首先下载OE源码包,这里下载OpenERP8.0最新开发版本
放开目录权限: sudo chmod -R 777 /opt/openerp
进入目录:cd /opt/openerp
下载最新的源码包:   (推荐使用 后面的 git clone 方式下载,更新起来比较方便)
wget https://codeload.github.com/odoo/odoo/zip/8.0
或者: wegt http://nightly.odoo.com/8.0/nightly/src/odoo_8.0.latest.zip
 
把源文件解压到openerp用户家目录下:
sudo tar xvf openerp-8.0dev-latest.tar.gz
把文件的所有者改为openerp用户:
sudo chown -R openerp: *
这里建议把服务器组件的安装目录修改为server,以便于后续修改时不必修改配置文件。
创建目录并放开权限:
sudo mkdir server
sudo chmod -R 777 server
移动刚才解压的文件夹到server目录:
sudo mv -T openerp-8.0dev-latest.tar.gz server
注意这里,目录名"openerp-8.0dev-latest.tar.gz"会因为你下载的时间不同而有所不同。

6.配置OpenERP服务

复制OE的默认配置文件到/etc/并修改所有者及权限:(openerp-server.conf 路径可能有所不同,请仔细搜下目录)
sudo cp /opt/openerp/server/debian/openerp-server.conf /etc/
sudo chown openerp: /etc/openerp-server.conf
sudo chmod 640 /etc/openerp-server.conf
修改配置文件:
sudo vi /etc/openerp-server.conf
这里需要修改数据库用户的密码,为第四步时设定的密码(这里用password做参考值),并增加日志文件的路径
[options]

; This is the password that allows database operations:

; admin_passwd = admin

db_host = 127.0.0.1

db_port = 5432

db_user = openerp

db_password = password

logfile = /var/log/openerp/openerp-server.log

addons_path = /opt/openerp/server/addons
最后:w写入:q退出。
注意,5月份改名odoo后的版本,addons 目录变地方了
配置文件加一句 :
使用openerp用户shell登录,验证openerp是否已正确安装:
sudo su - openerp -s /bin/bash
/opt/openerp/server/openerp-server
最后一行显示 openerp.service.server: HTTP service (werkzeug) running on 0.0.0.0:8069表面openerp服务器组件已经安装正确,这时你可以用从浏览器输入http://IP:8069来连接oe(其中IP是OE服务器的IP,本机可以用localhost:8069,或者127.0.0.1:8069连接。
你可以按Ctr+C停止OE服务。
如果发现错误提示,通常是依赖包没有正确安装。按照第4步的方法安装缺少的依赖包。

7.增加启动脚本

增加启动脚本/etc/init.d/openerp:
sudo vi /etc/init.d/openerp
输入如下内容(可以粘贴复制的),:w保存:q退出
#!/bin/sh
### BEGIN INIT INFO
# Provides: openerp-server
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Enterprise Resource Management software
# Description: Open ERP is a complete ERP and CRM software.
### END INIT INFO

PATH=/bin:/sbin:/usr/bin
DAEMON=/opt/openerp/server/openerp-server
NAME=openerp-server DESC=openerp-server

# Specify the user name (Default: openerp).
USER=openerp

# Specify an alternate config file (Default: /etc/openerp-server.conf).
CONFIGFILE="/etc/openerp-server.conf"

# pidfile
PIDFILE=/var/run/$NAME.pid

# Additional options that are passed to the Daemon.
DAEMON_OPTS="-c $CONFIGFILE"

[ -x $DAEMON ] || exit 0
[ -f $CONFIGFILE ] || exit 0

checkpid() {
  [ -f $PIDFILE ] || return 1
  pid=`cat $PIDFILE` [ -d /proc/$pid ] && return 0 return 1
}

case "${1}" in
start)
  echo -n "Starting ${DESC}: "
  start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
  --chuid ${USER} --background --make-pidfile \
  --exec ${DAEMON} -- ${DAEMON_OPTS}
  echo "${NAME}."
  ;;
stop)
  echo -n "Stopping ${DESC}: "
  start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
  --oknodo echo "${NAME}."
  ;;
restart|force-reload)
  echo -n "Restarting ${DESC}: "
  start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
  --oknodo
  sleep 1
  start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
  --chuid ${USER} --background --make-pidfile \
  --exec ${DAEMON} -- ${DAEMON_OPTS}
  echo "${NAME}."
  ;;
*)
  N=/etc/init.d/${NAME}
  echo "Usage: ${NAME} {start|stop|restart|force-reload}" >&2
  exit 1
  ;;
esac
exit 0
建立日志文件的目录,并修改权限:
sudo mkdir /var/log/openerp
sudo chown openerp:root /var/log/openerp

sudo chmod +x /etc/init.d/openerp
测试脚本是否可以正常工作:
sudo /etc/init.d/openerp start

netstat -at
两个命令之间间隔一段时期,让OE服务器启动,结果中表明有一行
tcp    0    0 *:8069      *:*    LISTEN
表明脚本启动OE成功。查看日志文件,
使用浏览器web客户端打开,可以进入数据库管理页面。建议在此修改数据库管理员用户密码。默认的用户名和密码问admin、admin。
然后停止openerp
sudo /etc/init.d/openerp stop
访问日志文件及网络监听,确认服务已经停止:
netstat -at

8.设计开机自动启动:

sudo update-rc.d openerp defaults
查看实时日志:
tail -f /var/log/openerp/openerp-server.log
查看进程:
ps aux |grep openerp
创建数据库,开始openerp之旅吧!
模块安装顺序参考:http://jointd.com/?p=1571
注意这个例子: 源码运行的 openerp 目录在 /opt/openerp/server/openerp ,
所以要添加 扩展 添加 到  /opt/openerp/server/openerp/addons 目录
需要使用 winscp  和自动备份 模块的的,记得放开 权限 sudo chmod -R 777  /opt/openerp/server/openerp/addons
和自动备份模块的相应权限。
更新:下载最新的源码包,停掉服务sudo /etc/init.d/openerp stop
直接用最新的openerp目录覆盖对应目录就好了,
然后再启动服务sudo /etc/init.d/openerp start

 

附录:
启动 Odoo 新的 即时通讯:http://jointd.com/?p=1810
1:安装SSH:(推荐安装server的时候就装好)
sudo apt-get install openssh-server denyhosts
2:安装PostgreSQL 9.3
这里我们选择安装PostgreSQL的最新版(9.3版本),而Ubuntu 12服务器中包含的源是9.1版,首先建立源列表文件/etc/apt/sources.list.d/pgdg.list
sudo vi /etc/apt/sources.list.d/pgdg.list
在其中输入
deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main
保存,退出vi。导入源的签名文件
    wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
       sudo apt-key add -
然后    sudo apt-get update
然后:    sudo apt-get install postgresql-9.3
注意不装9.3 也完全ok