今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

自宅サーバ構築 - Geronimo編

前回の日記「Fedoraで自宅サーバ」で書いたその続き。とりあえず Apache は動くようになったんで、今まで @nifty に置いてたのだけをコピーしてみた。アクセスログをチェックしてみたところ、さっそく、GoogleさんやYahoo!さんちのロボット君たちがアクセスしてくれてる。
次はブログを自宅サーバでってことで、ブログを構築できるサーバアプリケーションを探そうとぐぐってみたら、Wikipedia がヒット。Wikipedia の「ブログ」の項目を見ると、「ブログを公開するための主なソフトウェア/サービス」ってことで、メジャーなアプリケーションを一通り挙げてくれてる。助かるなー。
それぞれのソフトを調べてみると、複数ブログに対応してるのが意外と少ない。Apache Roller と MovableType と WordPressMU だけ。MovableType は有償なんでパス。WordPressMU は日本語化ができてないみたいなんでパス。ってことで、単純な消去法で Apache Roller に決定。Java ベースなんで、自分にはちょうどいいのかも。(^^
Roller: free and open source Java blog software
Apache Roller - open source Java blog server - Apache Roller
Wikipedia の説明を見ると、IBM developerWorks blog とか blogs.sun.com とか NetBeans.jp で採用されてるって書いてる。なんかすげーぞ。本当に格安でゲットした中古パソコンで動くのか?w
まずはプロダクトのダウンロード。ダウンロードページを見ると、「Roller 4.0 with LDAP and CAS」「Roller 4.0 on Geronimo」が並んでる。Tomcat と Roller と MySQL だけで動かんのかい?とか思いつつも、リンク先を見ると、GeronimoTomcat が一緒にパッケージされたのがダウンロードできるようになってる。そっちのが少しは設定が楽に違いない!とダウンロードして解凍。
Geronimo のドキュメントの「Installation」を見ると「Installing Geronimo from binaries」のところにこう書いてある。

The installation of Apache Geronimo is as simple as uncompressing the .zip or .tar files. From a command line window change directory to /bin and start the server using the following command:
geronimo run

さっそく試したけど 例外を吐いて最後に「Startup failed」のメッセージを出して止まってくれた。
ログを遡ると最初にこんなメッセージが出てる。

java.io.IOException: Cannot bind to URL [rmi://0.0.0.0:1099/JMXConnector]: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection
 refused to host: 0.0.0.0; nested exception is: java.net.ConnectException: Connection refused]

そりゃ、0.0.0.0 なんてホストはないから接続できんやろ〜。設定の中でそれっぽいところを探してみると、$GERONIMO/var/config/config.xml の中で ${ServerHostname} 変数を参照してるところが。で、${ServerHostname} をどこで定義してるのかを探してみると、$GERONIMO/var/config/config-substitutions.properties ファイルの中で発見。

ServerHostname=0.0.0.0

ここのアドレスを Fedora Core 9 に割り当てた 192.168.1.3 に書き換えて再起動したら、Geronimo は無事に起動した。

[root@challenger bin]# ./geronimo.sh run
Using GERONIMO_BASE:   /usr/local/geronimo-tomcat6-jee5-2.0.2
Using GERONIMO_HOME:   /usr/local/geronimo-tomcat6-jee5-2.0.2
Using GERONIMO_TMPDIR: var/temp
Using JRE_HOME:        /usr/local/java/jdk1.6.0_06/jre
Booting Geronimo Kernel (in Java 1.6.0_06)...
Starting Geronimo Application Server v2.0.2
[************>                     ] 37%  20s Starting org.apache.g...10:00:34,355 ERROR / "Restricted listeners property file not found
[**********************************] 100%  35s Startup complete
  Listening on Ports:
    1050 127.0.0.1   CORBA Naming Service
    1099 0.0.0.0     RMI Naming
    1527 192.168.1.3 Derby Connector
    2001 127.0.0.1   OpenEJB ORB Adapter
    4201 192.168.1.3 OpenEJB Daemon
    6882 127.0.0.1   OpenEJB ORB Adapter
    8009 0.0.0.0     Tomcat Connector AJP AJP
    8080 0.0.0.0     Tomcat Connector HTTP BIO HTTP
    8443 0.0.0.0     Tomcat Connector HTTPS BIO HTTPS
    9999 192.168.1.3 JMX Remoting Connector
   61613 192.168.1.3 ActiveMQ Transport Connector
   61616 192.168.1.3 ActiveMQ Transport Connector

  Started Application Modules:
    EAR: org.apache.geronimo.configs/webconsole-tomcat/2.0.2/car
    JAR: org.apache.geronimo.configs/mejb/2.0.2/car
    RAR: org.apache.geronimo.configs/activemq-ra/2.0.2/car
    RAR: org.apache.geronimo.configs/system-database/2.0.2/car
    WAR: org.apache.geronimo.configs/dojo-tomcat/2.0.2/car
    WAR: org.apache.geronimo.configs/remote-deploy-tomcat/2.0.2/car
    WAR: org.apache.geronimo.configs/welcome-tomcat/2.0.2/car

  Web Applications:
    /
    /console
    /console-standard
    /dojo
    /remote-deploy

Geronimo Application Server started