web-dev-qa-db-ja.com

共通ファイルを持つ複数のサイトのApacheセットアップ

誤ってスタックオーバーフローに投稿したことに気付いたので、ここで正しい場所にあります!

CSSとIMAGES以外はまったく同じファイルを使用するサイトが約50あります。現在、新しいサイトを作成して異なるcssと画像をアップロードするたびにファイルを複製しています。

私がしたいのは、各仮想ホストが同じになるように設定するDocumentRoot次に追加AliasMatch cssおよびimagesフォルダーの場合例:

#Common Files VHOST
<VirtualHost xxx.xxx.xxx.xxx:80>
    ServerName commonfiles.com
    ServerAlias www.commonfiles.com
    DocumentRoot /home/commonfiles/public_html
</VirtualHost>

#Sample vhost for 1 of the 50 sites.
<VirtualHost xxx.xxx.xxx.xxx:80>
    ServerName mytest.com
    ServerAlias www.mytest.com
    DocumentRoot /home/commonfiles/public_html
    ......
    AliasMatch /css/(.*) /home/ftpuser/public_html/mycss/$1
</VirtualHost>

エイリアスは特注ファイルに対して完全に機能しますが、アクセス許可エラーのために共通ファイルにアクセスできません。

[Mon Nov 16 09:31:01 2009] [crit] [client xxx.xxx.xxx.xxx] (13)Permission denied: /home/commonfiles/public_html/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

これは、問題の一部である可能性があると私が考える現在のサーバー設定です(前のサーバー管理者はこれを設定します):

  • Apache(Apache/2.2.14(Unix)
  • PHP 5.2.11
  • CentOS 4.8i686標準
  • PHP5ハンドラーはdsoです
  • ApachesuEXECがオンになっています

助言がありますか?

2
icelizard

デフォルトでは、public_htmlフォルダーのアクセス許可は750であるようですが、755に変更し、open_basedirの制限を更新すると、すべてが正常に機能し始めました。

サイトごとに.htaccessを使用できることを確認する必要があります。

1
icelizard

どこかにhtaccessファイルに問題があります。

すべての構成が/ etc/Apache2内にある場合は、htaccessファイルのサポートを有効にする必要はなく、無効にすることで少しスピードアップできます。

Mod_vhost_aliasのようなものを使用して、構成を簡素化することもできます。

http://httpd.Apache.org/docs/2.0/mod/mod_vhost_alias.html

0
LapTop006