卓忆测试整理Ubuntu Server12.04源码安装OpenERP8.0 Odoo (ubuntu server 14.04也一样)
-
最新的可以看这个帖子: [检测到链接无效,已移除]
主要变化 就是 创建的用户由openerp 变为了odoo,其他文件也有相应的变化,
卓忆测试整理,分别在干净的ubuntu server 12.04上和之前用deb方式安装的环境下测试成功
推荐还是重新装下ubuntu server 再安装,比整理之前的残留可能还要快一点。
原文本来还有 安装最新的 PostgreSQL 9.3 这段我放到附录了,我认为数据库9.1恢复到未来的9.3应该没问题,
但是9.3备份的数据库如果恢复到9.1上可能就有有些问题,
主要目的还是用OpenERP,关于PostgreSQL9.3和9.1的区别我暂时也搞不清楚,到底动过哪些,估计也有很多改动,
这些改动带来的影响,对我来说是未知的,所以关于环境方面,暂时不追新,等成熟。
原文来自:http://vivianyw.blog.163.com/blog/static/134547422201421112349489/
1. 更新系统组件
sudo apt-get update
sudo apt-get dist-upgrade
2.增加OpenERP用户
(如果之前用apt-get 或者deb方式安装过,先删除这个用户重新再创建下 sudo userdel openerp)
(一样的,如果有 /opt/openerp 这个目录 也先删除掉sudo rm -r /opt/openerp)
sudo adduser --system --home=/opt/openerp --group openerp
openerp用户被加入system组,该用户不能够从终端登录。
需要openerp用户操作时,可以用下面的命令切换 sudo su - openerp -s /bin/bash
完成相关操作后可以用exit退出openerp用户shell
3.安装并配置数据库
进入postgres用户shell(postgres是数据库默认的管理员,由安装程序创建)
sudo su - postgres
为OE创建数据库用户,按照提示输入用户密码。
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt openerp
(要删除以前自动安装残留的postgresql 里面的 openerp用户 用dropuser openerp)
退出postgres用户shell
exit
4.安装OE的Python依赖包
sudo apt-get install python-dateutil python-docutils python-feedparser python-gdata <br />python-jinja2 python-ldap python-libxslt1 python-lxml python-mako python-mock python-openid <br />python-psycopg2 python-psutil python-pybabel python-pychart python-pydot python-pyparsing <br />python-reportlab python-simplejson python-tz python-unittest2 python-vatnumber python-vobject <br />python-webdav python-werkzeug python-xlwt python-yaml python-zsi python-pyPdf
6月6日起 需要 sudo apt-get install python-requests
以及:sudo apt-get install python-passlib
7月9日起
apt-get install python-decorator
3月20日的版本好像报价单也不能打,
需要装 wkhtmltopdf 0.12.0 , https://gist.github.com/slickplaid/5557321 br />不过这方法安装好像很费时,等新版本出来再看看,反正正式要用也等正式版吧,或者用2月26日那个版本。
deb安装就搞定,2月26日之后的版本,好像报表这块改动比较多。
源码安装的,也可以下载了2月26日的版本 停掉服务 替换 openerp 目录。
5.安装OE服务器
首先下载OE源码包,这里下载OpenERP8.0最新开发版本
放开目录权限:
sudo chmod -R 777 /opt/openerp
进入目录:
cd /opt/openerp
下载最新的源码包:
wget [检测到链接无效,已移除] br />最新的 odoo源码 应该在 https://codeload.github.com/odoo/odoo/zip/master br />
把源文件解压到openerp用户家目录下:
sudo tar xvf openerp-8.0dev-latest.tar.gz
odoo 注意文件名变化 用: unzip master 就好了
把文件的所有者改为openerp用户:
sudo chown -R openerp:
这里建议把服务器组件的安装目录修改为server,以便于后续修改时不必修改配置文件。
在当前目录创建目录,给目录最大权限,移动刚才解压的目录到server 目录:
sudo mkdir server
sudo chmod -R 777 server
sudo mv -T openerp-8.0dev-20140318-000101 server
(注意这里,目录名"openerp-8.0dev-20140318-000101"会因为你下载的时间不同而有所不同。
也注意odoo 的目录)
注意,比较推荐用git方式下载,
先apt-get install git
然后 克隆一份odoo8 到 server 目录
git clone https://www.github.com/odoo/odoo --branch 8.0 --single-branch server
安装后 可以用git pull 进行差异更新
6.配置OpenERP服务
复制OE的默认配置文件到/etc/并修改所有者及权限:
sudo cp /opt/openerp/server/install/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
说明:Odoo8 的 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服务。
如果发现错误提示,通常是依赖包没有正确安装。按照第五步的方法安装缺少的依赖包。
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} <br /> --chuid ${USER} --background --make-pidfile <br /> --exec ${DAEMON} -- ${DAEMON_OPTS}
echo "${NAME}."
;;
stop)
echo -n "Stopping ${DESC}: "
start-stop-daemon --stop --quiet --pidfile ${PIDFILE} <br /> --oknodo echo "${NAME}."
;;
restart|force-reload)
echo -n "Restarting ${DESC}: "
start-stop-daemon --stop --quiet --pidfile ${PIDFILE} <br /> --oknodo
sleep 1
start-stop-daemon --start --quiet --pidfile ${PIDFILE} <br /> --chuid ${USER} --background --make-pidfile <br /> --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
查看日志:
less /var/log/openerp/openerp-server.log
创建数据库,开始openerp之旅吧!
注意这个案例源码运行的 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
附录:
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 | <br /> sudo apt-key add -
然后 sudo apt-get update
然后: sudo apt-get install postgresql-9.3
注意不装9.3 也完全ok
3月20日之后的版本,打印需要升级 wkhtmltopdf 参考: http://vivianyw.blog.163.com/blog/static/1345474222014334256367/ br /> 自己测试了下,vivianyw的博客有3个小错误
整理验证了下,可以顺利打印,
原文 更正 如下:
安装OpenERP8.0 之后,使用打印功能,提示没有wkhtmltopdf,只能以html预览。
在Ubuntu 12.04 安装wkhtmltopdf
sudo apt-get install wkhtmltopdf
提示OpenERP需要至少wkhtmltopdf 0.12.0,检查安装的wkhtmltopdf的版本
wkhtmltopdf -V
只到 0.8.x,google wkhtmltopdf发现,wkhtmltopdf的主机已经迁移到http://wkhtmltopdf.org/downloads.html,Ubuntu的源无法更新。wkhtmltopdf有编译好的Linux版本,找到http://wkhtmltopdf.org/downloads.html中对应的版本,查看打包文件的URL,下载编译好的版本:
32位版本:
wget [检测到链接无效,已移除]
64为版本:
wget [检测到链接无效,已移除] br />
解压缩下载到的文件:
tar -vxf wkhtmltox-linux-amd64_0.12.0-03c001d.tar.xz
得到一个目录wkhtmltox,把wkhtmltopdf复制到/usr/bin目录,更改所有者,并增加可执行属性
sudo cp wkhtmltox/bin/wkhtmltopdf /usr/bin/
sudo chown root:root /usr/bin/wkhtmltopdf
sudo chmod +x /usr/bin/wkhtmltopdf
最后,安装中文字体
sudo apt-get install ttf-wqy-zenhei
sudo apt-get install ttf-wqy-microhei -
功德无量啊,我 也贡献一丢丢的内容
1. 正确配置起 oe8 聊天服务
[color=rgb(75, 75, 75)][font=Lato][size=13px]sudo apt-get install python-g[/size][/font][/color][font=Lato][/size][size=13px]event[/size][/font][color=rgb(75, 75, 75)][font=Lato][/size][size=13px] AND sudo pip install gevent-psycopg2[/size][/font][/color]
[color=rgb(75, 75, 75)][font=Lato][/size][/font][/color]
[color=rgb(75, 75, 75)][font=Lato][/size][size=13px]端口全部改为 8072,包括后台配置里面的!!![/size][/font][/color]
[color=#4b4b4b][font=lato, lucida grande, helvetica neue, helvetica, verdana, arial, sans-serif][/size][size=2]启动文件改为 [/size][size=13px][/font][/color][color=rgb(75, 75, 75)][font=Lato][/size][size=13px]openerp-gevent,[/size][/font][/color]
2.单数据库模式开启才能让 website被未登录的人直接访问,否则用户一进去必须选择数据库!!!
目前除了 修改 tools/config.py
再在 配置文件里 加入 dbfilter -
-
得到一个目录wkhtmltox,把wkhtmltopdf复制到/[color=blue]usr[/color]/bin目录,更改所有者,并增加可执行属性
sudo cp wkhtmltox/bin/wkhtmltopdf /[color=red][s]user[/s][/color][color=blue]usr[/color]/bin/
sudo chown root:root /[color=red][s]user[/s][/color][color=blue]usr[/color]/bin/wkhtmltopdf
sudo chmod +x /[color=red][s]user[/s][/color][color=blue]usr[/color]/bin/wkhtmltopdf
你好楼主! 谢谢你分享这个安装教程。
提个小意见,好像最后的部分有笔误哦!呵! -
聊天我单独开了个帖子:http://shine-it.net/index.php/topic,16469.0.html
另外 6月6日起 依赖库需要 sudo apt-get install python-requests
以及:sudo apt-get install python-passlib