Apacheのトラブルを解決する10のヒント
翻訳校正:石橋啓一郎
Apacheの良くある問題を解決するための10のヒントをお教えしよう。
4:AllowOverrideでの混乱を避ける
どのように自分のウェブサイトを運営したいかにもよるが、.htaccessファイルを利用することでApacheサーバの振る舞いを選択的に変えることができる。簡単に言えば、.htaccessファイルは、そのファイルが置かれているフォルダにだけ影響を与える設定変更を行うことのできるファイルだ。例えば、httpd.confですべてのディレクトリの「Indexes」を無効にすれば、訪問者はディレクトリのリストにはアクセスできなくなる。その上で、1つのフォルダにだけこのアクセスを許したくなるかもしれない。この場合、「Options Indexes」命令を入れた.htaccessファイルを作ればよい。
読者は.htaccessが問題になり得る理由を理解し始めたかもしれない。まず、非常に大きなサイトでは、これらのファイルを把握しておくことは非常に困難な仕事だ。機能的な問題が起きた場合、設定の問題が起きる可能性のある場所は1カ所ではなくなり、ディレクトリ構造を追って.htaccessファイルを探さなければならなくなる。
第2に、これらのファイルを使うことを許すと、管理者のようなApacheに対する腕前を持たないユーザーがウェブサイトに安全でない変更を行ってしまう可能性がある。
最後に、.htacessを使うと、ウェブサーバがカレントディレクトリからルートディレクトリまでのすべての上位ディレクトリの.htaccessファイルを探さなければならなくなり、性能が落ちてしまう可能性がある。
十分な理由がなければ、.htaccessファイルを使うのは避けるべきだ。その代わり、httpd.confファイルの「Directory」セクションで、自由にディレクトリごとのオプションを設定できるようにする方がいい。
一方で、もし.htaccessファイルを使っているのにそれが有効になっていないようなら、httpd.confファイルを見て「AllowOverride」命令が「None」に設定されていないかを確認する。AllowOverride命令のタイプを操作することで、.htaccessファイルで設定できるオプションを制限することができる。表BはApacheの文書に基づくもので、AllowOverrideで設定可能な項目のリストが掲載されている。必要なオプションのみを使うこと。
表B| タイプ | 説明 |
|---|---|
| All | この表でリストされているすべての命令を利用可能にする。これはユーザーがhttpd.confの設定を上書きし、シンボリックリンクを辿れなくするなどの設定を無効にできるようにするため、一般にリスクが大きいと考えられている。 |
| None | .htaccessファイルを利用できなくする。 |
| AuthConfig | 認証関係の命令を利用できるようにする。(AuthDBMGroupFile、AuthDBMUserFile、AuthGroupFile、AuthName、AuthType、AuthUserFile、Requireなど) |
| FileInfo | ドキュメントタイプを制御する命令を利用可能にする。(DefaultType、ErrorDocument、ForceType、LanguagePriority、SetHandler、SetInputFilter、SetOutputFilter、および mod_mime Add* 命令と Remove* 命令など) |
| Indexes | ディレクトリインデックスを制御する命令を利用可能にする。(AddDescription、AddIcon、AddIconByEncoding、AddIconByType、DefaultIcon、DirectoryIndex、FancyIndexing、HeaderName、IndexIgnore、IndexOptions、ReadmeNameなど) |
| Limit | ホストへのアクセスを制御する命令を利用可能にする。(Allow、Deny、Order) |
| Options | 特定のディレクトリにおける機能を制御する命令を利用可能にする。(Options、XBitHack) |
- 5人の推薦記事
- 3人がクリップ
-
ソーシャルブックマーク(-)
- トラックバック(0)
-
- タグ
- 501
- 404
- HTTP/1.1
- ServerSignature
- configtest
- DocumentRoot
- fullstatus
- apachectrl
- graceful
- ポート
- httpd
- connection reset by
- ポートの競合
- DirectoryIndex
- Limit
- AuthConfig
- .htaccess
- Indexes
- AllowOverride
- access_log
- error_log
- LoadModule
- httpd.conf
- Wiki
- ErrorLog
- リソース
- コミュニティ
- トラブルシュート
- IRC
- 設定
- Tips
- リファレンス
- まとめ
- Apache
- Linux
- PHP
- トラブル
- ホワイトペーパー
- 話題のタグ
文字にドロップシャドウの効果をつける--FirefoxとSafariのCSS対応
iPhoneにAdiumが載らない2つの理由
iPhone 3Gの節電術
マイクロソフトはIE 8で地雷を踏んだ?
マイクロソフト、Internet Explorer 8のベータ2をリリース
「iPhone」のパスコードロックに深刻な脆弱性--連絡先情報が読み取られる危険も
Windows XPのバックアップユーティリティについて知っておくべき10のこと
S・ウォズニアック氏:「エンジニアは自分の心に従って行動すべき」--IDFインタビュー
Firefox 3.1のHTML 5対応を検証--Canvas Text APIとCanvas Shadow API
グーグルが、無料社食をついに廃止?--真実はいかに
iPhoneからサーバにSSHログイン:TouchTerm
トップページにみる日本のウェブデザイン--表現したい人たちが集うMySpace
モジラ、「Firefox 3.1」でJavaScript実行を大幅に高速化
Webセキュリティ特集
ZDNet Japan ホスティング特集
ZDNet Japan Green IT
DELLが掲げる「新・仮想化アセスメントサービス」
仮想化環境で求められるストレージの要件
「シンプル」&「低コスト」な運用管理
セキュリティ対策レベルテスト公開!
APC SOLUTIONS FORUM 2008をレポート
Techno Exchange