フォトアルバム

2011年10月

            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

なかのひと

373news.com

google Search

  • Google
    blog.ganymean.org
    WWW

Google Analytics

VPS

Railo on Tomcat-6

Apache&Tomcat上で無事Railoが動くようになったので、次はRailo管理画面の呼出方法について設定しました。
railo.war解凍先のrailoフォルダ内のindex.cfmを見ると、以下のようになっています。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<cflocation url="railo-context/admin.cfm" addtoken="no">   
</body>
</html>

上記ファイル内cflocationのurl値を"/railo-context/admin.cfm" に変更して、以下の2通りでRailo管理画面を起動できるようにします。

  1. http://ドメイン名/railo/
    • railoフォルダ内に上記index.cfmをコピー
  2. http://ドメイン名/railo.cfm
    • 上記index.cfmをウェブルートにrailo.cfmとしてコピー

Ci101015161139

Railo on Tomcat-5

Tomcatで仮想ホストを構成する場合、$CATALINA_BASE/conf/server.xml内の<Host>セクションに、追加したい仮想ホスト情報を追加する必要があります。
今回は次のように仮想ホストを2つ追加しました。

<Host name="ganymean.org" appBase="webapps/ganymean.org"
unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="ganymean.org_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
</Host>
<Host name="krcb.biz" appBase="webapps/krcb.biz" unpackWARs="true"
autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="krcb.biz_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
</Host>

ポイントは、$CATALINA_BASE/webapps配下にホスト名に対応したフォルダを作成し、appBaseにそのフォルダを指定することによって、仮想ホスト毎にWebアプリケーションを自動配置できるようにしてあることです。仮想ホスト毎にWebアプリケーションを自動配置する必要がない場合には、デフォルトのwebappsで良いと思います。

次に、仮想ホスト毎のデフォルトコンテキストの設定です。
Tomcat6以降では、server.xmlファイル内に<Context>要素を配置することは推奨しないとドキュメントに書かれているので、$CATALINA_BASE/conf/Catalina/仮想ホスト名/ROOT.xmlにコンテキストを設定します。
仮想ホストganymean.orgの場合、$CATALINA_BASE/conf/Catalina/ganymean.org/ROOT.xmlを次のとおり設定します。

<?xml version="1.0" encoding="UTF-8"?>
<Context path="" docBase="/var/www/vhosts/ganymean.org/httpdocs" debug="0" reloadable="true" />

当初、<Host>要素のappBaseと<Context>要素のdocBaseに同じ”ウェブルートディレクトリ”を指定していましたが、Tomcatが「同じディレクトリを指定してはダメ!」とエラーを吐くので、docBaseに"ウェブルートディレクトリ"を設定しています。なお、pathにはデフォルトコンテキストであることを示す””を設定しています。

以上の設定により、Apache&Tomcat上でRailoが無事動くようになりました。

Railo on Tomcat-4

Tomcat6インストールのファイル構造は以下のようになっています。

  • $CATALINA_HOME(単一インスタンスの場合、$CATALINA_BASEも同じ)
    • bin - 起動、シャットダウン、および他のスクリプト。 
    • conf - 構成ファイルおよび関連するDTDファイル。
    • lib - 共通ライブラリ
    • logs - ログファイル
    • temp - テンポラリーファイル
    • work - 各種ワークファイル
    • webapps - ウェブアプリ群
      • ROOT
      • docs
      • examples
      • host-manager
      • manager
      • sample

今回は、以下の要求条件に絞ってTomcat6のコンフィグレーションを実施しました。

  1. TomcatをRailo用のサーブレットコンテナとして使用できるようにする。
  2. WebアプリケーションとしてのRailoを仮想ホスト構成で簡単に使えるようにする。

2つの条件を満たすためには、「仮想ホスト毎にRailoをデプロイ(配置)せずに、共通ライブラリに登録すればいいよー」って、Sean先生がブログに書いていたので、そのとおりにしてみます。

  1. $CATALINA_HOMEフォルダ内にrailoフォルダを作成
    • /optフォルダに展開したrailoのJARフォルダにシンボリックリンクを張る
  2. conf/catalina.propertiesファイル内のcommon.loaderクラスパスを以下のように変更
    • common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.home}/railo,${catalina.home}/railo/*.jar
  3. conf/web.xmlファイル内servlet-mappingセクション直前のservletセクション末尾に以下を追加
    • <servlet>
         <servlet-name>RailoCFMLServlet</servlet-name>
         <description>CFML runtime Engine</description>
         <servlet-class>railo.loader.servlet.CFMLServlet</servlet-class>
         <init-param>
             <param-name>configuration</param-name>
             <param-value>railo/railo-web/{web-context-hash}</param-value>
             <description>Configuration directory</description>
         </init-param>   
         <init-param>
             <param-name>railo-server-root</param-name>
             <param-value>railo</param-value>
             <description>directory where railo root directory is stored</description>
         </init-param>
         <load-on-startup>1</load-on-startup>
      </servlet>   
      <servlet>
         <servlet-name>RailoAMFServlet</servlet-name>
         <description>AMF Servlet for flash remoting</description>
         <servlet-class>railo.loader.servlet.AMFServlet</servlet-class>
         <load-on-startup>1</load-on-startup>
      </servlet>   
      <servlet>
         <servlet-name>RailoFileServlet</servlet-name>
         <description>File Servlet for simple files</description>
         <servlet-class>railo.loader.servlet.FileServlet</servlet-class>
         <load-on-startup>2</load-on-startup>
      </servlet>
  4. conf/web.xmlファイル内filterセクション直前のservlet-mappingセクション末尾に以下を追加
    • <servlet-mapping>
         <servlet-name>RailoCFMLServlet</servlet-name>
         <url-pattern>*.cfm</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
         <servlet-name>RailoCFMLServlet</servlet-name>
         <url-pattern>*.cfml</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
         <servlet-name>RailoCFMLServlet</servlet-name>
         <url-pattern>*.cfc</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
         <servlet-name>RailoAMFServlet</servlet-name>
         <url-pattern>/flashservices/gateway/*</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
         <!-- could be RailoFileServlet -->
         <servlet-name>default</servlet-name>
         <url-pattern>/</url-pattern>
      </servlet-mapping>
  5. conf/web.xmlファイル内welcom-file-listディレクティブ末尾に以下を追加
    • <welcome-file>index.cfm</welcome-file>
      <welcome-file>index.cfml<.welcome-file>

なお、RailoCFMLServletの初期化パラメータ、RailoのWeb管理者とサーバ管理者の値がSean先生の記事内容と異なっています。

<init-param>
<param-name>configuration</param-name>
<param-value>railo/railo-web/{web-context-hash}</param-value>
<description>Configuration directory</description>
</init-param>
<init-param>
<param-name>railo-server-directory</param-name>
<param-value>railo</param-value>
<description>directory where railo root directory is stored</description>
</init-param>

このように設定することによって、$CATALINA_HOME/railo/フォルダの配下には、次の2つのフォルダが自動生成されます。

  • $CATALINA_HOME/railo/
    • railo-server
    • railo-web
      • 仮想ホスト毎のハッシュディレクトリ

次回は、Tomcatにおける仮想ホストとコンテキストの設定方法について説明します。

Railo on Tomcat-3

さて、この記事がRailo on Tomcatシリーズの核心です。

Tomcatことはあまり詳しくないので、Googleで”railo tomcat config"でググってみると、

  1. Railo on Tomcat - multi-web — An Architect's View
  2. Railo Blog: Railo and Tomcat installation
  3. Webserver-to-Tomcat VHost copier: beta testers wanted! » Railo ...
  4. Installing Railo 3 on Tomcat 6 via Apache 2 on Ubuntu 8.04 | James ...
  5. Learnosity Tech Blog : Railo on Tomcat revisited - mod_proxy

がヒットします。
1番目のSean先生の記事は初心者向けではないようで少々混乱しましたが、2番目の記事にインデックス化された彼のシリーズ記事を読み直すと、アウトラインを押えるにはよい記事です。
3番目の記事は流れとしては理解しやすいですが、具体性に欠けるかな?
4番目の記事は、3番目の記事を少し具体的にしていますが、もうチョイかな?
5番目の記事で、ようやくTomcatのドキュメントを読む気になりました。やはり、基本に帰れです。

ポイントを整理してみると、

  • railoの共通ライブラリ化
  • 仮想ホスト別ウェブドキュメントと上記自動展開ディレクトリの配置関係
  • コンテキストの設定

になろうかと思います。

次の記事で具体的に整理したいと思います。

Railo on Tomcat-2

今回は、Apacheの仮想ホスト構成方法について、概要を紹介します。

仮想ホストをApacheで構成するには、<virtualhost>ディレクティブの設定が必要になります。
名前ベースのドメイン:ganymean.orgの場合、以下のようになります。
ポイントは、mod_proxyによるProxyPass/ProxyPassReserveと、mod_rewriteによるRewriteの2点になります。

<VirtualHost xxx.xxx.xxx.xxx:80>
ServerName ganymean.org
DocumentRoot "/var/www/vhosts/ganymean.org/httpdocs"

(中略)

    <Proxy *>
    Order deny,allow
    Allow from all
    </Proxy>

    ProxyPreserveHost On
    ProxyPass /railo-context ajp://ganymean.org:8009/railo-context/
    ProxyPassReverse /railo-context ajp://ganymean.org:8009/railo-context/
 
    RewriteEngine On
    RewriteCond  %{DOCUMENT_ROOT}/$1  -f
    RewriteRule ^/(.*\.cf[cm]l?)(/.*)?$ ajp://%{HTTP_HOST}:8009/$1$2 [P]
    RewriteCond  %{DOCUMENT_ROOT}/$1  -f
    RewriteRule ^/(.*\.jsp?)(/.*)?$ ajp://%{HTTP_HOST}:8009/$1$2 [P]

    DirectoryIndex index.html index.htm index.php index.cfm index.jsp index.html.var

<Directory "/var/www/vhosts/ganymean.org/httpdocs">
    Order deny,allow
    Allow from all
</Directory>

</VirtualHost>

参考にしたURLは以下のとおりです。

http://www.web-rat.com/blog/post.cfm/installing-railo-on-tomcat-the-windows-edition


 

Railo on Tomcat-1

Railoの環境構築で最初に考えたのは、Railoの動作環境をどうするかでした。
Linux版VPSでのサーブレットコンテナは、Resinではなく、TomcatかJettyを使うのが一般的となっています。
FutureHostingのVPSではResinにしましたがが、今回はTomcatにチャレンジしてみることにしました。

環境構築上の前提条件は、以下のとおりです。

3つの仮想ホストを構成する。

  1. IPアドレスベース:aaa.bbb.ccc.dddの仮想ホスト
  2. 名前ベース:ドメインganymean.orgの仮想ホスト
  3. 名前ベース:ドメインkrcb.bizの仮想ホスト

ApacheとTomcatを連携(ajpコネクタ)させる。

  1. Tomcat管理アプリケーションとRailoは、Tomcatで処理させる。
  2. その他(HTML、CGI、PHP、画像ファイル等)は、Apacheで全て処理させる。

色々と試行錯誤の後、狙い通りに動くようになりました。
次回は、Apacheの設定について、概要をご紹介します。
 

VPS移転

ここ1年間ある理由があって、ブログをさぼっていました。
今日から再開しますので、よろしくー。

ところで、ブログ再開にあわせて、VPSを移転することに決めました。
railoを利用するのにtomcatをVPSでインストールしようとするとPleskが邪魔になってきたのと、もう少しメモリが欲しかったので、
FutureHostingからPhotonVPSに移りました。

PhotonVPSの仕様は以下のとおりです。

Xen VPS Hosting(WARP2)

Price                      $26.95 -> $24.25(セットアップ費用:無料、クーポンで10%割引)
HDD             50GB
Memory                 1GB(スワップ:2GB)
DataTransfer  900GB
IPアドレス             2IP
VPSコンテナ Xen
コンパネ                  Webmin

PhotonVPSに切替後2ヶ月ほどかけて、Railo on Apache2+tomcat6の環境を構築してきました。
続きは、また。

Railoインストール手順 for CentOS5 VPS(その3)

前回の設定で、pleskのColdfusion用テストスクリプトが起動できたなら、serviceコマンドで自動起動できるように設定します。

1.テストスクリプトの起動

http://sample.domain/test/coldfusion/test.html

うまくrailoの起動結果が表示されたら、ドメイン別のrailo起動も正常です。

2.railoの自動起動設定
/opt/soft/railo/contrib/init.resinを/etc/init.d/resinとしてコピーします。
そして、以下のように修正しました(root起動前提)。
パーミッションの設定を、755に変更することもお忘れなく!

#!/bin/sh
#
# Linux startup script for Resin
#
# chkconfig: 345 85 15
# description: Resin is a Java Web server.
# processname: wrapper.pl
#
# To install, configure this file as needed and copy init.resin
# to /etc/rc.d/init.d as resin.  Then use "# /sbin/chkconfig resin reset"
#
JAVA_HOME=/opt/soft/java
RESIN_HOME=/opt/soft/railo
PID=$RESIN_HOME/resin.pid

export JAVA_HOME RESIN_HOME
#
# If you want to start the entire Resin process as a different user,
# set this to the user name.  If you need to bind to a protected port,
# e.g. port 80, you can't use USER, but will need to use bin/resin.
#
USER=
#
# You can change this to $RESIN_HOME/bin/resin if you need Resin to
# bind to port 80, but run as a different user.
#
EXE=$RESIN_HOME/bin/httpd.sh
#
# Sets the commandline arguments.
#
#ARGS="-java-home $JAVA_HOME -resin-home $RESIN_HOME"
ARGS="-resin-home $RESIN_HOME"

case "$1" in
  start)
    echo -n "Starting resin: "
    if test -n "$USER"; then
#        su $USER -c "$EXE -pid $PID start $ARGS"
        $EXE start $ARGS
    else
#        $EXE -pid $PID start $ARGS
        $EXE start $ARGS
        fi
    echo
    ;;
  stop)
    echo -n "Shutting down resin: "
#    $EXE -pid $PID stop   
    $EXE stop   

3.自動起動設定

chkconfig --add resin
chkconfig resin on
service resin restart

Railoインストール手順 for CentOS5 VPS(その1)

Railo公式ブログのCentOS用インストールガイダンスによると、事前に準備すべきことは以下のとおり。

1.開発用ライブラリのインストール

yum install
httpd-devel
openssl-devel
lynx

yumコマンドが使えないので、早速support@futurehosting.comにメールで依頼・・・

2.J2SE最新バージョン(jdk-6u13-linux-i586.bin)

wget -O jdk-6u13-linux-i586.bin http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-6u13-linux-i586.bin?BundledLineItemUUID=luJIBe.oRE0AAAEgHEFgyNZP&OrderID=PIdIBe.oBtwAAAEgD0FgyNZP&ProductID=RGtIBe.ou1AAAAEfpVYcydOO&FileName=/jdk-6u13-linux-i586.bin

3.Railo最新バージョン(Railo Server : railo-3.1.0.012-resin-3.1.2-without-jre)

wget http://www.getrailo.org/down.cfm?item=/railo/remote/download/3.1.0.012/server/all/railo-3.1.0.012-resin-3.1.2-without-jre.tar.gz

supportからのメール返信待ちです・・・

Railo on VPS(その1)

HostNexusのVPSサービスを利用しはじめて、3週間程過ぎました。

HostNexusのサポートは、迅速で手厚いところがとても気に入っているのですが、VPS on Virtuozzoの運用についてはどうやらノウハウがついてきていないようです。

Railoの公式ブログのCentOS用インストールガイダンスに沿って、Railo3.1.0.012をVPSにインストールしてみたのですが、64bitCPUが災いしたのかどうかわかりませんが、時間の経過とともにメモリ消費量が増加してしまう事象が発生、手の打ちようがありません。
仕方がないので、他のVPSサービスを探すことにしました。

KickAssVpn

Linux Entry Plan Basic
Price            $25(セットアップ費用:無料) 30日間マネーバック可
HDD      10GB
Memory    256MB -> 512MB(Burst:768MB)
DataTransfer 100GB
IPアドレス      1IP(NAT経由)
VPSコンテナ Virtuozzo
Plesk9     10ドメイン

FutureHosting(Coupon:DALLAS 40%OFF、DOUBLE MEMORY/TRANSFER)

Plesk Unmanaged Virtual Private Servers
Price            $39.95 -> $23.95(セットアップ費用:無料) マネーバックなし?
HDD      20GB
Memory    384MB -> 768MB
DataTransfer 100GB -> 200MB
IPアドレス      2IP
VPSコンテナ Virtuozzo
Plesk9     10ドメイン

結局のところ、FutureHostingに落ち着きました。
ということで、次回からRailoのインストール方法を紹介します。  

ログイン

  • コントロールパネルへのログイン
    アカウント:

    パスワード:

更新ブログ

最近のトラックバック

Google

ブログ powered by TypePad
Member since 04/2005