トピックス

Joomla! 1.0 - 'フリーダムを体験してください'!. 今までダイナミックサイトの構築はお世辞にも簡単ではなかったでしょう このCMSは簡単に管理用・インタフェースからすべてのコンテンツを管理できます。
 
powered_by.png, 1 kB

Home arrow ニュース arrow Java情報 arrow Tomcatのインストール
Tomcatのインストール PDF プリント メール
作者 kiyoeri   
2007/03/02 金曜日 10:28:07 JST
CentOSにTomcatがインストールしてなかった。
これからJavaを使い始めようと思い、インストールすることにする。
実をいうとJavaも環境が古かったので1.6.0にバージョンアップしたところ。
# yum  install tomcat をしても、tomcatが見つからない。
現状のJava、Apacheの環境は
Java:1.6.0、Apache:2.0.52
Tomcatの本家をたずねると6.0がリリースされていたが、未対応の要素があるので、
今回は5.xの最新版を導入して、最新Javaとの整合性を試してみることにした。
5.5.20の安定版を選択、Binary Distributionsの中に、Core,Deplyer,Embedded,,,,と
いろいろあるが、今回は標準?なCoreを選択し、/usr/localに導入する。
■ダウンロード
# cd /usr/local
# wget http://ftp.kddilabs.jp/infosystems/apache/tomcat/tomcat-5/v5.5.20/bin/apache-tomcat-5.5.20.tar.gz
# tar xzvf apache-tomcat*.gz
# ln -s ./apache-tomcat-5.5.20 ./tomcat
■インストール
# vi /etc/bashrc
以下追加
# For Tomcat
  TOMCAT_HOME=/usr/local/tomcat
  export TOMCAT_HOME
  CATALINA_HOME=/usr/local/tomcat
  export CATALINA_HOME
※一旦ログアウト後、再度ログインして環境変数にセットされている事を確認。

または、source コマンドを使って設定した環境変数を有効にします。

# source /etc/bashrc

■動作確認
# /usr/local/tpmcat/bin/startup.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:       /opt/SDK/jdk
ブラウザで外部のブラウザより8080ポートにアクセスする。
  http://FQDN:8080/
Sampleはひととおり動かすことが出来た。
Tomcatの初期画面が表示されたが、「Status」を覗こうとすると、パスワード認証画面がでて、入力
してもはじかれてしまう。
※WebDavの時と同様で、Basic認証を拒絶しているのか?
「Tomcat Administration」を覗くと、ブラウザにエラーメッセージが表示される。
Tomcat's administration web application is no longer installed by default. Download and install the "admin" package to use it.
apache-tomcat-5.5.20-admin.gzの管理ツール(Administration Web Application)が必要になるみたいだ。
#wget http://ftp.kddilabs.jp/infosystems/apache/tomcat/tomcat-5/v5.5.20/bin/apache-tomcat-5.5.20-admin.tar.gz
解凍してできたフォルダをtomcatフォルダに上書きする。※解凍すると同じフォルダ名になる。
再度「Tomcat Administration」を覗くと、以下のログイン画面が表示される。
Image
しかし、まだLinuxユーザでログインできない。Webで調べると、/usr/local/tomcat/conf/tomcat-users.xmlで
設定しないといけないようだ。
このファイルに"role"が"manager"の値を持つユーザとパスワードを設定する。
<user username="xxxxxx" password="xxxxxxx" roles="manager"/>
これで「Status」「Tomcat Manager」にアクセスすると、Windowsの認証画面が現れ、応答すると正常にログインできた。
(試行を伴った:httpdやtomcatの再起動、WindowsPCの、「Web Clientサービス」の停止によるログイン)
しかし、「Tomcat Administration」をクリックすると今度は認証画面が表示されず、
「HTTPステータス 403 - 要求されたリソースへのアクセスが拒否されました。」のエラーが表示される。
この症状に対する、httpdのエラーログは上がってこない。 よく判らないのでPending

■Tomcat内部設定
TomcatでのWebDAVの設定

Tomcatには最初から $CATALINA_HOME/webapps/webdav というディレクトリがあり、ここでWebDAV
を公開できる。
ただし、初期状態ではダウンロードのみ可能でアップロードはできないようになっている (リードオンリー) ので、
アップロードできるようにするには $CATALINA_HOME/webapps/webdav/WEB-INF/web.xml ファイルの次の部分を
囲んでいるコメントを解除する。
<!-- 
    <init-param>
       <param-name>readonly</param-name>
       <param-value>false</param-value>
     </init-param>
-->


Tomcat の自動起動の設定

# /etc/rc.d/init.d/tomcat
#!/bin/sh
#
# Startup script for the tomcat
#
# chkconfig: 345 80 15
# description: Tomcat is a Servlet+JSP Engine.

# Source function library.
. /etc/rc.d/init.d/functions

export JAVA_HOME=/usr/java/j2sdk1.4.2_04
export CATALINA_HOME=/usr/local/tomcat
export PATH=$PATH:$JAVA_HOME/bin

case "$1" in
'start')
if [ -f /usr/local/tomcat/bin/startup.sh ]; then
echo "Starting the tomcat service "
"/usr/local/tomcat/bin/startup.sh"
fi
;;
'stop')
echo "Stopping the tomcat service."
"/usr/local/tomcat/bin/shutdown.sh"
;;
'restart')
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
;;
esac
exit 0


# chkconfig --add tomcat
# chkconfig tpmcat on
# chkconfig --list tomcat
tomcat          0:off   1:off   2:on    3:on    4:on    5:on    6:off 

# /etc/init.d/tomcat restart
Stopping the tomcat service.
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:       /opt/SDK/jdk
Starting the tomcat service
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:       /opt/SDK/jdk

ところが,rebootしたらtomcatが起動されていない。 ログには起動された形跡があるのだが・・・・
# grep tomcat /var/log/messages
tomcat: Starting the tomcat service
tomcat: Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
tomcat: At least one of these environment variable is needed to run this program
rc: tomcat を起動中:  succeeded
[root@kiyoeri html]# ps ax|grep tomcat

■Tomcatユーザーの作成
# useradd -d /var/empty/tomcat -s /sbin/nologin tomcat
# chown -R tomcat.tomcat /usr/local/tomcat
これでも×
■tomcatはapacheよりも前に起動しなければならない。
[etc/rc.d/rc.5]
S80tomcat  S85httpd でapacheが後で起動されるようになっているので、この問題ではない。

■/usr/local/tomcat/logsの確認
[catalina.out]
org.apache.struts.action.RequestProcessor processMapping
致命的: パス /login に対するリクエストは無効です
※strutsなんてインストールしていない?

■tomcat-users.xmlの見直し
<user username="xxxxxx" password="xxxxxxx" roles="manager"/>

<user username="xxxxxx" password="xxxxxxx" roles="admin,manager"/>
このように、adminを追加したら、「Tomcat Administration」にログインできるようになった。
Image

■/etc/init.d/tomcatの編集
tomcatが自動起動できない問題で下記内容を追加した。
[/etc/init.d/tomcat]
export JAVA_HOME=/opt/SDK/jdk
export CATALINA_HOME=/usr/local/tomcat
これで、再起動してみる。 ⇒ ○
結局、環境変数がセットされる前に、tomcatが起動されてしまっていたのだ。

最終更新日 ( 2007/06/11 月曜日 09:50:44 JST )
 
< 前へ   次へ >
© 2010 joomla
Joomla! is Free Software released under the GNU/GPL License.
Translation is Joomla!JAPAN