phpMyAdminのサブドメイン(仮想ホスト)の設定に問題があります。
私の現在の.confは次のとおりです。
<VirtualHost *:80>
ServerName php.erichermansson.com
ServerAdmin [email protected]
DocumentRoot /usr/share/phpmyadmin
<Directory />
Options FollowSymLinks
DirectoryIndex index.php
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_admin_flag allow_url_fopen Off
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/
</IfModule>
</Directory>
# Authorize for setup
<Directory setup>
<IfModule mod_authn_file.c>
AuthType Basic
AuthName "phpMyAdmin Setup"
AuthUserFile /etc/phpmyadmin/htpasswd.setup
</IfModule>
Require valid-user
</Directory>
# Disallow web access to directories that don't need it
<Directory libraries>
Order Deny,Allow
Deny from All
</Directory>
<Directory setup/lib>
Order Deny,Allow
Deny from All
</Directory>
</VirtualHost>
何が問題なのか知っていますか? Apacheテストページにのみアクセスします。
答え1
4つの<Directory>セクションはすべて相対パスを使用して定義されます。ディレクトリパスは常に絶対パス全体(またはワイルドカード文字を含む絶対パス)でなければなりません。
彼らいいえDocumentRoot に相対的なように解釈されます。
努力する:
<Directory /usr/share/phpmyadmin/>
...
</Directory>
<Directory /usr/share/phpmyadmin/setup>
...
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
...
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
...
</Directory>
Apache 2.2のドキュメントでは:(2.4と同じ)
<目次>そして</ディレクトリ>指定されたディレクトリ、そのサブディレクトリ、およびそのディレクトリのファイルにのみ適用される一連のディレクティブを含めるために使用されます。ディレクトリコンテキストで許可されているすべてのディレクティブを使用できます。
ディレクトリパスは、ディレクトリへのフルパス、またはUnixシェルスタイルの一致を使用するワイルドカード文字列です。ワイルドカード文字列では、?は単一の文字と一致し、*は一連の文字と一致します。 [ ] 文字範囲を使用することもできます。
"/"文字に一致するワイルドカードがないため<ディレクトリ*/public_html>一致しません/home/user/public_html、しかし <directory/home/*/public_html>一致します。