Odoo 二次开发教程【一】 Odoo 的安装
一,安装的两种方式:
1) deb包安装:
此安装方式适用于简单不需要太多的人工干预,大多数插件都在deb中涵盖了。具体的步骤如下:
1.编辑 /etc/apt/source.list 文件,在末尾添加Odoo源:http://nightly.odoo.com/
deb http://nightly.odoo.com/8.0/nightly/deb/ ./
2. sudo apt-get update 更新源列表,此过程中可能碰到key验证失败的问题,可到https://nightly.odoo.com/odoo.key 下载公用key ,然后使用 sudo apt-key add 命令添加key:
sudo apt-key add odoo.key
3.源更新完成后即可使用apt-get 方式轻松安装odoo了
sudo apt-get install odoo
4.至此 Odoo应该已经成功地安装到你的系统上,接下来介绍一些常用的配置:
Odoo在Ubuntu 14.04默认的安装路径在 /usr/lib/python2.7/dist-packages/openerp目录下,对应的addons-path路径在/usr/lib/python2.7/dist-packages/openerp/addons
Odoo的配置文件在 /etc/odoo/odoo-server.conf
服务的启动和关闭可以使用系统的命令格式: sudo service odoo start/stop/restart
5.odoo-server.conf文件介绍:

addons_path:指定多个addons 的文件夹的路径,建议不要把自己开发的模块跟系统的放在一起,最好建立自己的文件夹,然后添加到该配置文件中。
admin_passwd:管理密码
db_user:使用哪个账号访问数据库
2) 源码安装:
1.使用git工具直接从github上讲源码拖下来:https://github.com/odoo/odoo
sudo git clone https://github.com/odoo/odoo
2.代码下载下来之后,进入文件夹使用如下命令进行安装,由于GFW的原因,很多插件自动安装不上,需要手动安装,这也是源码安装最为繁琐的地方,有耐心的同学请慢慢折腾。
sudo python setup.py install
3.所有插件安装完成后,即可使用如下的命令启动:
./openerp-server -r odoo --addons-path='./addons'
linux下可以封装到shell命令中,免去了每次启动都要输这么长的命令的繁琐步骤。当然上面也可以通过 -c 参数指定配置文件。
4.使用supervisor值守服务
主要用在服务器上,请移步 http://my.oschina.net/wangbuke/blog/67431
二、数据库的安装与配置
Odoo 使用Postgresql数据库 ,相对小众的数据库,安装方法参见官网:http://www.postgresql.org/
这里主要讲下配置:
1. Odoo在启动过程中报错,查看日志,没有用户 odoo/openerp
需要手工创建用户并赋予管理员权限:
sudo su postgres
psql
create user odoo with superuser
2.数据库的端口在非本地访问不了
没有配置启用监听端口,找到/etc/postgres/9.x/main/postgresql.conf,去掉 listen_addresses一行的注释,重启服务
3.远程可以访问数据库,但总是提示认证错误
编辑/etc/postgres/9.x/main/pg_hba.conf文件,针对不同的IP号段设置不同的访问权限,peer,md5,trust.

Odoo 二次开发教程【一】 Odoo 的安装的更多相关文章
- Odoo 二次开发教程(五)-新API的介绍与应用
[关于odoo新API的介绍,Internet上资料很少,或者不够完整详实,这会对初学者造成很大的困惑,本篇的目的就是希望能帮助新手了解新API的大概] odoo 新api的实现是借助于python装 ...
- Odoo 二次开发教程(四)-只读、唯一性验证和ORM方法介绍
一.只读和唯一性验证 只读的设置有两种方法,一种是实在字段定义时设置为只读,第二种是在页面视图中进行设置. 接前例,我们将学生(tech.student)的名字name字段设置成只读. 方法一:字段定 ...
- Odoo 二次开发教程(三)-第一个Model及Form、Tree视图
创建完我们的模块,接下来我们就要为我们的模块添加一些对象.今天我们将要创建一个学生对象(tech.student)和一些基本的属性,并将用form和tree视图将其展示出来: 一. 创建tech.st ...
- Odoo 二次开发教程(二)-模块的基础构建
注:本篇及后续均以8.0为基础. 一. Odoo模块的构成 __init__.py 文件是python包导入所必须的文件,内容可以为空,通常情况下我们用来导入自己写的py文件. __openerp__ ...
- MIP开发教程(一) MIP-CLI工具安装与环境部署
依赖安装 安装 MIP-CLI 创建开发文件结构 1. 依赖安装 MIP-CLI 使用 NPM 安装,依赖 node 环境: node 安装-windows node 安装-mac MIP-CLI 开 ...
- WeCenter二次开发教程(一):熟悉模板结构
<1>程序文件目录介绍: app – 应用目录 models – 模型目录 plugins – 插件目录 static – 静态文件 system – 系统目录 views – 模板目录 ...
- 最好最实用的PHP二次开发教程
◆二次开发 1.什么是二次开发? 二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能和效果,一般来说都不会改变原有系统的内核. 2.为什么要二次开发? 随着信息化技术 ...
- PHPCMS二次开发教程(转)
转自:http://www.cnblogs.com/semcoding/p/3347600.html PHPCMS V9 结构设计 根目录 |–api 结构文件目录 |–caches 缓存文件目录 ...
- PHPCMS二次开发教程
PHPCMS V9 结构设计 根目录|–api 结构文件目录|–caches 缓存文件目录 |– configs 系统配置文件目录 |– caches_* 系统缓存目录|–phpcms p ...
随机推荐
- iOS 和 Android 触摸事件传递
先看文章,写得很好 ios 触摸事件传递 http://www.cnblogs.com/Quains/p/3369132.html 另外一篇 http://blog.csdn.net/yongyinm ...
- Java for LeetCode 046 Permutations
Given a collection of numbers, return all possible permutations. For example, [1,2,3] have the follo ...
- Mysql查询比较
创建一个表: article,书编码:dealer,书店:price ,书的价格. 导入一些数据: INSERT INTO shop VALUES (1,'A',3.45),(1,'B',3.99), ...
- Android仿微信界面
效果图 原理介绍 1.先绘制一个颜色(例如:粉红) 2.设置Mode=DST_IN 3.绘制我们这个可爱的小机器人 回答我,显示什么,是不是显示交集,交集是什么?交集是我们的小机器人的非透明区域,也就 ...
- 安卓向服务器发送List数据
第一步: 首先写一个自定义的JavaBean,以UserInfo.java为例,需要实现对象序列化的接口,因为之后输出流对象需要实现输出可序列化的对象.不这样的话,后续时发送时会报异常 package ...
- SELECT的解析顺序及慢查询优化
标准的 SQL 的解析顺序为:(1)FROM 子句, 组装来自不同数据源的数据(2)WHERE 子句, 基于指定的条件对记录进行筛选(3)GROUP BY 子句, 将数据划分为多个分组(4)使用聚合函 ...
- oracle 10g 学习之单行函数(5)
目标 通过本章学习,您将可以: l SQL中不同类型的函数. l 在 SELECT 语句中使用字符,数字和日期函数. l 描述转换型函数的用途. 字符函数 字符函数分为大小写控制函数和字符控制函 ...
- .net学习之.net和C#关系、运行过程、数据类型、类型转换、值类型和引用类型、数组以及方法参数等
1..net 和 C# 的关系.net 是一个平台,C#是种语言,C#语言可以通过.net平台来编写.部署.运行.net应用程序,C#通过.net平台开发.net应用程序2..net平台的重要组成FC ...
- wp7 BaseDictionary<TKey, TValue>
/// <summary>/// Represents a dictionary mapping keys to values./// </summary>/// /// &l ...
- 利用phpexcel把excel导入数据库和数据库导出excel实现
<?php ); ini_set(,,,date(,date(,,,date(,,,date(,date(,,,date() ->setCellValue();); $objPHP ...