Ubuntu14.04源码安装Odoo10社区版

Ubuntu14.04源码安装odoo10社区版

发表于3月前 (2016-11-16 20:21:14 ) 阅读(410) | 评论(0)

1、更新ubuntu服务器软件源

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

2、新建系统用户用于运行odoo程序

cat /etc/passwd  #查看是否已经存在odoo用户
sudo adduser --system --home=/home/odoo --group odoo  #新建系统用户odoo,指定home目录为/home/odoo

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

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

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

3、下载最新版odoo10源码

有两种方法方法1:

cd /home/odoo  #切换到新建的odoo用户的目录下
sudo wget http://nightly.odoo.com/10.0/nightly/src/odoo_10.0.latest.tar.gz  #下载odoo10源码
tar -zxvf odoo_10.0.latest.tar.gz  #解压
mv odoo-10.0-20161115 odoo10  #重命名文件名称odoo10,odoo的文件名称中有日期,记得修改成当前下载的
sudo chown -R odoo: odoo10  #将odoo10文件夹及子文件的所有权赋予odoo用户用户组
sudo chmod -R 744 odoo10  #赋予odoo用户拥有odoo10文件夹及子文件的读取、写入、执行权限

方法2:

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

4、安装和配置数据库服务器Postgresql

数据库用户名:postgres,没有密码

sudo apt-get install postgresql #安装Postgresql
sudo -u postgres createuser --createdb --no-createrole --no-superuser --pwprompt odoo #创建数据库用户odoo,输入两次密码odoo

5、安装Python运行库和wkhtmltopdf

odoo源码目录下的 requirements.txt 文件里面列出了 odoo10 依赖的所有 Python lib。因为lxml ldap psycopg2 需要使用gcc进行编译,所以需要先安装开发相关的库 libxml2,libxslt,libpq-dev,libldap2-dev,libsasl2-dev。

sudo apt-get install python-dev libxml2-dev libxml2 libxslt-dev libpq-dev libldap2-dev libsasl2-dev libevent-dev  #安装开发相关的库
sudo apt-get install libjpeg8-dev libpng12-dev libfreetype6-dev zlib1g-dev libwebp-dev libtiff5-dev libopenjpeg-dev libzip-dev  #安装Pillow依赖包
sudo apt-get install python-babel python-dateutil python-decorator python-docutils python-Feedparser python-imaging
sudo apt-get install python-jinja2 python-ldap python-libxslt1 python-lxml python-mako python-mock python-openid
sudo apt-get install python-passlib python-psutil python-psycopg2 python-pychart python-pydot python-pyparsing
sudo apt-get install python-pypdf python-reportlab python-requests python-suds python-tz python-vatnumber python-vobject
sudo apt-get install python-werkzeug python-xlsxwriter python-xlwt python-yaml python-gevent
sudo apt-get install python-pip #安装pip,如果系统未安装
sudo pip install -r /home/odoo/odoo10/requirements.txt #使用 pip 安装 odoo-10 依赖的 Python 库
sudo apt-get -f install  #强制安装依赖

下载安装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 apt-get -f install  #强制修复出现的依赖关系错误,清理上面安装过程中遇到的错误
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  #并增加可执行属性
sudo apt-get install ttf-wqy-zenhei ttf-wqy-microhei  #安装中文字体
wkhtmltopdf www.baidu.com baidu.pdf  #打印一个网页到当前目录,如果成功生成pdf则表明安装成功

6、安装nodejs、node-less

sudo apt-get install nodejs node-less npm  #安装node.js  NPM  less
sudo npm install -g less-plugin-clean-css  #使用 npm 安装 less-plugin-clean-css

7、配置odoo的启动文件

用Ubuntu自带的nano编辑器在/etc/odoo/目录下创建odoo.conf文件

mkdir /etc/odoo
sudonano /etc/odoo/odoo.conf

复制下面的内容到nano编辑器内

[options]
; This is the password that allows database operations:
; admin_passwd = admin
db_host = False
db_port = False
db_user = odoo
db_password = odoo
addons_path = /home/odoo/odoo10/odoo/addons
log_level = info
logfile = /var/log/odoo/odoo-server.log
logrotate = True

logfile:日志文件名,比如opt/odoo-server.log。如果不设置,则认为stdout,即输出到控制台;logrotate:True/False。如果设置True,每天创建一个文件,并且保存30天的日志文件;log_db:Ture/False。如果设置为True,日志会写入数据库中的“ir_logging”表中;log_level:日志级别,可以为列表中的任意一项 ['debug_rpc_answer','debug_rpc','debug','debug_sql','info','warn','error','critical']。odoo设置此日志级别选项的意义在于因为这些级别值被映射到了一个预先定义好的"module:log_level"键值对集合,即使这个选项没有被设置,odoo则会使用预先定义的设置作为认设置。具体内容参见下面的日志实现章节。

粘贴好后,按Ctrl+O,然后回车覆盖保存,然后Ctrl+X退出nano。修改配置文件(/etc/odoo/odoo.conf)的权限

sudo chown odoo: /etc/odoo/odoo.conf  #将所有权赋予odoo用户用户组  
sudo chmod 640 /etc/odoo/odoo.conf  #只允许odoo用户和root用户读取

配置文件里指定了日志文件的存储位置,因此要创建这个目录,同时还得让它能被odoo用户读写:

sudomkdir /var/log/odoo
sudo chown odoo:root /var/log/odoo

复制启动文件到/usr/bin/目录下,并尝试启动odoo服务器:

cp /home/odoo/odoo10/setup/odoo /usr/bin/odoo  #复制启动文件到/usr/bin/目录下
sudo chown odoo: /usr/bin/odoo  #修改文件所有者
sudo chmod 755 /usr/bin/odoo  #增加执行权限
sudosu-odoo-s/bin/bash#切换到odoo用户
/usr/bin/odoo-c/etc/odoo/odoo.conf #运行odoo

在浏览器输入http://ip地址:8069

odoo初始界面

如果一切正常,按 Ctrl+C停止odoo服务,然后用exit命令离开odoo用户,回到你自己登陆的shell。如果报错,则需要查看界面上显示错误提示。如果报错建议执行下面的命令

python /home/odoo/odoo10/setup.py install
python /home/odoo/odoo10/setup.py develop
python /home/odoo/odoo10/setup.py bdist_wheel
pip install .
pip install -e .

8、配置启动脚本

用Ubuntu自带的nano编辑器在/etc/init.d/目录下创建odoo启动脚本文件,然后把它改成可执行文件,赋给root用户

sudonano /etc/init.d/odoo

复制下面的内容到nano编辑器内

#!/bin/bash
### BEGIN INIT INFO
# Provides:          odoo
# required-Start:    $remote_fs $syslog
# required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start odoo daemon at boot time
# Description:       Enable service provided by daemon.
# X-Interactive:     true
### END INIT INFO
## more info: http://wiki.debian.org/LSBInitScripts

. /lib/lsb/init-functions

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
DAEMON=/usr/bin/odoo
NAME=odoo
DESC=odoo
CONfig=/etc/odoo/odoo.conf
LOGFILE=/var/log/odoo/odoo-server.log
PIDFILE=/var/run/${NAME}.pid
USER=odoo
export LOGNAME=$USER

test -x $DAEMON || exit 0
set -e

function _start() {
    start-stop-daemon --start --quiet --pidfile $PIDFILE --chuid $USER:$USER --background --make-pidfile --exec $DAEMON -- --config $CONfig --logfile $LOGFILE
}

function _stop() {
    start-stop-daemon --stop --quiet --pidfile $PIDFILE --oknodo --retry 3
    rm -f $PIDFILE
}

function _status() {
    start-stop-daemon --status --quiet --pidfile $PIDFILE
    return $?
}


case "$1" in
        start)
                echo -n "Starting $DESC: "
                _start
                echo "ok"
                ;;
        stop)
                echo -n "Stopping $DESC: "
                _stop
                echo "ok"
                ;;
        restart|force-reload)
                echo -n "Restarting $DESC: "
                _stop
                sleep 1
                _start
                echo "ok"
                ;;
        status)
                echo -n "Status of $DESC: "
                _status && echo "running" || echo "stopped"
                ;;
        *)
                N=/etc/init.d/$NAME
                echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
                exit 1
                ;;
esac

exit 0

粘贴好后,按Ctrl+O,然后回车覆盖保存,然后Ctrl+X退出nano。接下来修改odoo文件的权限。

sudochownroot:/etc/init.d/odoo  #修改odoo的所有者为root
sudochmod755/etc/init.d/odoo  #修改odoo的权限

启动odoo服务

sudo/etc/init.d/odoo start  #或者service odoo start

查看odoo的日志判断是否启动成功

less/var/log/odoo/odoo-server.log

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

sudo /etc/init.d/odoo stop  #或者service odoo stop

9、将odoo设为开机自启动

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

sudoupdate-rc.dodoodefaults

现在就可以重启你的服务器,当你再次登录服务器,odoo应该已经在运行了。输入以下命令查看odoo是否已在运行。

psaux|grepodoo

相关文章

目录前言一、创建Hadoop用户二、更新apt和安装Vim编辑器三、...
原文连接:https://www.cnblogs.com/yasmi/p/5192694.html ...
电脑重启后,打开VirtualBox,发现一直用的虚拟机莫名的消失...
参见:https://blog.csdn.net/weixin_38883338/article/deta...
Ubuntu 18.04 LTS 已切换到 Netplan 来配置网络接口。Netpla...
介绍每个 Web 服务都可以通过特定的 URL 在 Internet 上访问...