目次
監訳者まえがき
まえがき
1章 はじめてみよう
1.1 Webサーバの役割
1.1.1 Webサーバの選択基準
1.1.2 なぜApacheなのか
1.2 Apacheの動作について
1.3 Apacheとネットワーク
1.3.1 TCP/IPに関する基礎知識
1.3.2 ApacheとTCP/IP
1.3.3 ApacheとDNS
1.4 HTTPクライアントの動作
1.5 サーバ側での動作
1.6 Apacheのインストールの計画
1.6.1 Apacheのネットワークとの接続
1.6.2 どのOSを使用するか
1.6.3 どのUnixを使用するか
1.7 Windowsは使えるか
1.8 Apacheのバージョン
1.8.1 Apache 2.0
1.8.2 Apache 2.0とWin32
1.9 Apacheのインストール
1.9.1 Unix版のApacheバイナリ
1.9.2 UnixでのApache 1.3.Xのメイク
1.9.3 Unix版のモジュール
1.10 UnixでのApache 1.3.Xのビルド
1.10.1 全自動設定
1.10.2 半自動のビルド設定
1.10.3 モジュールの選択
1.10.4 共有オブジェクト(DSOモジュール)
1.10.5 Configurationの設定とルール
1.10.6 Apacheのメイク
1.11 Apacheバージョン2の新機能
1.11.1 バージョン2でのConfigファイルに関する変更点
1.11.2 httpdコマンドラインの変更点
1.11.3 バージョン2でのモジュールに関する変更点
1.12 UnixでのApacheバージョン2のメイクとインストール
1.13 Win32でApacheを使う
1.13.1 Win32版のモジュール
1.13.2 Win32でApacheをコンパイルする
2章 Apacheの設定:最初のステップ
2.1 Apacheで作るWebサイトとは
2.1.1 コマンドラインでのApacheの実行
2.2 site.toddle
2.3 Unixサーバの設定
2.3.1 WebuserとWebgroup
2.3.2 全自動設定によるデフォルトの問題
2.3.3 UnixでのApacheの実行
2.3.4 複数のApacheプロセス
2.3.5 Unixパーミッション
2.3.6 ローカルネットワーク
2.4 Win32サーバの設定
2.4.1 コンソールウィンドウ
2.4.2 サービスとしてのApache
2.5 ディレクティブ
2.5.1 ServerName
2.5.2 DocumentRoot
2.5.3 ServerRoot
2.5.4 ErrorLog
2.5.5 PidFile
2.5.6 TypesConfig
2.5.7 Configファイルに含めるファイルの指定
2.6 共有オブジェクト
2.6.1 Unixにおける共有オブジェクト
2.6.2 Win32での共有モジュール
3章 実際的なWebサイト
3.1 よりよいWebサイトをより多く:site.simple
3.1.1 ErrorDocument
3.2 Butterthlies社
3.2.1 デフォルトIndex
3.2.2 index.html
3.3 ブロックディレクティブ
3.4 その他のディレクティブ
3.5 HTTPレスポンスヘッダ
3.5.1 FollowSymLinksとSymLinksIfOwnerMatch
3.6 再起動
3.7 .htaccess
3.8 CERNメタファイル
3.9 ファイルの有効期限
4章 バーチャルホスト
4.1 2つのサイトとApache
4.2 バーチャルホスト
4.2.1 名前ベースのバーチャルホスト
4.2.2 IPアドレスベースのバーチャルホスト
4.2.3 名前/IPアドレス混合のバーチャルホスト
4.2.4 ポートベースのバーチャルホスト
4.3 2つのApache
4.4 バーチャルホストの動的な設定
4.4.1 例
5章 認証
5.1 認証のプロトコル
5.1.1 site.authent
5.2 認証に使われるディレクティブ
5.3 Unixでのパスワード
5.4 Win32でのパスワード
5.5 Webでのパスワード
5.6 クライアントからのテスト
5.6.1 Configファイル
5.7 CGIスクリプト
5.8 さまざまな設定のテスト
5.9 order、allow、deny
5.10 UnixでのDBMファイル
5.10.1 AuthDBUserFile
5.10.2 AuthDBMUserFile
5.11 ダイジェスト認証
5.11.1 ContentDigest
5.12 Anonynmousアクセス
5.13 実験
5.13.1 Access.conf
5.14 自動ユーザ情報
5.14.1 IdentityCheck
5.15 .htaccessファイルの利用方法
5.15.1 AccessFileName
5.16 設定の上書き
5.16.1 AllowOverride
6章 MIME、コンテンツ、言語ネゴシエーション
6.1 MIMEタイプ
6.2 コンテンツネゴシエーション
6.2.1 MultiviewsMatch
6.2.2 画像ネゴシエーション
6.3 言語ネゴシエーション
6.4 タイプマップ
6.5 ブラウザとHTTP 1.1
6.6 フィルタ
7章 インデックス
7.1 Apacheが生成するインデックスの改良
7.2 独自のインデックスの作成
7.2.1 DirectoryIndex
7.3 イメージマップ
7.3.1 HTMLファイル
7.3.2 マップファイル
7.4 イメージマップのディレクティブ
8章 リクエストのリダイレクト
8.1 Alias
8.1.1 微妙な問題
8.2 URLのリライト
8.2.1 リライトの例
8.3 スペルチェック
8.3.1 CheckSpelling
9章 プロキシ
9.1 セキュリティ
9.2 プロキシサーバのディレクティブ
9.3 バグのように思える動作
9.4 パフォーマンス
9.4.1 内部向けのキャッシュ
9.5 プロキシサーバの設定
9.5.1 リバースプロキシ
10章 ログの記録
10.1 スクリプトとデータベースによるログの記録
10.2 Apacheのログ記録機能
10.2.1 site.authent―もう1つの例
10.3 設定情報のレポート
10.3.1 AddModuleInfo
10.4 ステータス
10.4.1 サーバステータス
10.4.2 ExtendedStatus
11章 セキュリティ
11.1 内部ユーザと外部ユーザ
11.2 電子署名とバーチャルキャッシュ
11.3 証明書
11.4 ファイアウォール
11.4.1 パケットフィルタリング
11.4.2 ネットワークの分離
11.5 法律上の問題
11.6 SSL(Secure Sockets Layer)の利用法
11.7 Apacheにおけるセキュリティ上の予防措置
11.7.1 Apacheバージョン1.3でのSSLの利用
11.7.2 Apacheバージョン1.3でのmod_sslの利用
11.7.3 Apacheバージョン2でのSSLの利用
11.7.4 テスト証明書の作成
11.7.5 サーバ証明書の取得
11.7.6 グローバルセッションキャッシュ
11.8 SSL用のディレクティブ
11.8.1 Apacheバージョン1.3用のApache-SSLディレクティブ
11.8.2 Apacheバージョン2用のSSL関連ディレクティブ
11.9 暗号スイート
11.9.1 Apacheバージョン1.3用の暗号関連ディレクティブ
11.9.2 Apacheバージョン2用の暗号関連ディレクティブ
11.10 実際的なセキュリティ
11.10.1 セキュリティの手引き
11.10.2 デモンストレーション用クライアント証明書の取得
11.10.3 CA証明書の取得
11.11 今後の動向
11.11.1 SE Linux
11.11.2 EROS
11.11.3 E
12章 大規模なWebサイトの運用
12.1 マシンの設定
12.2 サーバのセキュリティ
12.2.1 rootパスワード
12.2.2 ファイルの配置場所と所有権
12.2.3 Apache Webサイト
12.3 大規模なWebサイトの管理
12.3.1 開発用マシン
12.3.2 ベータテスト
12.3.3 公開用のサイト
12.3.4 サイト更新手順
12.3.5 メンテナンス用ページ
12.4 サポートソフトウェア
12.4.1 データベース管理システム
12.4.2 メールサーバ
12.4.3 PGP
12.4.4 サーバへのSSHアクセス
12.4.5 クレジットカード
12.4.6 パスワード
12.4.7 不要なサービスの無効化
12.4.8 バックエンドのネットワーク
12.4.9 SuEXEC
12.4.10 SSL
12.4.11 サイト証明書
12.5 スケーラビリティ
12.5.1 パフォーマンス
12.5.2 共有データベースと複製データベース
12.6 負荷分散
12.6.1 負荷分散
12.6.2 mod_backhand
12.6.3 mod_backhandのインストール
12.6.4 ディレクティブ
12.6.5 候補関数
12.6.6 Configファイル
12.6.7 サンプルサイト
13章 アプリケーションの構築
13.1 アプリケーションとしてのWebサイト
13.1.1 HTTPメソッドについて
13.1.2 フォームの作成
13.1.3 他のアプローチによるアプリケーションの構築
13.2 アプリケーションロジックの提供
13.2.1 SSI
13.2.2 PHP
13.2.3 Perl
13.2.4 Java
13.2.5 その他のオプション
13.3 XML、XSLTとWebアプリケーション
14章 SSI(Server-Side Includes)
14.1 ファイルサイズ
14.2 ファイル更新時刻
14.3 ファイルの挿入(include)
14.4 CGIの実行
14.5 echo
14.6 SSIフィルタ(Apacheバージョン2)
15章 PHP
15.1 PHPのインストール
15.2 Site.php
15.2.1 エラー
15.2.2 スタンドアロンのPHPスクリプト
16章 CGIとPerl
16.1 CGIの世界
16.1.1 スクリプトの記述と実行
16.1.2 スクリプトとApache
16.2 スクリプトを使用するためのApacheの設定
16.2.1 cgi-binにスクリプトを置く場合
16.2.2 DocumentRootにスクリプトを置く場合
16.2.3 Perl
16.2.4 データベース
16.2.5 HTML
16.2.6 Apacheを介したスクリプトの実行
16.2.7 引用符
16.2.8 HTTPヘッダ
16.2.9 クライアントからデータを受け取る
16.2.10 環境変数
16.3 環境変数の設定
16.4 Cookie
16.4.1 Apacheのcookie
16.4.2 Configファイル
16.4.3 電子メール
16.4.4 検索エンジンとCGI
16.4.5 デバッグ
16.4.6 デバッガ
16.4.7 セキュリティ
16.5 CGIのディレクティブ
16.6 UNIXでのsuEXEC
16.6.1 suEXECのデモンストレーション
16.7 ハンドラ
16.8 アクション
16.8.1 Action
16.9 ブラウザ
17章 mod_perl
17.1 mod_perlの仕組み
17.2 mod_perlのマニュアル
17.3 mod_perlのインストール(簡易な手順)
17.3.1 複数のモジュールのリンク
17.3.2 テスト
17.3.3 インストールの落とし穴
17.4 mod_perlで動作するスクリプトへの修正
17.5 グローバル変数
17.5.1 Perlのフラグ
17.6 Strictプラグマ
17.7 変更のロード
17.8 ファイルのオープンとクローズ
17.9 mod_perlを使うためのApacheの設定
17.9.1 パフォーマンスのチューニング
17.9.2 スクリプトの高速化
18章 mod_jservとTomcat
18.1 mod_jserv
18.1.1 gmakeのメイク
18.1.2 JServのビルド
18.1.3 JServ関連のディレクティブ
18.1.4 JServのステータス
18.1.5 サーブレットの作成
18.2 Tomcat
18.2.1 JDKのインストール
18.2.2 Tomcatのインストール
18.2.3 Tomcatのディレクトリ構造
18.2.4 conf
18.2.5 サーブレットの作成とテスト
18.3 TomcatをApacheに接続する
18.3.1 mod_jk
19章 XMLとCocoon
19.1 XML
19.2 XMLとPerl
19.3 Cocoon
19.4 Cocoon 1.8とJServ
19.5 Cocoon 2.0.3とTomcat
19.6 Cocoonのテスト
20章 Apache API
20.1 ドキュメント
20.2 APR
20.3 プール
20.4 サーバごとの設定
20.5 ディレクトリごとの設定
20.6 リクエストごとの情報
20.7 設定およびリクエスト情報へのアクセス
20.8 フック、オプションフック、オプション関数
20.8.1 フック
20.8.2 オプションフック
20.8.3 オプションフックの例
20.8.4 オプション関数
20.8.5 オプション関数の例
20.9 フィルタ、バケット、バケットグループ
20.9.1 バケットインタフェース
20.9.2 出力フィルタ
20.9.3 入力フィルタ
20.10 モジュール
21章 Apacheモジュールの作成
21.1 概説
21.2 ステータスコード
21.3 module構造体
21.4 完全なプログラミング例
21.4.1 概説
21.4.2 出力例
21.5 一般的なヒント
21.6 Apacheバージョン2.0への移植
付録 Apache 1.x API
付録1 プール
付録2 サーバごとの設定
付録3 ディレクトリごとの設定
付録4 リクエストごとの情報
付録5 設定およびリクエスト情報へのアクセス
付録6 関数
付録6.1 プール関数
付録6.2 配列関数
付録6.3 テーブル関数
付録6.4 クリーンアップ関数
付録6.5 ファイルおよびソケット関数
付録6.6 正規表現関数
付録6.7 プロセスおよびCGI関数
付録6.8 MD5関数
付録6.9 同期化およびスレッド関数
付録6.10 日付と時刻に関する関数
付録6.11 文字列関数
付録6.12 パス、ファイル名、およびURL操作関数
付録6.13 ユーザおよびグループ関数
付録6.14 TCP/IPおよびI/O関数
付録6.15 リクエスト処理関数
付録6.16 タイムアウトおよびアラーム関数
付録6.17 コンフィグレーション関数
付録6.18 コンフィグレーション情報関数
付録6.19 サーバ情報関数
付録6.20 ログ記録関数
付録6.21 パイプ経由ログ関数
付録6.22 バッファリング関数
付録6.23 URI関数
付録6.24 その他の関数
索引
|