本書はApache HTTPサーバについての解説書として定番となった『Apacheハンドブック』の第3版にあたります。Apacheの入手方法からコンパイル、インストール、設定、そして改造方法までを幅広く解説します。改訂にあたり、PHP、Tomcat、Cocoon、セキュリティなどに関する記述を強化しました。さらに、大規模なWebサイトの運用、ログの記録、バーチャルホストなどについても詳細に解説しています。巻末には日々の運用/設定に便利なリファレンスカードを収録。Apache 1.3だけでなく最新バージョンの2.0にも対応しました。Apacheの設定から運用までをくまなく解説し、Apacheのすべてがわかる本書はWebサーバ管理者必携の一冊です。
Apacheハンドブック 第3版
Ben Laurie, Peter Laurie 著、田辺 茂也 監訳、大川 佳織 訳
- TOPICS
- Web , System/Network , Linux , PHP
- 発行年月日
- 2003年09月
- PRINT LENGTH
- 676
- ISBN
- 4-87311-150-1
- 原書
- Apache: The Definitive Guide, 3rd Edition
- FORMAT
正誤表
ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認の上、ご利用ください。
正誤表1
2004年5月、2刷で修正済みです。
■25ページ 2つめのコードリスト
以下を削除
<削除> mod_alias.c
■443ページ 2つめの見出し
<修正前>
ApJServLogFile
<修正後>
ApJServLogLevel
■644ページ
<修正前>
Webアプリケーション・・・・・・3150
<修正後>
Webアプリケーション・・・・・・350
■639ページ 索引追加
ApJServLogLevel・・・・・・443
目次
監訳者まえがき まえがき 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 その他の関数 索引