Tomcatの設定(日本語コード変換処理)

今日はTomcat5の日本語コード変換処理の設定を行います。
設定方法
1.Tomcatの[server.xml]を設定する。
GETでの受渡し時のエンコードを有効にするため
useBodyEncodingForURIに”true”を設定する。

<Service name="Catalina">
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true"
useBodyEncodingForURI="true" />

※赤字部分を追加
2.コード変換フィルタの追加
Tomcatにはサンプルとしてコード変換するためのフィルタが用意されています。これを各アプリケーションのclassesフォルダにコピーして使用します。
/srv/www/tomcat5/base/webapps/servlets-examples/WEB-INF/classes/
の中にあるfiltersフォルダを
/各アプリケーション/WEB-INF/classes/フォルダの中にコピーします。
3.web.xmlの設定
先ほどコピーしたフィルタを有効にするために、web.xmlを編集します。

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
	<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>Shift_JIS</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>	
</web-app>

openSUSE「SUSE Linux 10.0 OSS」にTomcat5とApache2をインストールし連携して動作するように設定する



ApacehとTomcatの連携


概要
openSUSE「SUSE Linux 10.0 OSS」のインストール(FTP)に引き続き、Tomcat5とApache2のインストールを行います。
Tomcat5とApache2は連携して動作するために、コネクタとしてmod_jkを使用します。
ソフトウェアのインストール手順
ライセンスの関係上、標準ではJava関係はインストールできません。パッケージリポジトリから手動でインストールする必要があります。ソフトウェアソースメディアを指定することでYaSTでインストールできるようになります。
YaSTを起動します。
[スタートメニュー]->[システム]->[コントロールセンター(YaST)]
[インストールのソースを変更する]をクリックします。


「ソフトウェアソースメディア」画面が開くので[追加]をクリックします。


サーバ名
ftp.jaist.ac.jp
サーバ上のディレクトリ
/pub/Linux/openSUSE/distribution/SL-10.0-OSS/inst-source-java/
を指定して[OK]をクリックします。


[ソフトウェアのインストール/削除]をクリックします。
以下のパッケージをインストールしてください。
「java」で検索して以下にチェックを入れる。

  • java-1.5_0-sun
  • java-1.5_0-sun-devel

「Tomcat」で検索して以下にチェックを入れる。

  • mod_jk-ap20
  • tomcat5
  • tomcat5-admin-webapps
  • tomcat5-webapps

「apache」で検索して以下にチェックを入れる。

  • apache2
  • apache2-prefork
  • apache2-worker

上記にチェックを入れ終わったら[了解]をクリックしてインストールを完了してください。
連携の設定手順
以下の作業はrootで行います:
a. tomcat5-webapps パッケージのインストール(すでに諸氏はインストールしてあるはずだ)
b. サンプル設定ファイル jk.conf を /etc/apache2/conf.d にコピーしてください。
# cp /usr/share/doc/packages/mod_jk-ap20/jk.conf /etc/apache2/conf.d
c. サンプル設定ファイル workers.properties を /etc/tomcat5/base にコピーしてください。
# cp /usr/share/doc/packages/mod_jk-ap20/workers.properties /etc/tomcat5/base
d. モジュール”jk”をapache2のmodules APACHE_MODULESに追加してください。
YaSTの”Editor for /etc/sysconfig Files”か、/etc/sysconfig/apache2を編集すれば可能です。
今回は「/etc/sysconfig/apache2を編集」の方法を使用します。
YaSTで、/etc/sysconfig/エディター を起動し、 Network WWW Apache2 APACHE_MODULESを表示します。
デフォルト値としてすでに
access actions alias auth auth_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif ssl suexec userdir php4 php5
が設定されているので、jkを付け加えます。
jk access actions alias auth auth_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif ssl suexec userdir php4 php5


もし上記の方法ではなく、ファイルを編集で”jk”を追加した場合、次のコマンドでapache2の設定をupdateしなければなりません。
# SuSEconfig –module apache2
e. 必ずTomcatを停止してください。 YaST の “ランレベル・エディター” または次のコマンドから可能です。:
# rctomcat5 stop
f. 必ず、CATALINA_BASE を “/srv/www/tomcat5/base” に設定してください。
YaST の “/etc/sysconfig/エディター” か、 /etc/sysconfig/j2ee ファイルを編集すれば可能です。


g. tomcat サーバを起動します。 YaST の “ランレベル・エディター” または次のコマンドから可能です。:
# exit <-- 一旦抜けると吉です $ su – <-- 再度rootになります Password:
# rctomcat5 start
h. apache2 サーバを再起動します。 YaST の “ランレベル・エディター” または次のコマンドから可能です。:
# rcapache2 restart
h. ブラウザで http://localhost/jsp-examples/ とhttp://localhost/servlets-examples/ を表示させます。


サンプルプログラムを表示させてみましょう。


表示できました。これでApache2とTomcat5の連携が確認できました。

openSUSE「SUSE Linux 10.0 OSS」のインストール(FTP)

SUSE Linux 10.0 OSSのインストール方法
Apache2とTomcat5の連携

Networkインストール方法


今回はFTPによるNetworkインストール方法を紹介します。
最初は「Networkインストールは難しい」というイメージを持っていましたが、なれればCD一枚で済むので楽です。何枚ものISOイメージをダウンロードしてCDを作成するよりも楽です。
今回はSUSE Linux 10.0 OSSをNetworkインストールし、Apache2とTomcat5をインストールします。
また、ApacheとTomcatは連携して動作する方法も説明します。

インストール準備

まず、openSUSEよりInternet Instration Image をダウンロードします。本家からダウンロードするのではなくミラーサイトより取得すると良いでしょう。私はここから取得しました。
取得したboot.isoからCD-ROMを作成してください。
インストールの開始
作成したCDから起動すると次のような画面になります。
[Instration]を選択し[Enter]を押します。


次の画面でエラーが表示されますが[Enter]で次に進みます。


Select the anguage.画面が表示されますので[Japanese]を選択します。


Choose the keybord map.画面が表示されますので[Japanese]を選択します。


[Start Installation or System]を選択します。


[Start Installation or Update]を選択します。


Choose the source medium.(媒体の選択)画面が表示されます。
[Network]を選択してください。

今回は[FTP]を使用します。


今回はDHCPサーバが存在するので[Yes]を選択します。DHCPサーバを用意していない場合、[No]を選択してIPアドレスを入力します。


FTPサーバのアドレスを入力します。FTPサーバは近いところが良いでしょう。openSUSEのサイトのMirrors Released VersionページのInstallation Repositoryで確認します。今回はftp.jaist.ac.jpを使用しましたがftp.novell.co.jpでもOK
です。
[No]を選択します。


[No]を選択します。


SUSEのサイトのMirrors Released VersionページのInstallation Repositoryで確認したディレクトリを入力します。
ftp.jaist.ac.jpであれば
/pub/Linux/openSUSE/distribution/SL-10.0-OSS/inst-source/
ftp.novell.co.jpであれば
/pub/suse/opensuse/distribution/SL-10.0-OSS/inst-source/
を入力します。


インストール用ファイルのロードが始まります。


インストーラが起動しています。


ライセンス同意画面で[はい、ライセンスに同意します]を選択し[次へ]


「ドライバ起動を確認する」ウィンドウが開いたら[OK]を選択します。


時計とタイムゾーンを設定します。[アジア]、[東京]が選択されている事を確認して[次へ]


デスクトップシステムを選択します。[KDE]を選択して[次へ]


パッケージ選択の検証が始まりますのでしばらく待ちます。


インストール設定が完了しました。問題なければ[完了]ボタンをクリックします。


確認画面が表示されたら[インストールする]を選択します。


インストールが始まりますのでそのまましばらく待ちます。(筆者の環境で約一時間かかりました)


ルートユーザーのパスワードを入力し[次へ]


「ハードウェアの確認」ウィンドウが表示されたら[続行]を選択します。


[インターネットとの接続をテストする]を選択し[次へ]


インターネットとの接続テストが行われます。


インターネットとの接続テストが完了すると「オンラインアップデート可能」ウィンドウが開きます。ここでは[アップデートしない]を選択して[OK]をクリックします。


ユーザー認証方法画面で認証方法を選択します。
通常は[ローカル(/etc/passwd)]を選択して[次へ]


通常使用するユーザを作成します。ここでは[推奨]ボタンをクリックしてlxuserを作成します。


リリースノートが表示されます。[次へ]をクリックします。


ハードウェア設定を確認し[次へ]


お疲れさまです。これでインストールが完了しました。
[完了]ボタンをクリックしてください。


完了ボタンを押すと再起動されます。


再起動後にカメレオンのデスクトップ画面が表示すれば成功です!

ApacheとTomcatの連携
へと続く…