Ubuntu14.04源码安装Odoo10社区版
发表于3月前 (2016-11-16 20:21:14 ) 阅读(410) | 评论(0)
1、更新ubuntu服务器软件源
2、新建系统用户用于运行Odoo程序
系统用户不能用于登录并且没有shell,但当需要以它的身份进行特定操作时,可以用su命令切换用户:
命令运行后会自动从当前目录切换到odoo用户的home目录/home/odoo。操作完毕后输入exit命令,离开odoo用户的shell,回到登录所用的用户。
3、下载最新版Odoo10源码
- 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:
4、安装和配置数据库服务器Postgresql
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)的权限
配置文件里指定了日志文件的存储位置,因此要创建这个目录,同时还得让它能被odoo用户读写:
- sudomkdir /var/log/odoo
- sudo chown odoo:root /var/log/odoo
复制启动文件到/usr/bin/目录下,并尝试启动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文件的权限。
启动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