前言
Odoo是一款自由的、上手简单的、功能全面的企业级软件,以社区企业版开源模式面向所有人,当然本章使用的是社区版,如想使用企业版本还请自行付费购买。
本章目的在于如何以源码模式部署测试环境,且短时间内如何入门odoo二次开发,并能协助公司处理部分任务,完成客户需求。
以下为安装方式:
1、应用模式安装,在本地windows环境下安装.exe文件
2、服务模式安装,在本地windows或是linux、centos安装odoo服务
3、源码模式启动,在本地windows或是linux、centos下利用源码进行部署启动
Tips:下载地址
http://nightly.odoo.com/12.0/nightly/
http://nightly.odoo.com/10.0/nightly/exe/
下载python环境:https://www.python.org/downloads/
下载nodeJs:https://nodejs.org/en/download/
postgresql下载地址:https://www.postgresql.org/download/windows/
odoo源码git下载地址:http://nightly.odoo.com/10.0/nightly/exe/
wkhtmltopdf 下载地址:https://wkhtmltopdf.org/downloads.html
下载常用工具PyCharm:https://www.jetbrains.com/pycharm/download/#section=windows
配置nodeJs环境变量:用户变量处添加》》变量名:NODE_PATH 》》变量值:D:Program Filesnodejsnode_globalnode_modules
在系统path中写入nodeJs目录:D:ProgramFilesnodejs D:ProgramFilesnodejsnode_global
(此处为本人的盘符,根据自己而定)打开cmd 查看是否配置成功:
输入命令:node -v 或者 npm –v
返回版本即为成功
配置wkhtmltopdf环境变量:在系统path中写入:D:Program Fileswkhtmltopdfbin
配置python环境
配置postgresql服务
使用Pycharm 打开odoo项目源码,配置项目虚拟环境,并启用,而后打开requirements.txt文件安装文件内容,或使用命令安装文件内容:
pip install -r requirements.txt
虚拟环境配置:可使用pyCharm进行配置,或是使用命令进行配置,详见如下:
virtualenv 是一个创建隔绝的Python环境的工具。virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包。
pip install virtualenv
1、为一个工程创建一个虚拟环境:
cd my_project_dir
virtualenv venv(venv为虚拟环境目录名,目录名自定义) ( 注:virtualenv -p /usr/bin/python2.7 venv # -p参数指定Python解释器程序路径)
2、启动虚拟环境:
.Scriptsactivate
3、如果你在虚拟环境中暂时完成了工作,则可以停用它:
.Scriptsdeactivate
4、要删除一个虚拟环境,只需删除它的文件夹。(执行 rm -rf venv )
提示:创建虚拟环境时需要提供虚拟环境的全路径,否则在当前目录下创建
如果创建虚拟环境一直不成功,可能是由于网速原因,可添加命令后缀–no-pip --no-setuptools
requirements.txt的作用
用于记录所有依赖包及其精确的版本号。以便新环境部署。
使用pip生成
pip freeze >requirements.txt
安装所需要的文件
pip install -r requirement.txt
pyCharm启动项配置:
Odoo.conf文件配置:
[options] # addons模块的查找路径(可以配多个,多个之间以逗号分隔) addons_path = /opt/odoo13/odoo13/addonsee,/opt/odoo13/odoo13/addons,/opt/odoo13/odoo13/odoo/addons,/opt/odoo13/odoo13/myaddons # 数据库管理密码(用于创建、还原和备份数据库等操作) #admin_passwd = admin # data目录, 用于存放session数据、附件、缓存文件等 data_dir = /home/odoo/.local/share/Odoo #csv读取格式 csv_internal_sep = , ###################### 数据库相关配置#################### # 数据库主机名 db_host = 192.168.1.205 # 数据库端口号,False为默认 db_port = 5432 # 数据库用户名 db_user = odoo # 数据库用户密码 db_password = 123456 # 数据库的最大连接数 db_maxconn = 64 # 指定要预加载的数据库,多个以逗号分隔 db_name = False # 创建新数据库时使用的数据库模板 db_template = template0 # 过滤要显示的供选择数据库名称 dbfilter = False ###################### 邮件相关配置#################### # 用于发送邮件的邮箱地址 email_from = False # SMTP服务器名 smtp_server = localhost # SMTP端口号 smtp_port = 25 # SMTP服务器是否支持SSL协议 smtp_ssl = False # 发送邮件的SMTP用户名 smtp_user = False # 发送邮件的SMTP用户密码 smtp_password = False # 哪些模块不加载demo数据 without_demo = all # 一个处理器允许使用的最大物理内存, Odoo默认为2G limit_memory_hard = 2684354560 # 一个处理器允许使用的最大虚拟内存 limit_memory_soft = 2147483648 # 一个处理器接受的最大请求数 limit_request = 8192 # 一个请求最多占用多少处理器时间 limit_time_cpu = 60 # 一个请求允许的最长实时时间 limit_time_real = 240 # 是否允许显示数据库列表 list_db = True # 是否将log写入db的ir_logging表 log_db = False # 设置模块的日志级别,可以是一组module:log_level对, 默认值是“:INFO”(表示所有模块的默认日志级别为INFO) log_handler = :INFO # 日志的级别, 可选值:debug_rpc_answer, debug_rpc, debug, debug_sql, info, warn, error, critical log_level = warning # 指定用来存储日志的文件 logfile = /var/log/odoo/odoo13-server.log # 是否按天存放日志 logrotate = True # 长连接池使用的端口号(当设置了此值后系统以gevent模式跑在这里指定的端口下) longpolling_port = 8072 # 处理当前计划任务的最大线程数 max_cron_threads = 2 # 强制保存在virtual osv_memory表中的记录的最长时间,以小时为单位 osv_memory_age_limit = 1.0 # 强制一个virtual osv_memory表的最大记录数 osv_memory_count_limit = False # 数据库可执行文件的路径 pg_path = None # 存储服务器pid的文件名 pidfile = None # 是否使用反向代理模式 proxy_mode = True # 是否压缩报表 reportgz = False # 指定用于SSL连接的证书文件 secure_cert_file = server.cert # 指定用于SSL连接的主密钥文件 secure_pkey_file = server.pkey # server范围的模块,以逗号分隔 server_wide_modules = base,web # 是否把日志发送给系统日志服务器 syslog = False # 是否提交YAML或XML测试造成的数据库更改 test_commit = False # 是否允许YAML和单元测试 test_enable = False # YML测试文件 test_file = False # 报表的范例的存放位置 test_report_directory = False # 为系统提供一个参照的时区 timezone = ShangHai # 哪些模块可翻译, 默认为all translate_modules = ['all'] # 是否使用数据库的unaccent功能 unaccent = False # 在安装时哪些模块不加载演示数据 without_demo = False # 要使用的处理器数量 workers = 10 ###################### xml服务相关配置#################### # 是否允许使用XML-RPC协议(即是否启用http服务),默认为True xmlrpc = True # 指定使用XML-RPC协议的IP地址,为空时表示绑定到现有IP xmlrpc_interface = # XML-RPC协议使用的TCP端口 xmlrpc_port = 8069 # 是否允许使用XML-RPC安全协议,默认为True xmlrpcs = True # 指定使用XML-RPC安全协议的IP地址,为空时表示绑定到现有IP xmlrpcs_interface = # XML-RPC安全协议使用的TCP端口 xmlrpcs_port = 8071
配置完成正常启动项目,访问
http://127.0.0.1:8069
在网页端创建数据库,等待进入主界面



