web-dev-qa-db-ja.com

ユーザーディレクトリごとのApacheが見つかりません

何らかの理由で、http://server/~user/public_html/にアクセスすると、サーバー用のユーザーディレクトリが機能しなくなり、404エラーが発生します。ファイルはFTP上にありますが、Webからは表示されません。

それは少し前に働いていたので奇妙です。

助けがありますか?

1
GuyNoir

Httpd.confの一部(または、複数のファイルに分割されている場合は含まれている構成)を投稿できますか?

その中には、サーバーがユーザーのホームで検索するディレクトリを定義する「ユーザーごとの」構成セクションがあります。

たとえば、Apacheサーバーで通常使用するデフォルトは次のとおりです。

  # Turn on userdirs
  <IfModule mod_userdir.c>
    UserDir public_html

    <Directory /home/*/public_html>
      Order allow,deny
      Allow from all
    </Directory>
  </IfModule>

この場合、ユーザーが0711(または少なくとも0755)のアクセス許可を持つpublic_htmlディレクトリを持っている限り-public_htmlの読み取りおよび実行ビットと、少なくともホームディレクトリの実行を設定する必要があります-Apacheはファイルを提供します適切な権限を持つそれから。

上記の「server /〜user/public_html /」のURLからのもう1つの質問-ディレクトリpublic_html/public_htmlの下にファイルをアップロードしましたか?それ以外の場合、Apacheは自動的にその下を参照するため、最後に「public_html」部分をドロップする必要があります。

これにより、URLがhttp://server/~user/になり、サーバーに標準以外の構成がない限り機能します。

上記のいずれも機能しない場合は、ディレクトリインデックスが有効になっているかどうかを確認し、public_htmlからインデックスファイルを削除します。構造を確認するために、すべてのファイルのリストが表示されます!

2
Absolute

ディレクトリのアクセス許可、ディレクトリの所有権、およびApacheプロセスが実行されるユーザーをチェックして、ディレクトリがApacheで読み取りおよび実行可能であることを確認します。

1
danlefree