【tech】

Eclipseプラグインで使える、
サーバ不要のBTSがありました。

【Papilio】
http://www.valtech.jp/papilio.htm

特徴としては下記の通り。
●サーバ構築不要。接続している各端末がお互いに同期してデータを共有する。
●インストールは簡単。Eclipseプラグインを追加するだけ。
●信頼度成長曲線などの充実したレポート出力機能
Eclipseを採用することで直感的操作が可能なインタフェースを実現。
●完全フリー、オープンソース
●完全日本語対応

今の現場では開発用サーバを簡単にはもらえなかったり、使えなかったりするので、
こういうものがあると使えそうです。
(といっても一人プロジェクトですが・・・)

Poundを用いたリバースプロキシ

Poundを使用することでHTTPリクエストを他サーバに転送することや、
SSLを代理するなどの対応をすることが可能。
設定方法は以下の通り。

【参照】 http://www.atmarkit.co.jp/flinux/rensai/apache2_05/apache05c.html


===========================================
wget http://www.apsis.ch/pound/Pound-2.0.6.tgz
tar xvfz Pound-2.0.6.tgz
cd Pound-2.0.6
./configure
make
make install

cd /usr/local/etc
openssl genrsa -des3 -out server-key.pem 1024
パスフレーズ入力

:パスワード入力(admin)
:国名:JP
:県名:(Enter)
:市名:(Enter)
:組織名:QUINLAND
:サブ組織名:(Enter)
:共通名:(Enter)
:e-mail:(Enter)

openssl rsa -in server-key.pem -out server-key.pem

openssl req -new -key server-key.pem -x509 -out pound.pem

cat server-key.pem >> pound.pem

vi pound.cfg

以下の内容のファイルを作成
========================================

#LogLevel value
# Specify the logging level: 0 for no logging, 1 (default) for regular logging, 2
# for extended logging (show chosen backend server as well), 3 for Apache-like
# format (Common Log Format with Virtual Host) and 4 (same as 3 but without the
# virtual host information).
LogLevel 0

#Alive value
# Specify how often Pound will check for resurected back-end hosts (default: 30
# seconds). In general, it is a good idea to set this as low as possible - it will
# find resurected hosts faster. However, if you set it too low it will consume
# resources - so beware.
Alive 10


#LogFacility value
# Specify the log facility to use. value (default: daemon) must be one of the sym-
# bolic facility names defined in syslog.h. This facility shall be used for log-
# ging (if Pound was compiled with support for syslog).
#LogFacility daemon

# SSLフォワード HTTPSリクエストを別サーバの別ポートへ転送
ListenHTTPS
Address 192.168.1.10
Port 443
Cert "/usr/local/etc/pound.pem"

# check HTTP_X_SSL Header.
AddHeader "X_SSL: pound"
# 443 → 81
Service
BackEnd
Address 192.168.1.2
Port 81
End
End
End

# HTTPリクエス
ListenHTTP
Address 192.168.1.10
Port 80
End

#headerの内容に応じて転送
#URL内に「/profile/」があった場合は別サーバ
Service
HeadRequire "Host: .*sugahara.com.*"
URL "/(profile)/.*"
BackEnd
Address 192.168.1.2
Port 80
Priority 1
End
End

#上記の条件を満たしていない場合はメインサーバへ転送
Service
HeadRequire "Host: .*sugahara.com.*"
BackEnd
Address 192.168.1.1
Port 80
Priority 2
End
End
========================================
自動起動設定
cd /etc/rc.d/init.d
vi pound
以下の内容のファイルを作成

#! /bin/sh
#
# chkconfig:35 90 25
#
# /etc/rc.d/init.d/pound
#
### BEGIN INIT INFO
# Provides: pound
# Required-Start: $network $syslog
# Required-Stop:
# Default-Start: 3 5
# Default-Stop:
# Description: Starts pound reverse proxy
### END INIT INFO

POUND_BIN=/usr/local/sbin/pound
POUND_PID=/var/run/pound.pid
POUND_CONF=/usr/local/etc/pound.cfg

if [ ! -x $POUND_BIN ] ; then
echo -n "Pound not installed ! "
exit 5
fi

. /etc/rc.d/init.d/functions

RETVAL=0

case "$1" in
start)
echo -n $"Starting pound "
daemon $POUND_BIN
RETVAL=$?
[ $RETVAL = 0 ] && touch /var/lock/subsys/pound
echo
;;
stop)
echo -n $"Shutting down pound "
killproc $POUND_BIN
RETVAL=$?
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/pound && rm -f $POUND_PID.*
echo
;;
restart)
$0 stop
$0 start
;;
status)
echo -n "Checking for Pound "
status $POUND_BIN
;;
*)
echo $"Usage: $0 {start|stop|status|restart}"
exit 1
esac

exit $RETVAL

chmod 755 pound

cd ../rc3.d
ln -sf ../init.d/pound S84pound

cd ../rc5.d
ln -sf ../init.d/pound S84pound

#サービス起動
service pound start

============================================

ここで気をつけないといけないことは、
もしPoundを動作させるサーバとapacheを動作するサーバが同居する場合は、
apacheとPoundで80ポートが衝突してしまうので、
apacheのHTTPポートを80以外に変更する必要がある。

なので、可能な限りPoundが動作するサーバとは分けたほうがいいですね。

開発で使えるオススメのフリーソフト

2chで見かけたプログラマオススメのフリーソフト
忘れないうちにメモしておく。
(自分とはあまり重ならない気がする。

サクラエディタ
フリー最強のエディタの一つ。
TeraTerm
定番。説明の必要なし
Eclipse
定番。自分の仕事だとソース読むときにしか使わない。
doxygen
定番。ソース読むのに便利。
RapidSVN
SVNクライアント。TortoiseSVNはシェル拡張で影響力がありすぎるためこれ。
■Rekisa
RapidSVNのdiff差分表示に使っている。EUC文字コード対応がGOOD。
■+Lhaca
誰でも使える圧縮解凍ツール
IP Messenger
メールで送るまでもない小さいブツを相手に渡すのに便利。
■付箋紙95
メモ代わり。2000はシェアなのでダメ(シェアは禁止)
コロ助
ステップ数カウンター。拡張子を判断して調べてくるので便利。