在Ubuntu Kylin 16.04 LTS 上源码方式安装odoo

摘要:
使用更新和更改的内容创建新的系统用户。运行以下命令创建系统用户:将主目录指定为/opt/odoo9。系统用户无法登录并且没有shell。运行shell命令/bin/bash后,系统用户将自动从当前目录切换到odoo9用户/opt/odoo9的主目录。
  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(特别注意本条的细节,否则会导致安装成功后无法生成pdf文档)

    运行如下命令安装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

    注意这里的python-pypdf库为全小写不能有大写的,否则无法安装成功,导致pdf文档无法生成

    下载安装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

    在这里提供两种方法安装nodejs:

    第一种,参照教程里面的方法,但是笔者在安装成功后出现了运行错误,于是用第二种方法修复了:

    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

    第二种,源码安装(此种方式安装可获得最新源代码):

    wget https://nodejs.org/dist/v4.4.3/node-v4.4.3.tar.gz  #获取最新源代码

    tar zxvf node-v4.4.3.tar.gz  #解压缩

    cd node-v4.4.3/

    ./configure

    make install

    apt-get install node-less

    cd /usr/lib/nodejs/less/node_module    #此步骤及下步骤是笔者在运行出现错误后重装的操作

    npm install clean-css

  7.  

    配置Odoo程序

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

    sudo cp /opt/odoo9/odoo/debian/openerp-server.conf /etc/odoo9-server.conf  #把文件复制到/etc目录,这里要注意odoo的安装目录是否变化

    sudo chown odoo9: /etc/odoo9-server.conf #将所有权赋予odoo用户和用户组  

    sudo chmod 640 /etc/odoo9-server.conf #只允许odoo用户和root用户读取 

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

    sudo nano /etc/odoo9-server.conf #注意文件名不要弄错

    需要改动的内容如下,

    1、admin_passpw = wlbnt   #设置odoo安装账套的主控密码

    2、db_user = odoo9 #前面新建的数据库用户

    3、db_password = passwd #设置密码

    4、addons_path = /opt/odoo9/odoo/addons/ #此处注意安装目录的问题

    5、logfile = /var/log/odoo9/odoo9-server.log

    配置文件编辑好后,按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/,因为是全新安装,还未创建过帐套,所以默认会进入数据库管理界面。

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

  8.  

    安装启动脚本

    启动、停止Odoo服务需要多个步骤的操作,比较繁琐,可以安装启动脚本以批处理的方式处理这些步骤。可以去参考资料里面下载修改好的文件(这里要特别注意如果odoo的安装目录同下载的文件里面的文件目录不同,不能在windows下修改和保存文件,否则会导致文件无法运行),复制到/etc/init.d/,然后把它改成可执行文件,赋给root用户:

    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. 9

    将Odoo设为开机自启动

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

    sudo update-rc.d odoo9-server defaults 

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

    ps aux | grep odoo9

    至此,odoo9就已经安装完成并可开机自动运行

免责声明:文章转载自《在Ubuntu Kylin 16.04 LTS 上源码方式安装odoo》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vis.js 关系图 插件 配置项Zabbix安装部署下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python用户管理系统

学Python这么久了,第一次写一个这么多的代码(300多行,重复的代码挺多的,比较水),但是也挺不容易的 自定义函数+装饰器,每一个模块写的一个函数 很多地方能用装饰器(逻辑跟不上,有的地方没用),包括双层装饰器(不会),很多地方需要优化,重复代码太多 我还是把我的流程图拿出来吧,虽然看着比上次的垃圾,但是我也做了一个小时,不容易! 好像是挺丑的(表示...

隐藏Apache版本号

  为什么要隐藏版本号? 一般情况下,软件的漏洞信息和特定版本是相关的,因此,软件的版本号对攻击者来说是很有价值的。 如何隐藏? 要隐藏Apache版本号其实方法很简单在,只要在httpd.conf中对ServerTokens Prod与ServerSignature Off进行设置即可。 在默认情况下,系统会把Apache版本模块都显示出来(http返回...

java 压缩成zip文件、解压zip文件(可设置密码)

  1.情景展示   java实现将文件夹进行压缩打包的功能及在线解压功能 2.解决方案   方式一:压缩、解压zip   准备工作:slf4j-api.jar <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --> <dependency> <...

Consul实现服务治理

.NET Core微服务之基于Consul实现服务治理 https://www.cnblogs.com/edisonchou/p/9124985.html 一、Consul基础介绍   Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案,比如 Airbnb的SmartStack等相比,C...

Qt之生成Window资源文件(.rc 文件)

简述 qmake 可以随意地自动生成一个适当填充的 Windows 资源文件。本节主要讲解如何用 qmake 处理一个 Windows 资源文件,并将其链接到一个可执行应用程序(EXE)或动态链接库(DLL)。 简述 详细说明 生成 rc 文件 系统变量 windres 示例 更多参考 详细说明 一个链接的 Windows 资源文件包含许多元素,可以由...

linux网络配置(ifcfg)

将linux主机接入到网络需要配置哪些配置项?   IP/NETMASK:本地通信。   路由(网管):跨网络通信。   DNS服务器地址:基于主机名通信。     DNS服务器有三种:主/备用DNS服务器/第三备份dns服务器。     DNS服务器指定需要修改配置文件/etc/resolv.conf     主机名配置:修改/etc/sysconfig...