« September 2007 | Main | November 2007 »

October 2007

2007.10.24

CentOS5でTrac&XML-RPC

 最近のUbuntuは、標準でPython2.5がインストールされており、Tracで使用する他のライブラリ類も(ほぼ全て)パッケージで提供されているので、XML-RPCでアクセス可能なTrac環境を構築するのはすごく簡単です。

 で、別のディストリビューションであるCentOS5で、XML-RPCでアクセス可能なTrac環境を構築してみることに挑戦。

【CentOS5のインストール】
・VMWarePlayerのホストOSとして、RHEL5を選択。DVDブートでGUIインストーラを起動。
・CDチェックは「行わない」を選択。
・言語として「Japanese」を選択。
・キーボードとして「日本語」を選択。
・ディスクの初期化を行うかどうかを確認してくるので「はい」⇒「パーティションレイアウトの変更と確認」にチェックを入れると、ディスクのパーティション設定等を行う画面が表示される(チェックが入っていないと、デフォルトの設定のまま(今回の場合は1パーティションで全て)となるようだ)。
・swapが1024MBになっているのを512MBに減らし、その分を/に移動(swapの他は/以下1パーティション構成)。なお、LVMによる設定となっている。
・ブートローダは/dev/hdaにインストール。
・ネットワークデバイスはDHCP&アクティブ化。ホスト名もDHCPで自動設定。
・システムクロックでUTCを使用するの設定をオフに。
・rootのパスワードを登録。
・インストールする基本パッケージとして、Desktop-Gnomeのチェックを外し、Server-GUIをチェック。
・ソフトウェア選択は「今すぐカスタマイズする」を選択(追加に関しては、後で必要になったときに追加すればいいのかもしれないが・・・)。

・アプリケーション>テキストベースのインターネット:チェックを外す
・サーバー>サーバ設定ツール以外のチェックを外す
・ベースシステム>X Window System・ベース・管理ツール以外のチェックを外す。


・インストール完了後、再起動。

【初期設定】
・ファイアウォールは、http/https/sshの3つを解放。
・その他のポートとして、8080(tcp/udp)を追加。
・SELinuxは、とりあえずはオフにしておく。
・kdumpはオフのまま。
・ユーザ名/フルネーム、パスワードを登録。
・追加のCDはないので、そのまま終了&再起動。

Continue reading "CentOS5でTrac&XML-RPC"

| | Comments (0) | TrackBack (1)

2007.10.23

ApacheのBasic認証情報をTomcatで取得する

 Tomcat側で認証の設定を行うこともできますが、場合によってはApache側の認証処理と共通化したいと思うときも。

 例えばjsp-examplesに対してApache側で認証処理を行う場合(Apache2.2でmod_proxy_ajpで連携)。

<Location /jsp-examples>
 ProxyPass ajp://localhost:8009/jsp-examples
 AuthType Basic
 Require valid-user
 AuthName "Tomcat"
 AuthUserFile /auth/tomcat.passwd
</Location>

 なお、この場合、Tomcat側のserver.xmlにおいて、

<Connector port="8009" tomcatAuthentication="false"
 enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />


といった感じで、AJP13を受け付けるコネクタの部分にtomcatAuthentication="false"を指定する必要があります。でなければ、httpServletRequest#getRemoteUser()の戻り値がnullになってしまいます(ユーザIDを取得できない)。

Continue reading "ApacheのBasic認証情報をTomcatで取得する"

| | Comments (0) | TrackBack (0)

2007.10.22

Ubuntu7.10(Server)でTrac

 早速(?)、まずはTrac環境構築。基本的にパッケージで展開されているものをインストールしていくだけなのでラクチン。
 なお、事前にfirefoxと日本語フォントをインストールしておきます。

$ sudo apt-get install firefox
$ sudo apt-get install ttf-sazanami-gothic ttf-sazanami-mincho

 Pythonは2.5.1がデフォルトでインストールされているので、他のパッケージを片っ端からインストール。

$ sudo apt-get install apache2-mpm-prefork
$ sudo apt-get install subversion
$ sudo apt-get install python-subversion
$ sudo apt-get install python-sqlite
$ sudo apt-get install clearsilver-dev
$ sudo apt-get install python-clearsilver
$ sudo apt-get install python-docutils
$ sudo apt-get install libapache2-mod-python
$ sudo apt-get install libapache2-svn
$ sudo apt-get install enscript
$ sudo apt-get install unzip


Continue reading "Ubuntu7.10(Server)でTrac"

| | Comments (0) | TrackBack (0)

2007.10.21

Cacti or Cactid

 Cactiのデータ収集方法としては、PHPスクリプトであるpoller.php(cmd.php)を用いる方法と、専用ツールであるcactid(C言語?)とがあります。

 ある環境で試してみたところ・・・cactidを使用すると、1回のデータ取得時間が1/3程度になりました(18秒→6秒)。監視台数が多くなってくれば、処理時間の短縮率はさらに大きくなったりするんですかね?(例えば60秒→10秒で1/6になったりするとか)。

#同時に起動するプロセス数やプロセスあたりのスレッド数の設定によっても変わってくるのかもしれませんが。

| | Comments (0) | TrackBack (0)

2007.10.20

Ubuntu7.10(Server)

 Ubuntu7.10がリリースされました! ってことで、ServerEditionをダウンロードし、VMwareにインストールしてみました。

 基本的に7.04の時と同様、設定項目は少ないです。違う点(変更された点)としては、パーティション分割を行う際にLVMの設定が行いやすくなった(ような気がする)ことと、OSインストール時にDNS/LAMP以外にMail/OpenSSH/PostgreSQL/Print/Sambaサーバをあわせてインストールできるようになった点でしょうか。

 OSインストール時にOpenSSHサーバもインストールしておくと、インストール完了後すぐにSSH経由で作業を行うことができるようになるので、結構うれしいかも。6.06や7.04の時は、インストール完了後、少なくとも1回はサーバでログインする必要があったので・・・(openssh-serverのインストールを行う必要がありました)。

#しかし、jaのダウンロードがすごく重いですね・・・。ja(Desktop)のダウンロードは、しばらく後ですることにしました。

| | Comments (0) | TrackBack (0)

2007.10.19

@Inheritedアノテーション

Teedaのページクラスに対して適用するアノテーションを作成。

@Target( { ElementType.METHOD, ElementType.TYPE } )
@Retention(RetentionPolicy.RUNTIME)


って感じで、@Targetと@Retentionアノテーションは付加していたのですが、@Inheritedアノテーションを付加し忘れていたため、メソッドに対して付加したアノテーションは読み取れるのに、クラスに対して付加したのは読み取れない(getAnnotation(Class)の戻り値がnullとなってしまう)という状況に遭遇。

Teedaのページクラスは、基本的に自動的に継承されたクラスが使用されるというのを忘れてました(^^;

| | Comments (0) | TrackBack (0)

2007.10.16

SP = SpecialPoison?

ATOK + Office2003SP3 ⇒ Word/Excel/PowerPoint等での日本語入力において多大なる(?)被害が(汗

結構いろんなところで被害がでているようですね・・・。

#元々OfficeUpdateを適用すると問答無用でMS-IMEをデフォルトにするのだけでも充分アレなのですが。

| | Comments (0) | TrackBack (0)

2007.10.15

JavaアプリからXML-RPCでTracのTicketを更新

 当然ながらTrac側にXML-RPCのプラグインを組み込んでおく必要があります。以前組み込んだことはありますが、今回はUbuntu上に構築したTracで行うため、再度セットアップ。
 ここしばらく(?)trac-hacksのページが落ちているので、一時的にミラーサイトとして公開されている https://trachacks.coderanger.net/browser/xmlrpcplugin/0.10からダウンロードし、python setup.py installでサクッとインストール。インストール完了後、Adminのページからtracxmlrpc 0.1のすべてのモジュールをenableに。

 で、クライアント側としては以前使用したRedstone XML-RPC Libraryを今回も使用しようかと思ったのですが、このライブラリの場合、Basic認証の方法がよくわからない(対応しそうなメソッドが見つからない・・・)ので、Apache XML-RPCを使用することに。使用したバージョンは、3.1となります。

Continue reading "JavaアプリからXML-RPCでTracのTicketを更新"

| | Comments (0) | TrackBack (0)

2007.10.14

Ubuntu ServerでTrac

 UbuntuServer(7.04)環境でのTrac環境構築。0.11ではなく、使い慣れた(?)0.10.4(ja)をベースに一部独自に編集したもの。なお、XMLRPCを使用するため、Pythonは2.5を使用。

 各種アプリケーション類をインストール。もしかしたら不要なものも混じっているかもしれませんが(^^; なお、ディレクトリ移動等は省略している場合もあります。

$ sudo apt-get install apache2-mpm-prefork
$ sudo apt-get install python
 (⇒Python2.5が既に入っていたようだ)
$ sudo apt-get install subversion
$ sudo apt-get install python-sqlite
$ sudo apt-get install clearsilver-dev
$ sudo apt-get install python-clearsilver
$ sudo apt-get install python-docutils
$ sudo apt-get install libapache2-mod-python
$ sudo apt-get install libapache2-svn
$ sudo apt-get install python-subversion
$ sudo apt-get install enscript

apt-getでここまでインストールできると、かなり楽ですね。なお、SilverCityのパッケージが見つからなかったので、リポジトリブラウザでのハイライト表示用にenscriptを使用しています(おそらく、SilverCityをソースからビルドして、パスを通しておけば動くような気もしますが)。

Continue reading "Ubuntu ServerでTrac"

| | Comments (0) | TrackBack (0)

2007.10.13

Python2.5 + Trac0.10.4 + macro

 Trac0.10.4(ja)をPython2.5で動作させるようにしてから、macro.pyで

Trac[macros] ERROR: Failed to load wiki macro xxxxxxx.py ()
Traceback (most recent call last):
File "......../wiki/macros.py", line 448, in get_macros
yield name
GeneratorExit


ってな感じのエラーが発生するように(Tracのログファイル)。ただ、見た目はマクロも問題なく動いているんですよね・・・。

Continue reading "Python2.5 + Trac0.10.4 + macro"

| | Comments (0) | TrackBack (0)

2007.10.09

冬物語・・・

とか、白麒麟とかを見かけるようになると、「そんな季節か~」

って、まだまだ冬って感じではないですけど(^^;

#なんか、ついこないだ秋味とか秋生とかを飲んだような気が。

| | Comments (0) | TrackBack (0)

2007.10.07

SQLite Java Wrapperのコンパイル

 とある事情で再インストールしたUbuntu 7.04 Server EditionでのSQLite Java Wrapper/JDBC Driverのビルドメモ。

$ sudo apt-get install build-essential
$ sudo apt-get install sqlite3
$ sudo apt-get install libsqlite3-dev
$ sudo apt-get install sun-java6-jdk
$ cd
$ mkdir sqlite
$ cd sqlite
$ wget http://www.ch-werner.de/javasqlite/javasqlite-20070915.tar.gz
$ tar xzvf javasqlite-20070915.tar.gz
$ cd javasqlite-20070915/
$ ./configure
$ make
$ sudo make install

 できあがったファイルは、/usr/lib/jvm/java-6-sun/jre/lib/i386フォルダ内にコピーされました。また、ファイルの実体として、libsqlite_jni.la、libsqlite_jni.so.0.0.0の2つが生成され、libsqlite_jni.so.0.0.0へのリンクとしてlibsqlite_jni.so、libsqlite_jni.so.0の2つが生成されました。

 これを用いたアプリケーションの動作テストはまだ行っていませんが、libフォルダ内にコピーされているのであれば、-Djava.library.pathを指定することなくロードできそうな感じです。

Continue reading "SQLite Java Wrapperのコンパイル"

| | Comments (0) | TrackBack (0)

2007.10.04

透過PNG - 8bitPNGで

 透過PNGがIE6では表示できない件に関して、8bit PNGなら表示できるとコメントをいただいたので、トライしてみました。
 悩んだのが、BufferedImageを初期化する際に、どのようなオプションを指定すればいいのか? 前回透過PNGを作成するときに使用したのはTYPE_INT_ARGBなのですが、これは違うってことで。

 で、いろいろと試した結果、たどり着いたのがjava.awt.image.IndexColorModelの使用。

Continue reading "透過PNG - 8bitPNGで"

| | Comments (0) | TrackBack (0)

2007.10.03

透過PNG

 IE6って、透過PNGに対応していないんですね・・・。

 透過gifを(JavaSE6+ImageIOで)出力しようとしても上手く出力できない・・・(前景色で塗りつぶされてしまう)。透過を行おうとしなければ問題なくgifを出力できているので、おそらく使い方の問題だとは思うのですが。

| | Comments (3) | TrackBack (0)

2007.10.02

Eclipseでファイルの関連付けを変更

Window -> General -> Editors -> File Associate

デフォルト設定にしておくと、ダブルクリックをしたときにまず使用されます。

ここで指定されていないものは、基本的にText Editorが使用されるような感じ?

| | Comments (0) | TrackBack (0)

2007.10.01

Tomcatでjsessionidをcookieにセットしない

 何らかの理由で、JSESSIONIDをCookieにセットせずに常にURLに埋め込むようにしたい場合。

 <context path="/hoge" cookies="false" >

のような感じで、context要素にcookies属性を指定すればOK。
Tomcat6.0 Apache Tomcat Configuration Reference - The Context Container
Tomcat5.5 Apache Tomcat Configuration Reference - The Context Container

 まぁ、実際にこれを使用する必要があるケースはさほど多くはないと思いますが、メモ(Apache2.2.6以降はbalancerでCookie経由の場合とURL経由の場合とでそれぞれ異なる文字列を設定できるようになったので)。

| | Comments (0) | TrackBack (0)

« September 2007 | Main | November 2007 »