2012年6月20日 星期三

maven3 on 64 bit Ubuntu 11.10

Here is a maven3 PPA that worked fine for me on 64 bit Ubuntu 11.10

sudo add-apt-repository ppa:natecarlson/maven3
sudo apt-get update && sudo apt-get install maven3

If you have maven2 already installed from canonical repos this will not replace it but give you a mvn3 binary.

If you prefer to have the binary called mvn instead of mvn3 you can simply do the following:
 
sudo ln -s /usr/bin/mvn3 /usr/bin/mvn
 
Ref. http://askubuntu.com/questions/49557/how-do-i-install-maven-3 
 
mvn eclipse:eclipse 後記得!!!
 
設定  M2_REPO = /oooxxxx/oooxxx/.m2/repository
or eclipse 中 JAVA - Build Path - Classpath Variable 加上 
M2_REPO = /oooxxxx/oooxxx/.m2/repository

2012年6月7日 星期四

PostgreSQL 複製 DB

CREATE DATABASE newdb WITH TEMPLATE originaldb OWNER dbuser;

超簡單~

很多時候伺服器需要安裝兩張網卡network...

很多時候伺服器需要安裝兩張網卡network interface card(NIC),一張給公眾public,一張給內聯(local),這樣做可以在去public那裡加防火牆等,不過兩張網卡應該如何設定才避免衝 突,本人一開始以為插上網卡,設定好ip, dns, gateway就完成,但是一開始沒問題,到了重新開機時就出了問題。
Public eth0 10.100.1.5
Local eth1 192.168.2.4
我遇到問題是當開啟eth1後,伺服器就找不到任何網絡,ping 不到其他網絡,一關閉內網eth1,網絡即刻恢復正常。因此估計與網卡eth1有問題,但不會是硬件,應該是設定問題。
本人用centos 進行以下設定修復了雙網卡『衝突』問題
首先,在/etc/sysconfig/network 中加入
GATEWAYDEV=eth0
這是將默認gateway設定用對外網卡
然後修改/etc/sysconfig/networking/devices/ifcfg-eth0
這張是對外網卡,因此其需要gateway,BOOTPROTO 也需要設定,設定為none (static應該也一樣,假如是dhcp就用dhcp)
接著修改第二張網卡/etc/sysconfig/networking/devices/ifcfg-eth1,
在第二張網卡,不需要gateway,也不用BOOTPROTO
最後修改/etc/resolv.conf,把dns ip 打進去
重新啟動network,就解決了問題

2012年6月3日 星期日

Tool for Auto-gen Restful interface on DBs

最近再找這種工具, 同事給了一個 based on Jetty 的看起來很OK~

Jongo

http://code.google.com/p/jongo/

2012年4月11日 星期三

Ubuntu VPN Server


最近裝了這個東西, 以下這個 Blog 介紹的很詳細, 我 ref 他了 and 複製了重要部份 for backup.


Ref. http://carl830.pixnet.net/blog/post/68143721-ubuntu-%E6%9E%B6%E8%A8%ADvpn-server-with-pptp

首先要先安裝pptpd
   
sudo apt-get install pptpd

接著修改/etc/pptpd.conf

這邊localip是Server 連線之後要用的IP,基本上跟Server本身的Public IP沒有關係,可以給個private ip就ok了

remoteip 是給VPN client的 private ip,大致給個範圍,可以不用像我一樣給了128個Private IP

應該是要看同時會有多少人使用來給範圍

localip 192.168.0.1
remoteip 192.168.0.128-255

 再下來是修改/etc/ppp/pptpd-options

這邊要注意一下裡面的name設定

通常會設成是pptpd

之後要跟/etc/ppp/chap-secrets裡的設定作對應

另外還有要設定ms-dns

就看那台Server原本指定的DNS IP,拿過來用就ok了

要看DNS IP設定可以到/etc/resolve.conf裡面去看


設定完後接下來就是帳號密碼的部份啦

修改 sudo gedit /etc/ppp/chap-secrets

以下是大概的格式,這邊要注意pptpd是對應之前紅色的文字部份

# Secrets for authentication using CHAP
# client    server    secret            IP addresses
ccma    pptpd    password    *

重啟pptpd
   
sudo /etc/init.d/pptpd restart


接下來試試看VPN連線看看

我的情形是還不行啦XD

查了一下資料,應該是有指定到private ip,但是封包在Server這邊傳不出去,因為沒設定

所以接下來還要再設定一下NAT的部份啦



設定一下iptables

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

但是這樣的設定在每次重開機之後就會消失

所以設定完後可以用iptables-save將設定檔存起來,如:
   
sudo iptables-save > /etc/iptables-rules

如果出現權限問題就sudo su轉成root再做

但是存起來之後,他並不會幫你在每次重開機都讀那個檔

所以還要再設定,修改/etc/network/interfaces,最後面加上:
   
pre-up iptables-restore < /etc/iptables-rules

最後是修改/etc/sysctl.conf

找到以下這行,將前面的#給刪掉,#是代表註解

這樣才有forward 封包的功能

#net.ipv4.ip_forward=1

改完之後,更新sysctl的設定

sudo sysctl -p


OK! 到這裡之後應該是就可以連VPN了

如果還不行的話,可以重啟動看看

2012年4月3日 星期二

Flash plugin on Firefox in UBUNTU 11.10

只要安裝一下 Flash-aid 這個 plugin for firefox, then 照著他的指示安裝......就好了ㄟ!!!!

2012年3月27日 星期二

Ubuntu 11.10 移除桌面鍵盤(螢幕解鎖時)

 
   gsettings set org.gnome.desktop.screensaver embedded-keyboard-enabled false
 

2012年3月20日 星期二

Ubuntu Default folder name change


Ubuntu 把家目錄中的子目錄名稱命為當地語言,例如 Desktop 改成「桌面」
按以下步驟可以將名稱回復到英文的名稱:

1. 先將語系設為英文
export LANG=en_US

2. 執行 xdg-user-dirs-gtk-update
xdg-user-dirs-gtk-update
會談出詢問視窗,選 「update new name」,即可變更成英文名稱

3. 再將語系改回中文
export LANG=zh_TW.UTF-8

4.再執行一次 xdg-user-dirs-gtk-update
xdg-user-dirs-gtk-update

ref. http://kenshinnn.blogspot.com/2009/06/ubuntu_5146.html

VMWare under Ubuntu 11.10 64bit

安裝時會發生 build error, 以下的步驟可以解決,

sudo -i
mkdir /tmp/vmware ; cd /tmp/vmware
cp -R /usr/lib/vmware/modules/source/ /tmp/vmware
cd /tmp/vmware/source

wget http://weltall.heliohost.org/wordpress/wp-content/uploads/2011/05/vmware2.6.39patchv3.tar.bz2

已防萬一我複製了一份
wget http://dl.dropbox.com/u/2818343/vmware2.6.39patchv3.tar.bz2

tar -jxvf vmware2.6.39patchv3.tar.bz2
for i in ./*.tar; do tar -xf $i; done
for i in ./*.tar; do mv $i $i.orginal; done
patch -t -f -p1 < vmware2.6.39fixedv3.patch
tar cf vmblock.tar vmblock-only
tar cf vmci.tar vmci-only
tar cf vmmon.tar vmmon-only
tar cf vmnet.tar vmnet-only
tar cf vsock.tar vsock-only
cp -vf *.tar /usr/lib/vmware/modules/source/

Done!

ref. http://ved-antani.com/2011/10/vmplayer-not-compiling-for-latest-linux-kernel/

2012年3月6日 星期二

Install MongoDB+PHP+NodeJS on Ubuntu 10.04 64bit

1. MongoDB 安裝不難.... By 官網
    http://www.mongodb.org/display/DOCS/Quickstart+Unix

2. Drivers for MongoDB
    sudo apt-get install apache2
    sudo apt-get install mysql-client mysql-server php5 php5-mysql
    sudo /etc/init.d/apache2 restart

    PHP--
          sudo apt-get install php-pear php5-dev
          sudo pecl install mongo
          gedit /etc/php5/apache2/php.ini    ---->> ADD    "extension=mongo.so"
          sudo /etc/init.d/apache2 restart
    
     之後, rockmongo / phpmoadmin / ... 就可以跑了!

3. NodeJS 拿最新的自己裝
   sudo apt-get install g++ curl libssl-dev apache2-utils
   sudo apt-get install git-core
   git clone git://github.com/ry/node.git

   ./configure
   make
   sudo make install
   node ./Desktop/test.js

4. (剪貼自 http://www.arthurtoday.com/2012/01/ubuntu-mongodb-nodejs-driver.html ...)

.....
沒想到 MongoDB 給 Node.js 的 Driver 有這麼多的選擇哩 ! 阿舍可是想了好一會哩 ! 原來,除了在 MongDB 官網上找的到 Driver 之外,還有不少善心人士也有寫出幾個 MongoDB 的 Driver 給 Node.js 用哩 ! 阿舍花了點時間來找了一下相關的說明,發現這篇在 10gen 網站 (10gen 這家公司就是開發出 MongoDB 的公司) 上的投影片,講的還滿清楚的哩 !

安裝 node-mongoDb-native Driver 的方法很簡單,只要用 npm 就可以裝到好了,所以,用下面這一行就可以安裝了,如果你還沒有安裝過 npm 的話,要先用「sudo apt-get install npm」的指令來安裝一下哩 !

npm install mongodb

如果你用上面這行指令來安裝的時候,出現要說用什麼 C++ 之類的訊息的話,那就要改用下面這一行指令來執行,千萬別像阿舍一樣,還傻傻的照上面的說明來弄,結果,還是沒有用的,只要改用下面這一行指令就好了。

npm install mongodb --mongodb:native

裝好之後,就可以開始用了,但是,要提醒一下,免費版的 MongoDB 還沒有提供 Embedded Database 的功能,所以,在連線到 MongoDB 之前,自已要先啟動 MongoDB 的
.....

ref.

http://www.arthurtoday.com/2011/06/ubuntu-mongodb-php-driver.html
http://www.arthurtoday.com/2010/08/ubunt-php-pecl.html
http://www.arthurtoday.com/2012/01/ubuntu-mongodb-nodejs-driver.html

Sun Java 7 Install on Ubuntu

1. Download Compressed Source "http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-x64.tar.gz"
2. gzip -d jdk-7-linux-x64.tar.gz
3. tar -xvf jdk-7-linux-x64.tar
4. sudo mv ./jdk1.7.0/ /usr/lib/jvm/jdk1.7.0
5. sudo update-alternatives --config java
6. sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0/jre/bin/java "3"<---Step 5 看到的最後一個順序+1
7. sudo update-alternatives --config java <--- 指定系統用的 JAVA
or
6. sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0/jre/bin/java 0  --- 如果你啥都沒裝的話

Check by  "java -version" 可看到....


java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)

Done!

OR!!! http://www.webupd8.org/2011/09/how-to-install-oracle-java-7-jdk-in.html


sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-jdk7-installer
sudo apt-get remove oracle-jdk7-installer

2012年3月4日 星期日

工程師不寫Code?

最近開始覺得很怪,整個月寫不到幾行Code,反倒是開了很多會,設計了架構,安排了專案進度. 這些工作讓我覺得跟實際技術的接觸,愈來愈遠.....我不喜歡!
所以接下來, 我要玩.... Esper, MongoDB, NodeJS,..... 不一定是主流,但是是發展中的新技術! 大家有興趣的話,一起討論吧!
還要, 要提醒自己別忘了本業... Security!

2012年1月19日 星期四

Target Process

最近開始接觸專案管理的工具, 感覺上條理很清晰 but 瑣碎, 腳步會變慢, 但是對比較大型 or 人數比較多的專案, 會有一定的幫助. 畢竟, 人的記憶力有限, 有個工具協助會比較好.