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