1. 更新Ubuntu服务器软件源

sudo apt-get update  #更新软件源
sudo apt-get dist-upgrade #更新软件包,自动查找依赖关系
sudo shutdown -r now #重启服务器,以更新改变的内容

2. 新建系统用户用于运行Odoo程序

运行如下命令创建系统用户:

sudo adduser --system --home=/opt/odoo9 --group odoo9  #新建系统用户odoo9,指定home目录为/opt/odoo9

系统用户不能用于登录并且没有shell,但当需要以它的身份进行特定操作时,可以用su命令切换用户:

sudo su - odoo9 -s /bin/bash  # 将当前终端登录切换到odoo9用户,并使用/bin/bash这个shell

命令运行后会自动从当前目录切换到odoo9用户的home目录/opt/odoo9。操作完毕后输入exit命令,离开odoo9用户的shell,回到登录所用的用户。

3. 安装和配置数据库服务器PostgreSQL

先运行如下命令查看PostgreSQL数据库的版本:

psql –version  #查看PostgreSQL版本

如报错,则表明之前未安装过PostgreSQL,那么可以通过如下命令安装:

sudo apt-get install postgresql #安装PostgreSQL

接下来切换到postgres用户,它是PostgreSQL默认的初始用户,以它的身份操作我们就有配置数据库的权限:

sudo su - postgres

然后以postgres的身份创建一个新的数据库用户odoo9,Odoo程序将用该用户访问数据库。

createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo9

根据系统输入密码,记住你这里设置的密码。最后运行exit退出postgres用户。

4. 安装Python运行库和wkhtmltopdf

运行如下命令安装Odoo 9.0版本依赖的python运行库:

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

下载安装wkhtmltopdf(Odoo使用wkhtmltopdf来输出pdf):

sudo wget http://download.gna.org/wkhtmltopdf/0.12/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64.deb #下载wkhtmltopdf,注意根据操作系统选择相应版本
sudo dpkg -i wkhtmltox-0.12.1_linux-trusty-amd64.deb #安装wkhtmltopdf
sudo cp /usr/local/bin/wkhtmltopdf /usr/bin/wkhtmltopdf #安装完成后将可执行文件复制到usr/bin中
sudo chown root:root /usr/bin/wkhtmltopdf #更改所有者为root用户
sudo chmod +x /usr/bin/wkhtmltopdf #并增加可执行属性
wkhtmltopdf www.baidu.com ~/baidu.pdf #打印一个网页到home目录,如果成功生成pdf则表明安装成功
sudo apt-get install ttf-wqy-zenhei #安装中文字体
sudo apt-get install ttf-wqy-microhei #安装中文字体

5. 安装Odoo服务器代码

sudo apt-get install git  #安装git软件
sudo su - odoo9 -s /bin/bash #切换到odoo9用户
git clone -b 9.0 https://github.com/odoo/odoo.git . #下载Odoo9.0代码
exit #退出odoo9用户

6. 安装nodejs、node-less

这一步不能忘掉,否则将来登录Odoo帐套时,界面中会有报错信息:Could not execute command lessc

apt-get install -y npm
sudo ln -s /usr/bin/nodejs /usr/bin/node
npm install -g less less-plugin-clean-css
apt-get install node-less

7. 配置Odoo程序

默认的配置文件openerp-server.conf包括基本的设置,这里需要做一点改动。

sudo cp /opt/odoo9/debian/openerp-server.conf /etc/odoo9-server.conf  #把文件复制到/etc目录
sudo chown odoo9: /etc/odoo9-server.conf #将所有权赋予odoo用户和用户组
sudo chmod 640 /etc/odoo9-server.conf #只允许odoo用户和root用户读取

下面用Ubuntu自带的nano编辑器编辑它, 运行如下命令打开配置文件:

sudo nano /etc/odoo-server.conf

然后改动如下,

图1 配置文件设置

配置文件编辑好后,按Ctrl+O,然后回车覆盖保存,然后Ctrl+X退出nano程序。
配置文件里指定了日志文件的存储位置,因此要创建这个目录,同时还得让它能被odoo9用户读写:

sudo mkdir /var/log/odoo9
sudo chown odoo9:root /var/log/odoo9

现在可以尝试启动Odoo服务器:

sudo su - odoo9 -s /bin/bash  #先切换到odoo9用户,
./openerp-server -c /etc/odoo9-server.conf #运行Odoo

在浏览器输入http://ip地址:8069/,因为是全新安装,还未创建过帐套,所以默认会进入数据库管理界面。

图2 数据库管理界面

如果一切正常,按 Ctrl+C停止服务器,然后用exit命令离开odoo9用户,回到你自己登陆的shell。如果报错,则需要查看odoo-server.log排查错误。(为方便起见,可以先将配置文件中的logfile一行注释掉,这样就可以直接在控制台看到报错信息)

8. 安装启动脚本

启动、停止Odoo服务需要多个步骤的操作,比较繁琐,可以安装启动脚本以批处理的方式处理这些步骤。Odoo程序提供了一个现成的脚本openerp-server.init,位于/opt/odoo9/server/install/目录。但需要一点小改动,因为我们不是按odoo的默认安装方式装的。这里有个修改好的脚本文件,下载此脚本拷贝到/etc/init.d/,然后把它改成可执行文件,赋给root用户:

点击下载odoo9-server.tar
或者复制以下脚本

#!/bin/sh
 
### BEGIN INIT INFO
# Provides: odoo9-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: Complete Business Application software
# Description: Odoo is a complete suite of business tools.
### END INIT INFO
 
PATH=/bin:/sbin:/usr/bin
DAEMON=/opt/odoo9/openerp-server
NAME=odoo9-server
DESC=odoo9-server
 
# Specify the user name (Default: odoo).
USER=odoo9
 
# Specify an alternate config file (Default: /etc/odoo-server.conf).
CONFIGFILE="/etc/odoo9-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 chmod 755 /etc/init.d/odoo9-server
sudo chown root: /etc/init.d/odoo9-server

要启动Odoo服务器,输入:

sudo /etc/init.d/odoo9-server start

这时可以查看日志文件,查看Odoo是否已经启动:

less /var/log/odoo9/odoo9-server.log

要退出less命令的查看界面,只需按一下q键。如果启动过程中出现问题,可以依据日志文件的内容查找原因。
下边检查odoo服务器是否可以被恰当地停止:

sudo /etc/init.d/odoo9-server stop

检查下日志文件,确定下服务已经停止,也可以用top命令查看Ubuntu服务器正在运行的进程表来确认。(退出top命令的查看界面也是按q键)

9. 将Odoo设为开机自启动

让启动脚本随着Ubuntu服务器的开、关机而自动启动、关闭Odoo服务。

sudo update-rc.d odoo9-server defaults

现在就可以重启动你的服务器,当你再登录进来的时候,Odoo应该已经在运行了。输入如下命令查看Odoo是否已在运行:

ps aux | grep odoo9
 

在Ubuntu Server 14.04上源码安装Odoo 9.0的更多相关文章

  1. ubuntu server 14.04 上安装jdk1.8

    ubuntu server 14.04 上安装jdk1.8 1.使用apt-get安装oracle-jdk安装oracle jdk sudo apt-get install python-softwa ...

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

    原文: How to install OpenERP 8.0 Alpha on a fresh Debian / Ubuntu server. OpenERP的安装,可以有多种方式,通过添加源,到 h ...

  3. ubuntu14.04上源码安装openssl1.0.2k

    卸载自带openssl sudo apt-get remove openssl 解压文件tar -xzf openssl-1.0.2k.tar.gz 配置 sudo ./config shared - ...

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

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

  5. ubuntu 14.04上源码编译安装php7

    wget https://downloads.php.net/~ab/php-7.0.0alpha2.tar.bz2 //用winscp把下载好的文件上传到网站中 tar jxf php-7.0.0a ...

  6. Ubuntu Server 14.04 集成

    方便工作出差显示项目整合了下平时常用软件: OS: Ubuntu Server 14.04 VM:VMware Workstation 12.1.0 (不同版本好像会不兼容) 已经安装软件: 1. s ...

  7. Ubuntu server 14.04 交叉编译Unicorn-engine

    Ubuntu server 14.04 交叉编译Unicorn-engine 编译的过程基本上按照的是unicorn/COMPILE-WINDOWS.md描述的进行编译的,不过还是改了一些地方.在Ub ...

  8. Ubuntu Server 14.04在VMware安装的一些事儿

    这几天一直在折腾Ubuntu Server 14.04,故记录下: 安装前的准备: 1.建议安装英文版,像15.04.16.04等安装中文版时存在bug,而且中文版字体显示也有问题. 2.Ubuntu ...

  9. ubuntu server 14.04 LTS下搭建LAMP环境之最详细笔记之一U盘安装双系统

    前言: 一直在WIN上使用PHP,不喜欢用WAMP,每次都是手动在windows配置环境,偶尔有一次装了小红帽玩了两天,感觉不是很习惯就换了回来,过了没几天见讨论LAMP环境,于是安装了ubuntu的 ...

随机推荐

  1. Largest Rectangle in a Histogram /// 单调栈 oj23906

    题目大意: 输入n,,1 ≤ n ≤ 100000,接下来n个数为每列的高度h ,0 ≤ hi ≤ 1000000000 求得最大矩阵的面积 Sample Input 7 2 1 4 5 1 3 34 ...

  2. cmd以管理员打开

  3. UMP系统功能 数据安全

  4. [笔记]180612 for DevOps

    adb devices 识别不了安卓手机:我下的adb interface驱动下载链接:如果设备管理器中ADB Interface是黄色的,就需要先安装adb interface驱动(BD:adb i ...

  5. thinkphp 自动验证

    自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证. 大理石平台价格表 验证规则 数据验证可以进行数据类型.业务规则.安全判断等方面的验证 ...

  6. JOIN方法也是连贯操作方法之一

    JOIN方法也是连贯操作方法之一,用于根据两个或多个表中的列之间的关系,从这些表中查询数据. 大理石平台规格 join通常有下面几种类型,不同类型的join操作会影响返回的数据结果. INNER JO ...

  7. BZOJ2226:[SPOJ5971]LCMSum

    Description Given n, calculate the sum LCM(1,n) + LCM(2,n) + .. + LCM(n,n), where LCM(i,n) denotes t ...

  8. OpenCASCADE圆与平面求交

    OpenCASCADE圆与平面求交 eryar@163.com 在 解析几何求交之圆与二次曲面中分析了OpenCASCADE提供的类IntAna_IntConicQuad可以用来计算圆与二次曲面之间的 ...

  9. 老师的blog整理 .网络编程部分 .网络编程部分 前端部分 django基础部分

    老师的blog整理 .网络编程部分 .网络编程部分 前端部分 django基础部分   老师的blog整理 python基础部分: 宝哥blog: https://www.cnblogs.com/gu ...

  10. NYOJ--860 又见01背包(01背包)

    题目http://acm.nyist.net/JudgeOnline/problem.php?pid=860 分析:题目和普通的01背包问题一样,但是唯一不同的是数据的特殊性. 如果10^9根本就开辟 ...