• 配置ubuntu 16.04.1 LTS odoo 10.0开发环境


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

    安装VMWare Tools:
    参照http://www.linuxidc.com/Linux/2016-04/130807.htm

    安装ubuntu最新更新:

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

    安装git:

    sudo apt-get install git

    安装PostgreSQL:

    sudo apt-get install postgresql -y

    添加odoo账号到数据库

    sudo su - postgres -c "createuser -s odoo" 2> /dev/null || true

    安装依赖包:

    安装tool packages

    sudo apt-get install wget git python-pip gdebi-core -y

    安装python packages

    sudo apt-get install python-dateutil python-feedparser python-ldap python-libxslt1 python-lxml python-mako python-openid python-psycopg2 python-pybabel python-pychart python-pydot python-pyparsing python-reportlab python-simplejson python-tz python-vatnumber python-vobject python-webdav python-werkzeug python-xlwt python-yaml python-zsi python-docutils python-psutil python-mock python-unittest2 python-jinja2 python-pypdf python-decorator python-requests python-passlib python-pil python-suds -y

    安装python libraries

    sudo pip install gdata psycogreen ofxparse XlsxWriter

    安装其它required packages

    sudo apt-get install node-clean-css -y

    sudo apt-get install node-less -y

    sudo apt-get install python-gevent -y

    安装odoo企业版依赖库(可选)

    sudo ln -s /usr/bin/nodejs /usr/bin/node

    sudo apt-get install nodejs npm

    sudo npm install -g less

    sudo npm install -g less-plugin-clean-css

    sudo pip install suds

    安装Wkhtmltopdf(可选)

    sudo wget http://download.gna.org/wkhtmltopdf/0.12/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64.deb

    sudo gdebi --n `basename http://download.gna.org/wkhtmltopdf/0.12/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64.deb`

    sudo ln -s /usr/local/bin/wkhtmltopdf /usr/bin

    sudo ln -s /usr/local/bin/wkhtmltoimage /usr/bin

    安装中文字体、条形码字体及中文输入法

    sudo apt-get install ttf-wqy-zenhei #安装中文字体  
    sudo apt-get install ttf-wqy-microhei #安装中文字体

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

    cd /usr/share/fonts/type1

    sudo chmod 744 *

    中文拼音输入法:
    sudo apt install ibus-pinyin ibus-libpinyin

    获取odoo源码:

    建立odoo源码项目保存路径

    mkdir ~/odoo-dev

    cd ~/odoo-dev

    拉取源码保存到odoo-server目录

    git clone https://www.github.com/odoo/odoo --branch 10.0 --single-branch odoo-server/

    创建自行开发的addons的子目录

    mkdir ~/odoo-dev/custom

    mkdir ~/odoo-dev/custom/addons

    生成odoo运行配置文件

    cp ~/odoo-dev/odoo-server/debian/odoo.conf ~/odoo-dev/odoo.conf

    打开gedit编辑

    gedit ~/odoo-dev/odoo.conf

    修改addons_path

    addons_path = /home/odoo/odoo-dev/odoo-server/addons,/home/odoo/odoo-dev/custom/addons

    保存退出gedit

    启动odoo

    /home/odoo/odoo-dev/odoo-server/odoo-bin -c /home/odoo/odoo-dev/odoo.conf

    安装pycharm:

    先安装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 2016.2

    解压到~/pycharm,找到bin文件夹运行./pycharm.sh

    在安装过程中,指定注册码:http://blog.csdn.net/lk274857347/article/details/52034354

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

    配置pycharm调试

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

    安装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

    可能用到的:

    安装ubuntu主题工具

    sudo apt-get install unity-tweak-tool

    sudo add-apt-repository ppa:noobslab/themes

    sudo add-apt-repository ppa:noobslab/icons

    sudo apt-get update

    sudo apt-get install flatabulous-theme

    sudo apt-get install ultra-flat-icons

    安装完成后,打开unity-tweak-tool软件,修改主题和图标:

    进入Theme,修改为Flatabulous,在此界面下进入Icons栏,修改为Ultra-flat。

    安装easy_install工具

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

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

    sudo python ez_setup.py

    rm ez_setup.py

    配置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 pip install Cython

    sudo pip install pymssql

    安装mysql等支持库

    sudo apt-get install python-mysqldb

    sudo apt-get install libmysqlclient-dev

    sudo easy_install MySQL-Python

    sudo easy_install SQLAlchemy

    安装MySQL Workbench

    sudo apt-get install mysql-client mysql-workbench

    配置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

    安装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程序,点击运行。

    清理apt-get安装文件

    sudo apt-get autoremove

    安装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 odoo {
        server 127.0.0.1:8069;
    } 
    server {
        listen      80 default;
        server_name 127.0.0.1;
    
        # log files
        access_log  /var/log/nginx/odoo.access.log;
        error_log   /var/log/nginx/odoo.error.log;
    
        # proxy buffers
        proxy_buffers 16 64k;
        proxy_buffer_size 128k;
        proxy_read_timeout 600s;
    
        ## default location
        location / {
            proxy_pass http://odoo;
            
            # force timeouts if the backend dies
            proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
            proxy_redirect off;
    
    
            # set headers
            proxy_set_header    Host            $host;
            proxy_set_header    X-Real-IP       $remote_addr;
            proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header    X-Forwarded-Proto https;
        }
    
        # cache some static data in memory for 60mins
        location ~* /web/static/ {
            proxy_cache_valid 60m;
            proxy_buffering on;
            expires 864000;
            proxy_pass http://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-dev/odoo-server/odoo-bin scaffold newmodulename /home/odoo/odoo-dev/custom/addons 

    安装OpenSSH并打开端口

    sudo apt install openssh-server 

    sudo ufw allow 22

    安装vim编辑器

    sudo apt install vim

    安装samba服务

    sudo apt install samba samba-common

    安装pysftp库

    以便支持自动备份后,上传备份至sftp服务器。

    sudo pip install pysftp

    安装VScode

    sudo snap install --classic vscode

    安装python插件

    打开VScode,Ctrl+p,输入 "ext install python",选择下载量最高的那个插件点击安装。

    配置flake8

    安装flake8之后写代码的时候编辑器就会提示哪里出错,代码格式不规范也会提示,ubuntu命令行:

    sudo pip install flake8

    安装flake8成功后,打开VScode,文件->首选项->用户设置,在settings.json文件中输入"python.linting.flake8Enabled": true

    配置yapf

    安装yapf之后在VScode中按Alt+Shift+F即可自动格式化代码,ubuntu命令行:

    sudo pip install yapf

    安装yapf成功后,打开VScode,文件->首选项->用户设置,在settings.json文件中输入"python.formatting.provider": "yapf" 

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

    本文参考了:

    • https://github.com/Yenthe666/InstallScript/tree/10.0
    • http://blog.csdn.net/terence1212/article/details/52270210
    • http://blog.csdn.net/lk274857347/article/details/52034354
    • http://www.cnblogs.com/bloglkl/archive/2016/08/23/5797805.html
  • 相关阅读:
    BZOJ1001 BJOI2006狼抓兔子(最小割+最短路)
    BZOJ4569 SCOI2016萌萌哒(倍增+并查集)
    Luogu4782 【模板】2-SAT 问题(2-SAT)
    BZOJ3626 LNOI2014LCA(树链剖分+主席树)
    BZOJ4012 HNOI2015开店(树链剖分+主席树)
    Luogu2264 树上游戏(点分治)
    BZOJ3998 TJOI2015弦论(后缀数组+二分答案)
    BZOJ1045 HAOI2008糖果传递(贪心)
    BZOJ1124 POI2008枪战Maf(环套树+贪心)
    洛谷 P4568 [JLOI2011]飞行路线 解题报告
  • 原文地址:https://www.cnblogs.com/jlzhou/p/5940815.html
Copyright © 2020-2023  润新知