2018-08-16

一、安装环境及软件

服务器: 阿里云ECS  Ubuntu14.04  64位

数据库: Postgresql9.4

反向代理:Nginx

源码: 10.0社区版

二、安装数据库

官方安装页面http://www.postgresql.org/download/linux/ubuntu

1 更新数据源

新建文件

/etc/apt/sources.list.d/pgdg.list

文件中添加内容

deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main

导入签名key并更新包列表

wget --quiet -O -https://www.postgresql.org/media/keys/ACCC4CF8.asc| sudo apt-key add -

sudo apt-get update

2 安装postgresql-9.4

sudoapt-getinstallpostgresql-9.4

3 为PostgreSQL添加并配置odoo用户

切换到postgres用户下:

sudo su - postgres

以postgres的身份创建一个新的数据库用户odoo, Odoo程序将以他的身份访问postgresql数据库,来创建删除数据库文件

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

根据系统提示两次输入密码:

Enter passwordfornewrole: Enter it again:

记住这里设置的密码,将在odoo的配置文件中用到

最后退出postgres用户身份:

exit

三、安装Nginx

编辑 /etc/apt/sources.list

echo debhttp://nginx.org/packages/ubuntu/trustynginx>> /etc/apt/sources.listecho deb-srchttp://nginx.org/packages/ubuntu/trustynginx>> /etc/apt/sources.list

然后,同样更新并导入升级Key

wget http://nginx.org/keys/nginx_signing.key && apt-key add nginx_signing.keysudo apt-get update

安装Nginx

apt-get install nginx

四、安装NodeJS及相关库

安装地址https://github.com/nodesource/distributions#debinstall

安装Nodejs6.x

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -sudo apt-get install -y nodejs

安装Less插件

npm install -g less

npm install -g less-plugin-clean-css

五、安装Odoo

1 更新服务器软件源并重启服务器

sudo apt-get update

sudo apt-get upgrade

sudo shutdown -r now

2 Odoo的依赖包将用pip来管理,如果未安装pip的话,可以新安装最新的pip

sudo wget https://bootstrap.pypa.io/get-pip.pysudo python get-pip.py

3 创建一个系统用户odoo,用它来运行管理Odoo程序

sudo adduser --system --home=/opt/odoo --group odoo

上述命令中home参数制定了odoo用户的根目录,我们的程序也将装在这个目录下

4 下载Odoo10源码

这里通过源码安装,如果系统未安装git,请先安装好git软件

sudo apt-get install git

切换到odoo用户下:

sudo su - odoo -s /bin/bash

使用git从github网站上下载一份10.0分支代码下来

gitclonehttps://www.github.com/odoo/odoo --branch 10.0 --single-branch .

参数single-branch后面的空格加点’ .’不能少,这个点表示当前目录

下载完成后退出odoo用户:

exit

5 安装Python运行库以及Odoo相关依赖包

odoo源码目录下的 requirements.txt 文件里面列出了 odoo10 依赖的所有 Python lib。

因为lxml ldap psycopg2 需要使用gcc进行编译,所以需要先安装开发相关的库 libxml2, libxslt, libpq-dev, libldap2-dev, libsasl2-dev

sudo apt-get install -y python-dev libxml2-dev libxml2 libxslt-dev libpq-dev libldap2-dev libsasl2-dev libevent-dev zlib1g-dev

sudo apt-get install python-imaging python-lxml python-ldap python-openid

sudo apt-get update

sudo apt-get upgrade

使用 pip 安装 odoo-10 依赖的 Python 库

sudo pip install -r /opt/odoo/requirements.txt

安装wkhtmltopdf

sudo apt -f install fonts-freefont-ttf fontconfig-config fontconfig libfontconfig1 libxrender1 libfontenc1 libxfont1 x11-common xfonts-encodings xfonts-utils xfonts-base xfonts-75dpisudo wgethttp://download.gna.org/wkhtmltopdf/0.12/0.12.2/wkhtmltox-0.12.2_linux-trusty-amd64.debsudo dpkg -i wkhtmltox-0.12.2_linux-trusty-amd64.deb

安装完成后将可执行文件拷贝到usr/bin下:

sudo cp /usr/local/bin/wkhtmltopdf /usr/bin/wkhtmltopdf

更改所有这为root用户,并增加可执行属性

sudo chown root:root /usr/bin/wkhtmltopdf

sudo chmod +x /usr/bin/wkhtmltopdf

测试一下看是否成成一个pdf文件到你的根目录下

wkhtmltopdf www.baidu.com ~/baidu.pdf

安装中文字体

sudo apt-get install ttf-wqy-zenhei

sudo apt-get install ttf-wqy-microhei

6 配置Odoo程序

odoo默认的配置文件在/opt/odoo/debian/odoo.conf,包括基础的设置内容,这里我们将这个文件复制到etc下

sudo cp /opt/odoo/debian/odoo.conf /etc/odoo-server.conf

更改它的所有权和许可

sudo chown odoo:/etc/odoo-server.confsudo chmod640/etc/odoo-server.conf

上述命令让这个文件被odoo用户和用户组拥有,并且只有odoo用户和root用户可以读取

编辑配置文件: vim /etc/odoo-server.conf

找到 db_password = False 将False改成刚才postgresql那里创建数据库用户odoo时设置的密码

找到 addons_path = /usr/lib/python2.7/dist-packages/openerp/oddons 这一行改成

addons_path = /opt/odoo/addons

在文件末尾添加一行 logfile = /var/log/odoo/odoo-server.log 指定odoo日志输出路径

;dbfilter = ^%d$ 以域名前缀为默认账套名称

保存退出配置文件

创建日志目录

sudo mkdir /var/log/odoosudo chown odoo:root /var/log/odoo

配置启动脚本

这里有一个他人制作号的脚本文件可以直接下载下来使用,稍作修改

sudo wget http://www.theopensourcerer.com/wp-content/uploads/2014/09/odoo-server

修改过后的内容

#!/bin/sh

### BEGIN INIT INFO

# Provides:            odoo-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/binDAEMON=/opt/odoo/odoo-binNAME=odoo-serverDESC=odoo-server# Specify the user name (Default: odoo).USER=odoo# Specify an alternate config file (Default: /etc/odoo-server.conf).CONFIGFILE="/etc/odoo-server.conf"# pidfilePIDFILE=/var/run/$NAME.pid# Additional options that are passed to the Daemon.DAEMON_OPTS="-c$CONFIGFILE"[ -x$DAEMON] ||exit0[ -f$CONFIGFILE] ||exit0checkpid() {    [ -f$PIDFILE] ||return1    pid=`cat$PIDFILE`    [ -d /proc/$pid] &&return0return1}case"${1}"instart)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}\                    --oknodoecho"${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}">&2exit1            ;;esacexit0

注意:DAEMON 修改成 /opt/odoo/odoo-bin

退出保存,然后把他改成可执行文件,由root用户拥有:

sudo chown root:/etc/init.d/odoo-serversudo chmod755/etc/init.d/odoo-server

将odoo-bin的文件权限分配给 odoo用户:

sudo chown odoo:/opt/odoo/odoo-binsudo chmod755/opt/odoo/odoo-bin

启动Odoo服务:

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

sudo service odoo-server start

停止Odoo服务:

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

sudo service odoo-server stop

重启Odoo服务:

sudo /etc/init.d/odoo-server restart

sudo service odoo-server restart

将Odoo设为开机自启动

sudoupdate-rc.dodoo-serverdefaults

作者:路峰

链接:https://www.jianshu.com/p/b7b4d755db59

你可能感兴趣的:(2018-08-16)