複雑化・長大化したApacheの設定ファイルをリファクタリングしたいのですが、参考になるサイトや書籍はありますでしょうか?


【環境】
CentOS 5.2 / Apache2.2

【解決したい問題】
・名前ベースのバーチャルホストがたくさんあり、似たような設定情報が重複して書かれている。
・HTTPとHTTPSでそれぞれバーチャルホストがあり、設定が重複している。
・パスの記述(/var/www/foo/bar)で同じようなものがあちこちに書かれている。
・テスト環境と本番環境でなぜか設定が異なる。
・必要ないと思われるような設定がいろいろある
・VirtualHostやDirectoryがネストしており、最終的に何が適用されたのかわかりずらい

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/01/29 03:28:42
  • 終了:2012/02/05 03:30:03

ベストアンサー

id:y-kawaz No.2

y-kawaz回答回数1419ベストアンサー獲得回数2252012/01/29 04:59:51

ポイント100pt

同じような設定のVirtualHostがいっぱいある場合はVirtualDocumentRootを使うとシンプルになるかも。
VirtualDocumentRootを使って複数ドメインをスッキリ管理(Apache) - y-kawazの日記

id:DQNEO

おお!す、素晴らしい!!
そんな技があったんですね。
これぞ私が探したいたものです。

2012/01/29 06:54:43

その他の回答(1件)

id:windofjuly No.1

うぃんど回答回数2625ベストアンサー獲得回数11492012/01/29 04:08:28

ポイント100pt

チューニングは専門性が高いだけでなく、対応方法は状況によりけりなので、
網羅的なものは無いと思っておいたほうがいいかもしれないです

下記一例です

ドメイン単位で独立した別ファイルとしておくことで、
重複する記述をしなくて済み、見た目も管理もスッキリします
http://httpd.apache.org/docs/2.2/ja/mod/core.html#include

<VirtualHost *:80>
    Include ドメインAの設定ファイル
    Include ドメインBの設定ファイル
    Include ドメインCの設定ファイル
</VirtualHost>
<VirtualHost *:443>
    Include ドメインAの設定ファイル
    Include ドメインBの設定ファイル
</VirtualHost>

ドメインAの設定ファイル(B、Cもそれぞれ用意)

ServerName vhost1
DocumentRoot /usr/local/vhosts/vhost1
<Directory "/usr/local/vhosts/vhost1">
Options All
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>

Include はネストできますので、上記に加えて、
Directoryディレクティブの内容だけを書いたファイルを用意してしまうという手もあります

Options All
AllowOverride All
Order Allow,Deny
Allow from all

ドメインの設定ファイルは下記のように短くなります

ServerName vhost1
DocumentRoot /usr/local/vhosts/vhost1
<Directory "/usr/local/vhosts/vhost1">
Include 共通ファイル
</Directory>
id:DQNEO

ありがとうございます!
includeは今鋭意導入中です。
これで共通部分がだいぶすっきりしますね。

2012/01/29 06:51:05
id:y-kawaz No.2

y-kawaz回答回数1419ベストアンサー獲得回数2252012/01/29 04:59:51ここでベストアンサー

ポイント100pt

同じような設定のVirtualHostがいっぱいある場合はVirtualDocumentRootを使うとシンプルになるかも。
VirtualDocumentRootを使って複数ドメインをスッキリ管理(Apache) - y-kawazの日記

id:DQNEO

おお!す、素晴らしい!!
そんな技があったんですね。
これぞ私が探したいたものです。

2012/01/29 06:54:43
  • id:DQNEO
    補足:公式マニュアルはちょくちょく見てます。
    http://httpd.apache.org/docs/2.2/ja/
  • id:DQNEO
    ここに何か書いてあるますね。
    これからじっくり読んでみます。
    http://httpd.apache.org/docs/2.2/vhosts/mass.html

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません