Apache + Tomcat 3.0のインストール
バージョン | Apache 1.3.11 Tomcat 3.0 JDK 1.2.2 RC4 |
|
OS | RedHat 6.1J (Linux 2.2.12) | |
ホームページ | http://jakarta.apache.org/tomcat/index.html
(Tomcat) http://www.blackdown.org/ (Linux JDK) |
|
ダウンロード | http://jakarta.apache.org/downloads/binindex.html
(Tomcat) ftp://ftp.lab.kdd.co.jp/Linux/java-linux/ (Linux JDK) |
Java Servletは、CGIの代用になるテクノロジーで、サーバに常駐するためプロセス起動のオーバーヘッドがなく高速で、セッション管理など高度な機能が使用できる、Webアプリケーションプラットフォームです。
JSP (JavaServer Pages)は、Microsoft ASP (Active Server Pages)のJava版とも言えるものです。Javaコードが埋め込まれたHTMLファイルを、Servletプログラムに変換、コンパイルして実行するものです。Java Beansとの組み合わせで、ビジネスロジックとプレゼンテーションを切り分けた、カスタマイズ性の高いWebアプリケーションが開発できます。
Servlet APIの実装は元々JSDKと呼ばれ、その後継がJSWDKで、さらにそれがApacheプロジェクトに引き継がれ、現在はTomcatと呼ばれています。
Tomcatは簡単なWebサーバ機能を持っています。現在、最新のTomcatのAPIを直接Apacheで実行できるように実装されたエンジンはありません。そこで、通常のアクセスはApacheが担当し、JSPのファイルだけTomcatのWebサーバが処理するように、これら2つのWebサーバを平行稼動させます。
現在正式リリースされているTomcat 3.0には、いくつかのバグが確認されていますが、特に日本語が化けるというバグがあるようです。最近のsnapshotでは修正されているようです。必要に応じてそちらをダウンロードしてください。ただし、パスの構成などが変更されている模様です。
2000/2/4
・ Tomcatのコンパイル方法とバグ修正差分を追加
JDKのインストール
現在JDKはglibc2版のみが配布されています。Slackware 3.6では結局うまく動きませんでした。ここではRedHat 6.1Jを使用しています。
$ su # bzip2 -cd jdk-1.2.2-RC4-linux-i386-glibc-2.1.2.tar.bz2 | tar xvf - # mv jdk1.2.2 /usr/local/jdk # exit
~/.bash_profileなどを編集します。
export PATH=$PATH:/usr/local/jdk/bin export JAVA_HOME=/usr/local/jdk
Apacheのインストール
今回はJServをDSO(Dynamic Shared Object) でインストールします。これはApacheの再コンパイルなしでモジュールの追加を可能にするものです。
まずはApacheをDSOサポート付きでインストールします。
$ tar xvfz apache_1.3.11.tar.gz $ cd apache_1.3.11 $ ./configure --enable-rule=SHARED_CORE --enable-module=so $ make $ su # make install # exit
JServのインストール
ApacheとTomcatを並行稼動させるには、JServというApache用のServletエンジンモジュールが必要ですので、これをインストールします。自分でコンパイルしてもいいですが、ApacheをDSOサポートでインストールしているのであれば、とりあえず以下の場所からバイナリをダウンロードしてコピーするだけでokです。
このファイルを、Apacheをインストールしたパスのlibexec/にコピーします。
$ su # cp mod_jserv.so /usr/local/apache/libexec # exit
Tomcatのインストール
バイナリをダウンロードした場合は、展開するだけです。
$ su # unzip tomcat.zip # mv tomcat /usr/local # exit
一方、ソースをダウンロードしてコンパイルする場合は以下の通りです。
$ unzip jakarta-tomcat.src.zip $ unzip jakarta-tools.src.zip
同じパスにbuildというディレクトリを作ります。
$ mkdir build $ cd jakarta-tomcat
Tomcat 3.0には日本語を扱う上で問題となるバグと、ライブラリのロードに関するバグがあるようなので、修正します。この修正は、Java World 3月号を参考にしました。パッチを用意しましたので必要に応じて適用してください。
コンパイルします。
$ su # sh build.sh
インストールします。
# mv ../build/tomcat /usr/local # exit
Tomcatの設定
Apacheの設定ファイルhttpd.confに以下の行を追加します。
Include /usr/local/tomcat/etc/tomcat.conf
Tomcat Webサーバの設定ファイルserver.xmlを編集します。Tomcat側とApache側とで、パスを合わせます。こうしておけば、拡張子jspの時のみTomcatが使われ、htmlの時にはApacheが使われます。さらに.htaccessによるアクセス制御も有効です。(00/2/5追記:・・・と思ったけど、直接Tomcatのポート指定してアクセスされると無効ですね)
<Context path="/" docBase="/usr/local/apache/htdocs" defaultSessionTimeOut="30" isWARExpanded="true" isWARValidated="false" isInvokerEnabled="true" isWorkDirPersistent="false"/>
次に、etc/tomcat.confに以下の設定を加えます。JSPではWEB-INFというのは特殊なフォルダですが、Apacheによって直接アクセスできてしまうのを防ぎます.
<Location ~ WEB-INF> Deny from all </Location>
自動起動の設定
/etc/rc.d/rc.localに以下を追加します。
# Start Apache /usr/local/apache/sbin/apachectl start # Start Tomat export PATH=$PATH:/usr/local/jdk/bin export JAVA_HOME=/usr/local/jdk /usr/local/tomcat/tomcat.sh start