2008年5月30日金曜日

(続) Trac on OpenSolaris

前回Tracをインストールしてスタンドアロンで起動するところまでできた。
続編として、Apacheと連携して、TracとSubversionを利用する。

1) Subversionを連携
 Subversionをインストールしたときに、mod_dav_svn.soがApacheモジュールとして/usr/local/apache2/modulesできているはず。
  1. /usr/local/apache2/modules/mod_dav_svn.soの存在を確認
  2. /usr/local/apache2/conf/httpd.confを編集
  3. 下記を追記する
    <Location /svn/repos>
    DAV svn
    SVNPath /var/svn/project1

    AuthType Basic
    AuthName "Subversion repository"
    AuthUserFile /var/svn/svnrepos_passwd
    Require valid-user
    </Location>

2) Tracをmod_pythonで連携
  1. ここからmod_pythonをダウンロードして展開
  2. ./configure --with-apxs=/usr/local/apache2/bin/apxs --with-python==/usr/bin/python
  3. gmake
  4. gmake install (rootで)
  5. /usr/local/apache2/modules/mod_python.so ができている事を確認
  6. httpd.confを編集
  7. 下記を追記する
    LoadModule python_module modules/mod_python.so

    <Location "/trac">
    SetHandler mod_python
    PythonHandler trac.web.modpython_frontend
    PythonOption TracUriRoot "/trac"
    PythonOption TracEnvParentDir /var/trac
    </Location>

Apacheを起動して、http://hostname/tracでアクセスできます!

2008年5月29日木曜日

Proxyのある環境でPackage Manager


OpenSolarisで、ProxyサーバのあるネットワークでPackage Managerを使ってもパッケージが取れなかった。きっと設定があると思っていろいろ試していたんだけど、ついに自己解決。

環境変数http_proxyを設定すると、Proxyを越えて動作するみたい…これって常識?
知らないとできないよね。

きちんとつながると、Files Detailsに詳細が表示される↑

sato@opensolaris:~$ echo $http_proxy
http://xxxx.xxxx.co.jp:8080/

CtrlとCapsの入換え

CtrlキーはAの左にないとイヤだ!
なので、PCにインストールしたOpenSolarisのキー設定を変更した。

Linuxのときに良くやっていた方法をそのまま試す。

ホームディレクトリに.Xmodmapを作成して下記を記述。
remove Lock = Caps_Lock
remove Control = Control_L
keysym Control_L = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Control = Control_L

xmodmap .Xmodmapを実行して確認…良さそうなのでログアウト&ログインしてみる。
うまく行った。快適!

2008年5月26日月曜日

NetBeans 6.1 で iBATIS(iBATOR)


iBATISには、DTOやSqlMapファイルを生成するEclipseプラグイン(abator)がある。この自動生成機能はスタンドアロンで実行可能なjarファイルになっているので、NetBeans 6.1から使用してソース生成をしてみる。

abatorはなんか問題があって(Due to a trade registration dispute)で、iBATORに名称変更している。iBATORは開発中(名称変更中?)なのか、コンパイル済みの配布物がWebサイトにないが、SVNリポジトリにソースがあるので、ついでにビルドして使ってみようと思う。

1) iBATORソースの取得とビルド(これもNetBeansで)
  1. SVNリポジトリからチェックアウト
  2. 「Java自由形式プロジェクト」としてプロジェクト作成、ウィザードにて下記の設定をする(後からも設定できる)
  3. 「Javaソース」はsrcに設定
  4. 「Javaソースのクラスパス」はdevlib内のjarを選択
  5. ビルドファイルにbuild/build.xmlを指定すれば、IDEが適当なターゲットを選んでくれる
  6. NetBeansから構築すれば、build/deploy/filesにibator.jarが作成された
  7. (すんなりできると思わなかったが…)
2) iBATORプロジェクトの準備
iBATORでソース生成するためのNetBeansプロジェクトを作成する。ソース生成をして、iBATISで簡単なデータアクセスを行ってみる。
  1. 「Javaアプリケーション」プロジェクトを新規作成
  2. libフォルダを作成し、1)で作ったibator.jarとibatisのjar、JDBCドライバのjarをコピー
  3. 上記をプロジェクトのライブラリに追加
3) iBATOR用のファイルの作成
NetBeansからiBATORを実行するために、設定ファイルとAntタスクを準備する。iBATORのドキュメントに説明が書いてある(でも英語)。iBATORのドキュメントは、SVNから落としたソースの中に含まれる。プロジェクト全体の構成はスクリーンショット参照
  1. ibatorConfig.xmlを作成してソース生成の基本情報を設定


  2. <?xml version="1.0" encoding="Windows-31J"?>
    <!DOCTYPE ibatorConfiguration
    PUBLIC "-//Apache Software Foundation//DTD Apache iBATIS ibator Configuration 1.0//EN"
    "http://ibatis.apache.org/dtd/ibator-config_1_0.dtd">
    <ibatorConfiguration>
    <classPathEntry location="${generated.source.dir}/lib/ojdbc14.jar" />

    <ibatorContext id="ibatorGeneration" generatorSet="Java2">
    <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
    connectionURL="jdbc:oracle:thin:@host:1521:sid"
    userId="scott"
    password="tiger">
    </jdbcConnection>

    <!-- 必須 -->
    <javaTypeResolver >
    <property name="forceBigDecimals" value="false" />
    </javaTypeResolver>

    <!-- DTOとsqlMapファイルの生成を行う -->
    <javaModelGenerator targetPackage="dto" targetProject="${generated.source.dir}/src" />
    <sqlMapGenerator targetPackage="sqlmap" targetProject="${generated.source.dir}/src" />

    <!-- DAO生成を行う場合は下記
    <daoGenerator type="IBATIS" targetPackage="dao" targetProject="${generated.source.dir}/src" />
    -->

    <!-- スキーマと生成対象の表名(ワイルドカード可) -->
    <table schema="SCOTT" tableName="%">
    <property name="useActualColumnNames" value="true"/>
    </table>
    </ibatorContext>
    </ibatorConfiguration>

  3. ibator.xmlを作成してiBATOR用のAntタスクを書く

  4. <?xml version="1.0" encoding="Windows-31J"?>
    <project default="genfiles" basedir=".">
    <property name="generated.source.dir" value="${basedir}" />
    <target name="genfiles" description="Generate the files">
    <taskdef name="ibator"
    classname="org.apache.ibatis.ibator.ant.IbatorAntTask"
    classpath="lib/ibator.jar" />
    <ibator overwrite="true" configfile="${basedir}/ibatorConfig.xml" verbose="false" >
    <propertyset>
    <propertyref name="generated.source.dir"/>
    </propertyset>
    </ibator>
    </target>
    </project>

4) Antタスクを実行するとdtoとsqlmapフォルダ、ファイルが生成される
 (スクリーンショット参照)

2008年5月25日日曜日

Trac on OpenSolaris


TracをOpenSolarisにインストールしてみる!!
Tracは必要なソフト要件が多いので大変そう。ここを参考にしてチャレンジ。必要なソフトが多いので苦戦が予想されます。


  1. Trac日本語版を使わせていただきます
  2. 今回はTracスタンドアロンサーバの起動まで
  3. Apache連携でTracが稼働するための設定はまた別の日に
  4. 環境変数は下記を設定(.bashrc)
    LD_LIBRARY_PATH=/usr/lib:/usr/local/lib
    PYTHONPATH=/usr/local/lib/svn-python:/usr/lib/python2.4/site-packages
OpenSolarisは先日インストールしたものを使用。まずは、Package Managerで準備できそうなものをインストール。Subversionはソースからビルドする(理由は別途)。pythonは最初からはいっているもので問題なし。
  • SUNWgcc
  • SUNWgmake … 標準makeだと挙動が異なるため
次に必要なソフトをネットから入手してビルド、インストール

1)SQLite
特に問題なくインストールできる
  1. sqlite-3.5.9.tar.gzを入手
  2. configure
  3. gmake
  4. gmake install (rootで)
2)pysqlite
すんなりいかない…下記参照
  1. pysqlite-2.4.1.tar.gzを入手
  2. そのままだとうまくビルドできないのでsetup.cfgのコメントをすべてはずす
  3. python setup.py build
  4. python setup.py install (rootで)
  5. ちゃんと動くかテスト
  6. sato@opensolaris:~$ python
    Python 2.4.4 (#1, Feb 25 2008, 04:14:47) [C] on sunos5
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from pysqlite2 import test
    >>> test.test()
    ...........................................................................................................................................................................................
    ----------------------------------------------------------------------
    Ran 187 tests in 0.757s

    OK
    >>>


3)ClearSilver
 パラメータなしでconfigureするとgmakeでエラーになる。今回は不要なものは排除。
  1. clearsilver-0.10.5.tar.gzを入手
  2. configure --disable-perl --disable-ruby --disable-java --disable-csharp --with-python=/usr/bin/python --disable-compression
  3. gmake
  4. gmake install (rootで)
4)Apache 2.0.63
 OpenSolarisのPackage Managerで入手できるApache2.2は、Subversion連携のモジュールが含まれないので、ソースからビルドする。
  1. ここからソースを入手する
  2. ./configure --enable-dav --enable-so --enable-maintainer-mode
  3. gmake
  4. gmake install (rootで)
  5. httpd.confを編集。httpdの実行ユーザ、グループを"webservd"にする
  6. httpd.confの267行め辺り
    User webservd
    Group webservd
  7. /usr/local/apache2/bin/apachectl start で動作確認

5)Subversion,SWIG
 OpenSolarisで提供されるSUNWsvn,SUNWsvn-pythonは使用しない。pythonからSVN(DAV)アクセスを行うとライブラリのシンボルが見つからないエラーになった。Subversionをソースからビルドして利用する。SWIGは単体でインストールせずにSubversionに含まれるものを使用する。
  1. subversion-1.4.6.tar.gzを入手、展開
  2. subversion-deps-1.4.6.tar.gzを入手して、上で展開したところに上書き展開
  3. configure --without-neon --with-apxs=/usr/local/apache2/bin/apxs
  4. gmake …すごく時間がかかる
  5. gmake swig-py
  6. gmake install (rootで)
  7. gmake install-swig-py (rootで)
  8. ちゃんと動くかテスト (エラーがでなければOK)
  9. sato@opensolaris:~$ python
    Python 2.4.4 (#1, Feb 25 2008, 04:14:47) [C] on sunos5
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from svn import fs, repos, core, delta
    >>>

5) Subversionリポジトリの作成
 ネット上に情報がたくさんあるので省略。Apacheとの連携は別の日にしよう。

6) Tracのインストール
  1. インタアクトさんよりtrac-0.10.4-ja-1.zipを入手
  2. python setup.py install でインストール (rootで)
  3. trac用のディレクトリ作成 mkdir /export/home/sato/trac
  4. trac環境の作成、今回は"project1"を準備 (rootで
    trac-admin /var/trac/project1 initenv
    chmod -R go+rw /var/trac/project1/*

  5. うまく行ったら、trac-adminのコメントに従い、tracのスタンドアロンサー バを起動する
    tracd --port 8000 /var/trac/project1

  6. でも失敗する…そこでここを参考に/usr/lib/python2.4/site-packages/trac/web/standalone.py を編集(!)する。
    91行め、class TracHTTPServer(ThreadingMixIn, WSGIServer): の行を
    class TracHTTPServer(WSGIServer): にする。うぅぅーむ。なんで?

  7. こんどこそスタンドアローンサーバ起動…ちゃんと動いた!
Apacheとの連携は別の日に…

2008年5月24日土曜日

OpenSolaris on VMware Fusion

先日サンのイベントで入手したOpenSolaris 2008.05をVMware Fusion 1.1.2 に入れてみた。
  1. 新規で仮想マシンを作成
  2. CD-ROMからブート
  3. すんなり動く(Live CDとして)
  4. 起動した後に、仮想マシン上にインストール…だったのだが
CDからインストールすると、CDアクセス時間の関係か非常に遅い!ので、あわててOpenSolarisのISOイメージを準備して、VMwareでISOイメージを使ってインストールする事にした。こっちの方が全然早い。

インストール後はきちんと普通に使える。画面がきれい。
今後のTODOは…
  • Anthyのトリガキーをきちんと設定(いまはCtrl+Spaceにしてる)
  • 「かな入力」にしたい
  • VMware-toolはまだ対応していないみたい
まあ、そのうち調べます