OpenGrokをCentOS5にインストール
MOONGIFTさん経由で知ったのですが、OpenGrokはSCM(Subversion、Git、Mercurial等)上のソースコードを関数名、変数名その他で検索できるエンジンで、CDDLでオープンソースとして公開されています。この検索エンジンを使用する状況としては、「この関数ってどんな使い方?」、「某言語の某関数にバグがあるみたいなんだけど、うちのコードで使ってなかった?」といった時が考えられます。便利そうでしたのでCentOS5にインストールしてみました。
OpenGrokの動作に必要なctags、tomcat等をインストール
yum install ctags tomcat5 tomcat5-webapps
chkconfig tomcat5 on
OpenGrok用ディレクトリを作成
mkdir /var/opengrok/
mkdir /var/opengrok/bin
mkdir /var/opengrok/src #ここに解析対象のソースを置くことに
mkdir /var/opengrok/data
mkdir /var/opengrok/etc
OpenGrokをダウンロード・展開
mkdir work
cd work
wget
tar xzvf opengrok-0.9-rc1.tar.gz
mv opengrok-0.9-rc1/* /var/opengrok/
source.warを一度展開し、web.xmlを編集する
mkdir source
cd source
unzip /var/opengrok/lib/source.war
vi WEB-INF/web.xml
#下記を追加
...
DATA_ROOT
/var/opengrok/data
REQUIRED: Full path of the directory where data files generated by OpenGrok are stored
SRC_ROOT
/var/opengrok/src
REQUIRED: Full path to source tree
SCAN_REPOS
false
Set this variable to true if you would like the web application to scan for external repositories (Mercurial)
...
zip -r source.war ./
mv source.war /var/opengrok/lib/
cp /var/opengrok/lib/source.war /var/lib/tomcat5/webapps/
何かソースを取得しておく
cd /var/opengrok/src
svn co file:///home/svn/project #何かチェックアウトしてみる
インデックス作成用スクリプトの編集
vi /var/opengrok/doc/run.sh
#!/bin/sh
#変更
PROGDIR=/var/opengrok
# REQUIRED The root of your source tree
#変更
SRC_ROOT=${PROGDIR}/src
# REQUIRED The directory where the data files like
# Lucene index and hypertext cross-references are stored
#変更
DATA_ROOT=${PROGDIR}/data
# OPTIONAL A tab separated files that contains small
# descriptions for paths in the source tree
PATH_DESC=${PROGDIR}/doc/paths.tsv
# A modern Exubrant Ctags program
# from http://ctags.sf.net
#変更
EXUB_CTAGS=/usr/bin/ctags
# If you need to set properties (Ex. override the mercurial binary)
#PROPERTIES=-Dorg.opensolaris.opengrok.history.Mercurial=/home/trond/bin/hg
# Uncomment the following line if your source contains Mercurial repositories.
# SCAN_FOR_REPOS="-S"
# You might want to add more available memory, and perhaps use a server jvm?
#JAVA_OPTS="-server -Xmx1024m"
LOGGER="-Djava.util.logging.config.file=logging.properties"
#変更
java ${JAVA_OPTS} ${PROPERTIES} ${LOGGER} -jar ${PROGDIR}/lib/opengrok.jar ${SCAN_FOR_REPOS} -c ${EXUB_CTAGS} -W ${PROGDIR}/etc/configuration.xml -P -S -v -s ${SRC_ROOT} -d ${DATA_ROOT}
# OPTIONAL
java ${LOGGER} -classpath ${PROGDIR}/lib/opengrok.jar org.opensolaris.opengrok.web.EftarFile ${PATH_DESC} ${DATA_ROOT}/index/dtags.eftar
chmod +x /var/opengrok/doc/run.sh
インデックス作成スクリプトの実行
/var/opengrok/doc/run.sh #このスクリプトをcron等で定期実行する
Tomcatの起動
/etc/rc.d/init.d/tomcat5 start
http://hostname:8080/source/ にアクセスし確認
FlashDevelop 3.1.0 RTM がリリースされてました
- 2010/02/22
- murave
4/21にリリースされたようです。
FlashDevelop.jp の記事
http://flashdevelop.jp/FlashDevelop3.1.0_RTM
ダウンロードできる場所
http://www.flashdevelop.org/community/viewtopic.php?f=11&t=6415
なんと、日本語での解説!
馬鹿全 – FlashDevelop 3.1.0 RTM リリース
私は今日 flex_sdk_3 から flex_sdk_4 に切り替えていて、たまたまFlashDevelop の本家を見に行ったらリリースされていて大喜び!って感じだったのですが、日本のサイトでこれだけ情報が出ているのはうれしいですね。しかも、FlashDevelop自体が日本語ローカライズされている!
インストールの記事でも書こうかと思ったのですが、前のバージョンでは必要だった文字コードがらみの設定も必要なくなり(デフォルトがUTF8のBOMなしになっているのでそのままで普通に使えます)、特記するようなこともなくなっていましたのでやめときます。FlashDevelop.jp をご参照くださいってことで。
PostgreSQL9.0が正式リリースされたようですね
- 2010/02/21
- aikawa
- PostgreSQL
yum の Proxy 設定でハマった
前回の Mac の Web 共有で Proxy で設定した Macbook 経由で CentOS 5 のサーバーで yum を使おうとして少しハマったのでメモ。
「export で proxy 設定してもダメ!」だったのでした。
http_proxy やら ftp_proxy やら設定しまくって、やっぱりだめで、ところが yum.conf を編集したらあっさり、さっくり、うまくいってしまったのでした。一時的に繋ぎたいだけなので yum.conf を触りたくなかったのですがしょうがないですね。
一般的にそうなのかはわからないのですが、そういうことがあったということで。
ちなみに、apt の場合は export で http_proxy (と必要なら ftp_proxy )環境変数を設定すれば OK。
私的 Vim メモ(検索編)
Vim は大抵の環境で使える上に使いこなすと強力なのですが、vi として(というか h, j, k, l, i, a, ESC, x, dd, p, :w, :q, :q!, ZZ 大体これくらいで全てを済ますという vi としてもあまりつかいこなせてないスタイルで)しか使っていなかったので悔い改めて修行中です。
ちょっと慣れてもすぐに忘れてしまうということを繰り返して今がある。そんなわけで自分用にメモるのです。
検索
-
/[検索文字列]
下方向に、[検索文字列]を検索する。 -
?[検索文字列]
上方向に、[検索文字列]を検索する。 -
*
カーソル位置の単語で下方向に検索する。 -
#
カーソル位置の単語で上方向に検索する。 -
n
順方向に次の検索結果に移動する。 -
N
逆方向に次の検索結果に移動する。 -
:nohlsearch
検索結果表示のハイライトを消す。
Mac の Web 共有で Proxy
インターネットからは普段隔離しているお客様のサーバーに yum でソフトを入れたいという状況になりました。メンテナンスなどでインターネットに接続しなければならないときには別ネットワークのLANケーブルと差し替えるという運用なのですが、クライアントに影響が出るためお客様がクライアントを使用している時間帯には作業ができません。
しょうがないので「夜間に作業させてもらうようにお話しようかと思います」と弊社、峰松に相談したら「インターネットに接続したノートPCに Proxy 立ててネットワークに接続させてもらってそれ経由でインストールしたらどうかな?」と。
その手があったか!
ってなわけで、私の Macbook は3G回線でインターネットに接続できるのでコイツに Proxy を立てることします。Mac だと Web 共有で Apache2 が起動するのでこれを利用することにしました。
設定ファイル、/etc/apache2/httpd.conf を眺めるとProxy関係の module はロードされるようになっていました。
LoadModule proxy_module libexec/apache2/mod_proxy.so
LoadModule proxy_ftp_module libexec/apache2/mod_proxy_ftp.so
LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so
追加の必要はなさそう。
最後に他の設定ファイルを読み込む
Include /private/etc/apache2/other/*.conf
という記述がありましたので Proxy の設定、 /private/etc/apache2/other/proxy.conf を作成しました。/private/etc/apache2/ と /etc/apache2/ って同じ場所を指してるみていですね。
proxy.conf はこんな感じ。
ProxyRequests On
ProxyVia On
Order deny,allow
Deny from all
Allow from 192.168.1
192.168.1.* からフルオッケーという漢らしい設定です。「システム環境設定」→インターネットとワイヤレスの「共有」で Web 共有を起動(起動済みの場合は再起動)すると Proxy が有効になります。
漢らしすぎるので普段はこの設定が読み込まれないように proxy.conf_ とかにしておいたほうがいいですね。Web 共有自体普段は切っていますが 、念のため。

1.png)
