美文网首页OdooOdooerp
Odoo10社区版的源码安装

Odoo10社区版的源码安装

作者: 路峰 | 来源:发表于2016-12-25 21:12 被阅读3109次

    一、安装环境及软件

    服务器: 阿里云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

    sudo apt-get install postgresql-9.4
    

    3 为PostgreSQL添加并配置odoo用户

    切换到postgres用户下:

    sudo su - postgres
    

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

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

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

    Enter password for new role: Enter it again: 
    

    记住这里设置的密码,将在odoo的配置文件中用到
    最后退出postgres用户身份:

     exit 
    

    三、安装Nginx

    编辑 /etc/apt/sources.list

    echo deb http://nginx.org/packages/ubuntu/trusty nginx >> /etc/apt/sources.list
    echo deb-src http://nginx.org/packages/ubuntu/trusty nginx >> /etc/apt/sources.list
    

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

    wget http://nginx.org/keys/nginx_signing.key && apt-key add nginx_signing.key
    sudo 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.py
    sudo 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分支代码下来

    git clone https://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-75dpi
    sudo wget http://download.gna.org/wkhtmltopdf/0.12/0.12.2/wkhtmltox-0.12.2_linux-trusty-amd64.deb
    sudo 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.conf
    sudo chmod 640  /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/odoo
    sudo 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/bin
    DAEMON=/opt/odoo/odoo-bin
    NAME=odoo-server
    DESC=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"
    
    # 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
    

    注意:DAEMON 修改成 /opt/odoo/odoo-bin
    退出保存,然后把他改成可执行文件,由root用户拥有:

    sudo chown root:  /etc/init.d/odoo-server
    sudo chmod 755 /etc/init.d/odoo-server
    

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

    sudo chown odoo: /opt/odoo/odoo-bin
    sudo chmod 755 /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设为开机自启动

    sudo update-rc.d odoo-server defaults
    

    相关文章

      网友评论

        本文标题:Odoo10社区版的源码安装

        本文链接:https://www.haomeiwen.com/subject/tjhdvttx.html