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

posted on 2016-10-09 09:54  jlzhou  阅读(7276)  评论(0编辑  收藏  举报

导航