さくらVPSにUbuntu 10.04 LTSをインストールしたので、Jettyをインストールしてみた。
Jettyはサイズも小さくWebサーバの機能も十分あるのでJettyのみで運用することにした。
Jettyはデフォルトだとポートは8080なので80に変更して起動することにする。
Jetty起動ユーザー:jetty
インストールディレクトリ:/usr/local/jetty
jettyユーザー作成
$ sudo useradd -m jetty
jetty8インストール
$ cd <workディレクトリ>
$ wget http://dist.codehaus.org/jetty/jetty-hightide-8.1.0/jetty-hightide-8.1.0.RC1.zip
$ unzip jetty-hightide-8.1.0.RC1.zip
$ sudo mv jetty-hightide-8.1.0.RC1 /usr/local/jetty
$ sudo chown -R jetty:jetty /usr/local/jetty
jettyの設定
/usr/local/jetty/etc/jetty.xmlを修正
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<Set name="host"><Property name="jetty.host" /></Set>
<Set name="port"><Property name="jetty.port" default="8080"/></Set>
↓
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<Set name="host"><Property name="jetty.host" /></Set>
<Set name="port"><Property name="jetty.port" default="80"/></Set>
/usr/local/jetty/start.iniを修正
--execのコメントを外す
-Djava.library.path=lib/setuidを追加する
# --exec
# -Dorg.apache.jasper.compiler.disablejsr199=true
↓
--exec
-Djava.library.path=lib/setuid
# -Dorg.apache.jasper.compiler.disablejsr199=true
OPTIONSにsetuidを追加
OPTIONS=Server,jsp,jmx,resources,websocket,ext,plus,annotations,jta,jdbc
↓
OPTIONS=Server,jsp,jmx,resources,websocket,ext,plus,annotations,jta,jdbc,setuid
etc/jetty-setuid.xmlを追加
#===========================================================
# Configuration files.
# For a full list of available configuration files do
# java -jar start.jar --help
#-----------------------------------------------------------
etc/jetty-jmx.xml
etc/jetty.xml
↓
#===========================================================
# Configuration files.
# For a full list of available configuration files do
# java -jar start.jar --help
#-----------------------------------------------------------
etc/jetty-setuid.xml
etc/jetty-jmx.xml
etc/jetty.xml
jettyの起動
$ cd /usr/local/jetty/
$ sudo java -jar start.jar
これで目的は達成。
ちなみにJetty起動時に停止用のパラメーターを指定しておけば停止用のコマンドで停止可能。
起動
$ sudo java -DSTOP.PORT=停止ポート -DSTOP.KEY=停止パスワード -jar start.jar
e.g.
$ sudo java -DSTOP.PORT=8079 -DSTOP.KEY=jetty -jar start.jar
停止
$ sudo java -DSTOP.PORT=停止ポート -DSTOP.KEY=停止パスワード -jar start.jar --stop
e.g.
$ sudo java -DSTOP.PORT=8079 -DSTOP.KEY=jetty -jar start.jar --stop
※注意
起動ユーザーがjettyじゃない場合はjetty-setuid.xmlの下記の箇所に修正が必要。
<Configure id="Server" class="org.mortbay.setuid.SetUIDServer">
<Set name="startServerAsPrivileged">false</Set>
<Set name="umask">2</Set>
<Set name="username">jetty</Set>
<Set name="groupname">jetty</Set>