Tomcatハンドブック 第2版

[cover photo]
TOPICS
Web , Java
発行年月日
PRINT LENGTH
560
ISBN
978-4-87311-388-3
原書
Tomcat: The Definitive Guide, Second Edition
FORMAT
PDF
Ebook
5,170円
Ebookを購入する

Tomcatの最新バージョン6.0に対応した待望の改訂版です。サーブレット/JSP対応のオープンソースウェブアプリケーションサーバTomcatについて必要な情報をすべて網羅、詳細に説明しています。さらにセキュリティやパフォーマンスチューニング、Apacheとの統合、ソースコードからのビルド方法、クラスタリングなど高度なテクニックもカバー。バージョン移行の際の注意事項やトラブルシューティングにも多くのページを割いています。Tomcatの機能を最大限に活用するためのヒントが詰め込まれています。Tomcat 6対応。

関連ファイル

目次

訳者まえがき
まえがき
1章 Tomcat事始め
    1.1 Tomcatのインストール
        1.1.1 LinuxにTomcatをインストールする
        1.1.2 SolarisにTomcatをインストールする
        1.1.3 WindowsにTomcatをインストールする
        1.1.4 Mac OS XにTomcatをインストールする
        1.1.5 FreeBSDにTomcatをインストールする
    1.2 Tomcatの起動、停止、再起動
        1.2.1 起動と停止
        1.2.2 よくある間違い
        1.2.3 Tomcatの再起動
    1.3 Tomcatの自動起動
        1.3.1 Linuxでの自動起動
        1.3.2 Solarisでの自動起動
        1.3.3 Windowsでの自動起動
        1.3.4 Mac OS Xでの自動起動
        1.3.5 FreeBSDでの自動起動
    1.4 インストールしたTomcatをテストする
    1.5 Tomcatの出自は?
2章 Tomcatの設定
    2.1 Apacheウェブサーバの使用
    2.2 ウェブアプリケーションのディレクトリを再配置する
    2.3 ポート番号を8080以外に変更する
        2.3.1 ポート80のTCP接続をポート8080に中継する
        2.3.2 サービスラッパを経由することでTomcatにポート80を監視させる
        2.3.3 よくある間違い
    2.4 Java仮想マシンの設定
    2.5 JSPコンパイラの変更
    2.6 レルム、ロール、ユーザの管理
        2.6.1 レルム
        2.6.2 コンテナ管理によるセキュリティ
        2.6.3 シングルサインオン
    2.7 セッション制御
        2.7.1 セッションの永続性
    2.8 JNDIやJDBCリソースへのアクセス
        2.8.1 JDBC DataSource
        2.8.2 その他のJNDIリソース
    2.9 サーブレットの自動再ロード機能
    2.10 ユーザディレクトリのカスタマイズ
    2.11 Tomcatのサンプルアプリケーション
    2.12 CGI(Common Gateway Interface)
    2.13 TomcatのAdminアプリケーション
3章 Tomcatにおけるサーブレットと
JSPウェブアプリケーションの配備
        3.0.1 ホスト
        3.0.2 Host Managerウェブアプリケーション
    3.1 ウェブアプリケーションのレイアウト
        3.1.1 サーブレットやJavaServer Pagesの配備
    3.2 アーカイブしていないウェブアプリケーションディレクトリによる配備作業
        3.2.1 server.xmlのコンテキストによる配備
        3.2.2 コンテキストXMLフラグメントファイルによる配備
    3.3 WARファイルによる配備作業
        3.3.1 server.xmlのコンテキストによる配備
        3.3.2 コンテキストXMLフラグメントファイルによる配備
    3.4 ホットデプロイメント
    3.5 WARファイルを使用する
    3.6 Managerアプリケーション
    3.7 Apache Antによる自動化
        3.7.1 JAR/WARの作成
        3.7.2 Antを用いた配備
        3.7.3 よくある間違い
    3.8 シンボリックリンク
4章 Tomcatのパフォーマンスチューニング
    4.1 ウェブサーバのパフォーマンス測定
        4.1.1 負荷テスト用のツール
        4.1.2 ウェブサーバのパフォーマンス比較
    4.2 外部チューニング
        4.2.1 Java仮想マシンのパフォーマンス
        4.2.2 オペレーティングシステムのパフォーマンス
    4.3 内部チューニング
        4.3.1 DNSルックアップの無効化
        4.3.2 スレッド数の調整
        4.3.3 JSPコンパイルの高速化
    4.4 容量計画
        4.4.1 事例に基づく容量計画
        4.4.2 大企業向け容量計画
        4.4.3 Tomcatの容量計画
    4.5 参考文献
5章 Apacheウェブサーバとの統合
    5.1 統合するかどうか: 長所と短所
        5.1.1 Tomcat単体での稼働
        5.1.2 TomcatとApache httpdの連携
    5.2 Apache httpdのインストール
    5.3 ApacheとTomcatの統合
        5.3.1 個別のポート番号を用いた負荷の共有
        5.3.2 プロキシを用いたApacheとTomcatの接続
        5.3.3 Apache httpdのセットアップ
        5.3.4 Tomcatのセットアップ
        5.3.5 プロキシの動作を検証する
        5.3.6 短所
        5.3.7 TomcatからApache httpdへのプロキシ
        5.3.8 mod_jkコネクタの使用
    5.4 APRコネクタを使用してTomcatにHTTPを処理させる
        5.4.1 APRのインストール
        5.4.2 APRコネクタのビルドとインストール
        5.4.3 APRコネクタを使用するTomcatの設定方法
6章 Tomcatのセキュリティ
    6.1 システムをセキュアなものにする
        6.1.1 オペレーティングシステムのセキュリティ情報
        6.1.2 ネットワークの設定
    6.2 複合サーバ構成を採用する場合のセキュリティモデル
    6.3 セキュリティマネージャの使用
    6.4 ファイル使用権限の付与
    6.5 Tomcatのchroot jailへのセットアップ
        6.5.1 chroot jailのセットアップ
        6.5.2 chroot内で非rootユーザを使用する
    6.6 誤ったユーザ入力のフィルタリング
        6.6.1 既知の脆弱性
        6.6.2 HTTPリクエストのフィルタリング
    6.7 TomcatにおけるSSLの使用
        6.7.1 自己署名サーバ証明書の作成
        6.7.2 認証局への証明書の要求とインストール
        6.7.3 Tomcat SSLコネクタのセットアップ
        6.7.4 クライアント証明書
7章 コンフィギュレーションファイルとその要素
    7.1 server.xml
        7.1.1 Server
        7.1.2 Service
        7.1.3 Executor
        7.1.4 Connector
        7.1.5 Engine
        7.1.6 Host
        7.1.7 Context
        7.1.8 Realm
        7.1.9 GlobalNamingResources
        7.1.10 WatchedResource
        7.1.11 Listener
        7.1.12 Loader
        7.1.13 Manager
        7.1.14 Resources
        7.1.15 Valve
        7.1.16 トランザクション
        7.1.17 クラスタ
        7.1.18 Tomcatの旧バージョンからの移行
    7.2 web.xml
        7.2.1 web-app
        7.2.2 icon、display-name、description
        7.2.3 distributable
        7.2.4 context-param
        7.2.5 filterとfilter-mapping
        7.2.6 listener
        7.2.7 servlet
        7.2.8 servlet-mapping
        7.2.9 session-config
        7.2.10 mime-mapping
        7.2.11 welcome-file-list
        7.2.12 error-page
        7.2.13 jsp-config、taglib
        7.2.14 resource-env-ref
        7.2.15 resource-ref
        7.2.16 security-constraint
        7.2.17 login-config
        7.2.18 security-role
        7.2.19 env-entry
        7.2.20 ejb-ref、ejb-local-ref
        7.2.21 service-ref
        7.2.22 message-destination-ref
        7.2.23 message-destination
        7.2.24 locale-encoding-mapping-list
    7.3 tomcat-users.xml
    7.4 catalina.policy
    7.5 catalina.properties
    7.6 context.xml
8章 デバッギングとトラブルシューティング
    8.1 ログファイルの見方
    8.2 エラー原因の究明
    8.3 URLとHTTPのやり取り
        8.3.1 HTTPリクエスト
        8.3.2 レスポンスコードとレスポンスヘッダ
        8.3.3 HTTPを用いたやり取り
    8.4 RequestDumperValveを用いたデバッギング
    8.5 Tomcatが停止しない場合
9章 Tomcatソースコードからのビルド
    9.1 Apache Antのインストール
    9.2 ソースコードの入手
        9.2.1 ソースコードのダウンロード
        9.2.2 ApacheのSubversionリポジトリからのソースコードの取得
    9.3 サポートライブラリのダウンロード
    9.4 Tomcatのビルド
10章 Tomcatのクラスタリング
    10.1 クラスタリング用語集
    10.2 HTTPリクエストの流れ
        10.2.1 DNSによるリクエストの分散処理
        10.2.3 mod_proxyによるロードバランシングとフェイルオーバ
    10.3 Javaサーブレットコンテナによる分散処理
    10.4 Tomcat 6のクラスタリング実装
        10.4.1 特徴
        10.4.2 IPマルチキャストの設定とテスト
        10.4.3 多対多の複製を設定する
        10.4.4 セッション複製のテスト
        10.4.5 静的なメンバの設定
        10.4.6 プライマリー/バックアップ複製の設定
    10.5 DBCによるリクエスト分散とフェイルオーバ
    10.6 参考文献
11章 終わりに
    11.1 補助的なリソース
        11.1.1 Tomcatに添付されてくるオンラインドキュメント
        11.1.2 Apache Tomcatのウェブドキュメント
        11.1.3 Apache Tomcatメーリングリストのアーカイブ
        11.1.4 本書に関するウェブサイト
        11.1.5 Tomcatに関するその他のウェブサイト
        11.1.6 IRC(International Relay Chat)の#tomcatチャンネル
        11.1.7 Apache Tomcatメーリングリスト
    11.2 コミュニティ
付録A Javaのインストール
    A.1 JavaのJDKを選択する
    A.2 古いGCJやKaffeの使用を抑止する
    A.3 Sun MicrosystemsのJava SE JDK
    A.4 IBMのJ9 JDK
    A.5 BEAのJRockit JDK
    A.6 AppleのJava SE JDK
    A.7 ExcelsiorのJET
    A.8 ApacheのHarmony JDK
付録B jbchroot.c
付録C BadInputValve.java
付録D BadInputFilter.java
付録E Tomcat 6.0のLinux RPMパッケージファイル
索引