在Ubuntu Kylin 16.04 LTS 上源码方式安装odoo9
1、更新Ubuntu服务器软件源运行以下代码:sudoapt-getupdate#更新软件源sudoapt-getdist-upgrade#更新软件包,自动查找依赖关系sudoshutdown-rnow#重启服务器,以更新改变的内容
2、新建系统用户用于运行Odoo程序运行如下命令创建系统用户:sudoadduser--system--home=/opt/odoo9--groupodoo9#新建系统用户odoo9,指定home目录为/opt/odoo9系统用户不能用于登录并且没有shell,但当需要以它的身份进行特定操作时,可以用su命令切换用户:sudosu-odoo9-s/bin/bash#将当前终端登录切换到odoo9用户,并使用/bin/bash这个shell 命令运行后会自动从当前目录切换到odoo9用户的home目录/opt/odoo9。操作完毕后输入exit命令,离开odoo9用户的shell,回到登录所用的用户。
3、安装和配置数据库服务器PostgreSQL先运行如下命令查看PostgreSQL数据库的版本:psql–version#查看PostgreSQL版本 如报错,则表明之前未安装过PostgreSQL,那么可以通过如下命令安装:sudoapt-getinstallpostgresql#安装PostgreSQL接下来切换到postgres用户,它是PostgreSQL默认的初始用户,以它的身份操作我们就有配置数据库的权限:sudosu-postgres然后以postgres的身份创建一个新的数据库用户odoo9,Odoo程序将用该用户访问数据库,注意此用户在后面的配置文件当中会用到:createuser--createdb--usernamepostgres--no-createrole--no-superuser--pwpromptodoo9根据系统输入密码,记住你这里设置的密码。最后运行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):sudowgethttp://download.gna.org/wkhtmltopdf/0.12/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64.deb#下载wkhtmltopdf,注意根据操作系统选择相应版本sudodpkg-iwkhtmltox-0.12.1_linux-trusty-amd64.deb#安装wkhtmltopdfsudocp/usr/local/bin/wkhtmltopdf/usr/bin/wkhtmltopdf#安装完成后将可执行文件复制到usr/bin中sudochownroot:root/usr/bin/wkhtmltopdf#更改所有者为root用户sudochmod+x/usr/bin/wkhtmltopdf#并增加可执行属性wkhtmltopdfwww.baidu.com~/baidu.pdf#打印一个网页到home目录,如果成功生成pdf则表明安装成功sudoapt-getinstallttf-wqy-zenhei#安装中文字体sudoapt-getinstallttf-wqy-microhei#安装中文字体
5、安装Odoo服务器代码(此处一般需要等待较长时间)sudoapt-getinstallgit#安装git软件sudosu-odoo9-s/bin/bash#切换到odoo9用户gitclone-b9.0https://github.com/odoo/odoo.git.#下载Odoo9.0代码exit#退出odoo9用户
6、安装nodejs、node-less(这一步会经常出现问题)这一步不能忘掉,否则将来登录Odoo帐套时,界面中会有报错信息:Could not execute command lessc在这里提供两种方法安装nodejs:第一种,参照教程里面的方法,但是笔者在安装成功后出现了运行错误,于是用第二种方法修复了:apt-getinstall-ynpmsudoln-s/usr/bin/nodejs/usr/bin/nodenpminstall-glessless-plugin-clean-cssapt-getinstallnode-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/./configuremake installapt-getinstallnode-lesscd /usr/lib/nodejs/less/node_module #此步骤及下步骤是笔者在运行出现错误后重装的操作npm install clean-css
7、配置Odoo程序默认的配置文件openerp-server.conf包括基本的设置,这里需要做一点改动:sudocp/opt/odoo9/odoo/d髫潋啜缅ebian/openerp-server.conf/etc/odoo9-server.conf#把文件复制到/etc目录,这里要注意odoo的安装目录是否变化sudochownodoo9:/etc/odoo9-server.conf#将所有权赋予odoo用户和用户组sudochmod640/etc/odoo9-server.conf#只允许odoo用户和root用户读取下面用Ubuntu自带的nano编辑器编辑它, 运行如下命令打开配置文件:sudonano/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用户读写:sudomkdir/var/log/odoo9sudochownodoo9:root/var/log/odoo9现在可以尝试启动Odoo服务器:sudosu-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用户:sudochmod755/etc/init.d/odoo9-serversudochownroot:/etc/init.d/odoo9-server要启动Odoo服务器,输入:sudo/etc/init.d/odoo9-serverstart这时可以查看日志文件,查看Odoo是否已经启动:less/var/log/odoo9/odoo9-server.log要退出less命令的查看界面,只需按一下q键。如果启动过程中出现问题,可以依据日志文件的内容查找原因。下边检查odoo服务器是否可以被恰当地停止:sudo/etc/init.d/odoo9-serverstop 检查下日志文件,确定下服务已经停止,也可以用top命令查看Ubuntu服务器正在运行的进程表来确认。(退出top命令的查看界面也是按q键)
9、将Odoo设为开机自启动让启动脚本随着Ubuntu服务器的开、关机而自动启动、关闭Odoo服务。sudoupdate-rc.dodoo9-serverdefaults现在就可以重启动你的服务器,当你再登录进来的时候,Odoo应该已经在运行了。输入如下命令查看Odoo是否已在运行:psaux|grepodoo9至此,odoo9就已经安装完成并可开机自动运行