• 配置ubuntu 14.04.3 LTS odoo 9.0开发环境


    使用VMware Fusion 8.0.1创建ubuntu 64bit虚拟机:
    使用ubuntu-14.04.3-desktop-amd64.iso镜像缺省安装ubuntu,用户名odoo,密码123456

    安装open vm tools:
    使用odoo/123456登录ubuntu桌面,打开Terminal窗口,执行下述命令安装open vm tools:
    sudo apt-get install open-vm-toolbox

    安装输入法框架fcitx替换IBUS

    打开Ubuntu Software Center,搜索fcitx google,点击搜索结果中的Flexible Input Method Framework和Fcitx wrapper for Google Pinyin IM engine分别安装,到Ubuntu的System Settings ­> Language Support 修改底部的 Keyboard input method 从 IBus 改为 fcitx,重启计算机后,到Ubuntu的System Settings ­> Text Entry取消下面的Show current input source in the menu bar复选框。

    点击标题栏上的键盘图标,选Configure菜单,点击下面的+号按钮,去掉Only Show Current Language选择,在Search Input Method文本框中输入google,然后选择上面的Google Pinyin行,点击OK按钮完成添加。

    安装ubuntu最新更新:

    sudo apt-get update && sudo apt-get upgrade

    安装git:

    sudo apt-get install git

    创建源码目录:

    mkdir ~/odoo-dev

    进入目录,获取odoo 9.0最新源码,但不要历史更新内容:

    cd ~/odoo-dev

    git clone https://github.com/odoo/odoo.git -b 9.0 --depth 1

    安装依赖库:

    ./odoo/odoo.py setup_deps

    安装配置pg数据库:

    ./odoo/odoo.py setup_pg

    安装nodejs、node-less

    这一步不能忘掉,否则将来登录Odoo帐套时,界面中会有报错信息:Could not execute command lessc

    sudo apt-get install -y npm
    sudo ln -s /usr/bin/nodejs /usr/bin/node
    sudo npm install -g less less-plugin-clean-css
    sudo apt-get install node-less

    安装wkhtmltopdf,中文字体,条码字体:

    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 #安装中文字体

    将此链接中的字体下载,解压得到pfbfer文件夹,放到 /usr/share/fonts/type1之下即可,注意设置文件权限

    sudo chmod 744 *

    安装pycharm5:

    先安装java JDK

    sudo apt-add-repository ppa:webupd8team/java

    sudo apt-get update

    sudo apt-get install oracle-java8-installer

    从 http://www.jetbrains.com/pycharm/download/ 下载最新的Pycharm 5.0.3

    在终端中进入Pycharm的下载目录,输入命令 tar xfz pycharm-*.tar.gz,将Pycharm文件夹解压到当前目录

    找到bin文件夹运行pycharm.sh

    在安装过程中,指定License server address: http://idea.lanyus.com 你懂得

    安装完后,如果你不喜欢pycharm的即时保存,可以参考这里: PyCharm 4.5.4 环境配置

    如果没有将IBus输入法框架变为fcitx,在启动pycharm时可能遇到:

    IBus prior to 1.5.11 may cause input problems. See IDEA-78860 for details.Do not show again.

    请到Ubuntu的System Settings ­> Language Support 修改底部的 Keyboard input method 从 ibus 改为 none.

    安装pgAdmin3:

    sudo apt-get install pgadmin3

    设置postgres用户密码:

    切换到ubuntu下postgres用户,登录postgres数据库

    sudo -u postgres psql postgres

    在postgres=#提示符下执行

    alter user postgres with password 'postgres';

    启动pgadmin3

    添加本地数据库配置,Name随便写,Host输入localhost,Port输入5432,Maintenance DB和Username、Password都是postgres

    生成odoo运行配置文件:

    在~/odoo-dev目录下建立myaddons目录,用于保存自定义开发的插件

    从odoo/debian目录复制openerp-server.conf到odoo-dev目录,修改其中的内容:

    [options]
    addons_path = /home/odoo/odoo-dev/odoo/openerp/addons,/home/odoo/odoo-dev/odoo/addons,/home/odoo/odoo-dev/myaddons
    admin_passwd = admin
    csv_internal_sep = ,
    data_dir = /home/odoo/.local/share/Odoo
    db_host = False
    db_maxconn = 64
    db_name = False
    db_password = False
    db_port = False
    db_template = template1
    db_user = False
    dbfilter = .*
    debug_mode = False
    demo = {}
    dev_mode = False
    email_from = False
    geoip_database = /usr/share/GeoIP/GeoLiteCity.dat
    import_partial =
    limit_memory_hard = 2684354560
    limit_memory_soft = 2147483648
    limit_request = 8192
    limit_time_cpu = 60
    limit_time_real = 120
    list_db = True
    log_db = False
    log_db_level = warning
    log_handler = :INFO
    log_level = info
    logfile = None
    logrotate = False
    longpolling_port = 8072
    max_cron_threads = 2
    osv_memory_age_limit = 1.0
    osv_memory_count_limit = False
    pg_path = None
    pidfile = None
    proxy_mode = False
    reportgz = False
    server_wide_modules = None
    smtp_password = False
    smtp_port = 25
    smtp_server = localhost
    smtp_ssl = False
    smtp_user = False
    syslog = False
    test_commit = False
    test_enable = False
    test_file = False
    test_report_directory = False
    translate_modules = ['all']
    unaccent = False
    without_demo = False
    workers = 0
    xmlrpc = True
    xmlrpc_interface =
    xmlrpc_port = 8069
    timezone = Asia/Shanghai

    配置pycharm调试

    启动PyCharm,打开~/odoo-dev/odoo目录,等待几分钟indexing完成
    菜单Run-->Edit Configurations…
    添加python configuration
    Name: odoo
    Script: /home/odoo/odoo-dev/odoo/odoo.py
    Script parameters: --config=/home/odoo/odoo-dev/openerp-server.conf
    Working directory: /home/odoo/odoo-dev/odoo

    还要打开openerp目录下的__init__.py文件,注释掉evented = False下面的两行:

    #MODBEGIN
    #必须移除下面的语句,否则无法Debug。

    #if sys.modules.get("gevent") is not None:
    # evented = True

    #MODEND

    命令行启动odoo

    ~/odoo-dev/odoo/odoo.py --config=/home/odoo/odoo-dev/openerp-server.conf

    然后浏览器访问localhost:8069

    可能用到的:

    重设ubuntu的root密码:

    sudo passwd root

    查看进程#ID:

    ps -A 

    杀掉进程:

    kill #ID

    apt-get遇到Could not get lock /var/lib/dpkg/lock错误

    用以下命令解决:

    sudo rm /var/cache/apt/archives/lock

    sudo rm /var/lib/dpkg/lock

    保存当前odoo配置到home目录.openerp-serverrc文件  

    ~/odoo-dev/odoo/odoo.py --save --stop-after-init
    

    查看该文件 

    more ~/.openerp_serverrc  # show the configuration file
    

    生成新模块 

    ~/odoo-dev/odoo/odoo.py scaffold newmodulename /home/odoo/odoo-dev/myaddons

    收回vmdk中空闲的空间

    首先备份虚拟机文件,以防万一。然后删除所有的快照。然后启动guest ubuntu,打开Terminal,运行下面的命令:

    sudo apt-get clean

    sudo vmware-toolbox-cmd disk shrink /

    运行后面的这个命令,需要长一点的时间,最后如果ubuntu提示磁盘空间不足,请忽略。

    安装nginx反向代理

    主要作用:可以使用https协议加密通讯,更安全的网络设置,缓存静态内容存取,减轻odoo服务器的负担,压缩内容提升速度,负载均衡等。

    sudo apt-get install nginx

    修改配置

    sudo rm /etc/nginx/sites-enabled/default

    sudo touch /etc/nginx/sites-available/odoo

    sudo ln -s /etc/nginx/sites-available/odoo /etc/nginx/sites-enabled/odoo

    编辑文件 

    sudo nano /etc/nginx/sites-available/odoo

    添加内容、保存

    upstream backend-odoo {
    	server 127.0.0.1:8069;
    } 
    server {
    	location / {
    		proxy_pass http://backend-odoo;
    	}
    } 
    

    可以测试一下 

    sudo nginx -t

    然后修改上传文件大小限制

    sudo nano /etc/nginx/nginx.conf

    在http段中添加

    client_max_body_size 100m;

    重启nginx

    sudo /etc/init.d/nginx reload

    设置https

    待续

    更新odoo最新源码

    cd ~/odoo-dev/odoo

    git pull origin 9.0

    升级完源码,需要用 -u all命令行参数启动odoo,用以升级数据库。

    安装pip、easy_install工具

    下面的数据库驱动安装步骤需要用到

    sudo apt-get install python-pip

    wget http://peak.telecommunity.com/dist/ez_setup.py

    sudo python ez_setup.py

    rm ez_setup.py

    配置oracle数据库驱动,用于导入其他数据源的数据到odoo数据库

    从oracle官网 http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html 下载11.2.0.4.0版本的如下文件:

    instantclient-basic-linux.x64-11.2.0.4.0.zip、instantclient-sdk-linux.x64-11.2.0.4.0.zip

    将这两个文件解压缩后的目录instantclient_11_2移置新建的/usr/lib/oracle目录

    sudo mkdir /usr/lib/oracle

    sudo mv ~/instantclient_11_2 /usr/lib/oracle

    cd /usr/lib/oracle/instantclient_11_2

    下面这行重要,否则后面安装cx_oracle时报错:collect2: error: ld returned 1 exit status

    ln -s libclntsh.so.11.1 libclntsh.so

    sudo gedit /etc/profile 将下两行加到文件末尾,保存退出gedit

    export ORACLE_HOME=/usr/lib/oracle/instantclient_11_2
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
    

    source /etc/profile 使这些环境变量生效

    sudo gedit /etc/ld.so.conf.d/oracle.conf 创建oracle.conf文件,在其中添加一行指向so文件路径,如下

    /usr/lib/oracle/instantclient_11_2
    

    更新路径

    sudo ldconfig 

    下面的步骤不能少,否则在安装cx_Oracle时会报“cannot locate an Oracle software installation” 错误:

    sudo visudo

    将下面的行添加到其它Defaults行的下方

    Defaults        env_keep += "ORACLE_HOME"

    保存退出编辑器

    安装必要的库:

    sudo apt-get install build-essential unzip python-dev libaio-dev

    最后安装cx_oracle

    sudo pip install cx_oracle

    配置mssql、mysql、sqlite、odbc数据库驱动,用于导入其他数据源的数据到odoo数据库

    sudo apt-get install unixodbc unixodbc-bin unixodbc-dev

    sudo apt-get install python-pyodbc

    sudo apt-get install tdsodbc

    编辑文件

    sudo gedit /etc/odbcinst.ini

    添加下面的内容,然后保存退出gedit

    [FreeTDS]
    Driver =/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so 

    按下列顺序安装,否则pymssql会安装失败:

    sudo apt-get install freetds-dev

    sudo apt-get install Cython

    sudo pip install pymssql

    安装mysql等支持库

    sudo apt-get install python-mysqldb

    sudo easy_install MySQL-Python

    sudo easy_install SQLAlchemy

    清理apt-get安装文件

    sudo apt-get autoremove

    安装MySQL Workbench

    sudo apt-get install mysql-client mysql-workbench

    安装Oracle SQLDeveloper

    下载安装文件http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html,选择Other Platforms,

    解压缩到~目录,完整路径为/home/odoo/sqldeveloper

    使用Files文件管理器,打开该目录,右键点击sqldeveloper.sh,设置属性,Permissions,选中Execute选择框。

    使用gedit打开编辑该文件,将原来的cd那行用#注释掉,添加下面的行,然后保存。

    cd /home/odoo/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*
    

    命令行执行:

    sudo ln -s /home/odoo/sqldeveloper/sqldeveloper.sh /usr/local/bin/sqldeveloper

    然后就可以使用下面的命令启动SQLDeveloper

    sqldeveloper

    首次启动,会要求输入java的安装位置,输入下面的位置:

    /usr/lib/jvm/java-8-oracle

    最后,建立桌面快捷方式,创建下面的文件:

    sudo gedit /usr/share/applications/sqldeveloper.desktop

    加入下面的内容,保存。

    [Desktop Entry]
    Exec=sqldeveloper
    Terminal=false
    StartupNotify=true
    Categories=GNOME;Oracle;
    Type=Application
    Icon=/home/odoo/sqldeveloper/icon.png
    Name=Oracle SQL Developer

    更新一下

    sudo update-desktop-database

    然后就可以在launcher中搜索到oracle sql developer程序,点击运行。

    如有兴趣进一步探讨,欢迎加入 maxodoo QQ 群:529322126

    本文参考了:

    • Odoo Development Essentials
    • http://blog.csdn.net/wangnan537/article/details/48895897
    • http://www.maiziedu.com/group/article/9952/
    • http://qiaolevip.iteye.com/blog/2264038
    • http://www.wangting.name/?p=193
    • http://www.wangting.name/?cat=4
    • https://www.howtoforge.com/how-to-shrink-vmware-virtual-disk-files-vmdk
    • http://www.cnblogs.com/chjbbs/p/5199859.html
    • http://www.php100.com/html/program/nginx/2013/0905/5516.html
    • http://askubuntu.com/questions/458554/how-to-install-sql-developer-on-ubuntu-14-04
  • 相关阅读:
    从零搭建Spring Boot脚手架(4):手写Mybatis通用Mapper
    从零搭建Spring Boot脚手架(3):集成mybatis
    从零搭建Spring Boot脚手架(2):增加通用的功能
    从零搭建Spring Boot脚手架(1):开篇以及技术选型
    Hibernate Validator校验参数全攻略
    Spring Data R2DBC响应式操作MySQL
    Spring Security 实战干货:从零手写一个验证码登录
    Spring Security 实战干货:图解用户是如何登录的
    基于.NetCore3.1系列 —— 日志记录之日志核心要素揭秘
    基于.NetCore3.1系列 —— 日志记录之日志配置揭秘
  • 原文地址:https://www.cnblogs.com/jlzhou/p/5131651.html
Copyright © 2020-2023  润新知