2011/09/13

Resinの実行アカウント

Resinサーバーをdebパッケージでインストールすると、rootアカウントで実行するように設定されてしまいます。この状態だと、サーバー上で動作させるアプリケーションもrootとして動作してしまうため、ミスの内容によってはシステムを破壊してしまうこともあります。

そこで、www-dataという制限ユーザーでアプリケーションを実行させるため、ちょっと調整を行います。
まず、/etc/resin/resin.xmlを修正します。

        184: <user-name>www-data</user-name>
        185: <group-name>www-data</group-name>
        186:  -->
という部分を探してください。コメントアウトされていますので、186行目のコメント閉じマークを移動させるなりして、ユーザー名とグループ名の指定を有効にします。

続いて、

/var/www/webapps
/var/www/resin-data
/var/www/log
/var/www/doc

以上4つのディレクトリと、その中身のオーナーをwww-dataに再設定します。

これで準備が完了しました。Resinサーバーを起動してみてください。また、問題が起きていないかログを確認する事も忘れないようにしましょう。

2011/09/09

Resin-4.0の簡易評価

BLOGスペースを作ったことをすっかり忘れてました。。。

気を取り直して、Resinの評価です。
ResinというのはJ2EEサーバーなのですが、あまり日本では話を聞きません。
じゃあ、そんなマイナーなものをどうして、という話ですが、他のJ2EEサーバーと比較してResinが有用だと思われるケースがあるからです。
ResinにはQuercusというサーブレットが付属していて、PHPスクリプトを実行することができる。というのが利点です。

Debian系のLinuxにResin(-pro)をインストールすると、デフォルトのWEBサーバー用ディレクトリとして、/var/www/webapps/ROOTが作成されます。
でもって、ここにPHPファイルを置くと、そのまま実行できてしまうわけです。

さらに言うと、このResin上で動作するPHPはエンジン部分が拡張されていて、Javaのクラスモジュールなんかをimportできてしまいます。便利ですね。
ライブラリとかフレームワークの概念が無いプログラマに対抗するには、PHPスクリプトで作ったモジュールをWARファイルにまとめてデプロイするというような技も使えます。でも、WARファイルがZIPファイルであることを教えてはいけません。それこそ元の木阿弥です。w

既存のJ2EEサーバー上でPHPスクリプトを実行させたい場合は、Quercusモジュールを対象のJ2EEサーバーにデプロイしてあげれば、PHPの実行環境ができあがります。(web.xmlとかに設定を行う必要はあります)

Resinサーバーのアドバンテージは、PHPスクリプトをJavaにコンパイルして高速動作してくれることです。他のJ2EEサーバーでQuercusを利用する場合このアドバンテージは無くなりますが、J2EEサーバー上のライブラリを利用可能なPHPプログラムの開発という時点で何となく特した気分になれるかもしれませんね。