Apache2:禁止このサーバーの/ dir /にアクセスする権限がありません


17

localhostサブディレクトリにはアクセスできませんが、アクセスできますindex.html

私のdefault confように見えます:

<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/www
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /var/www/*/>
    Allow from None
    Order allow,deny
</Directory>
<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

read/edit/writeディレクトリへのアクセスを許可した後でも、Forbiddenエラーが表示されます。フォーラムで考えられるすべての方法を試してみましたが、うまくいきませんでした。誰もが解決策を持っています。

上記の間にsub directoryアクセスのために何かを試しました:

<Directory /var/www/*/>
    Allow from None
    Order allow,deny
</Directory>

可能な解決策を提案してください。ありがとう!

回答:


17

仮想ホストを明確にしましょう:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

次に、次のように適切な許可を設定してください。

sudo adduser <username> www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rw /var/www

そうしました。まだ同じ。Apacheも再起動しました。代わりにapache.confを変更する必要がありますか?
Shobhitシャルマ

ここにあります。ルートディレクトリをホームフォルダーインデックスに変更し、まだ/ var / wwwを指しているようにしました。正しいconfファイルを見つける必要があります。
Shobhitシャルマ

@ShobhitSharma更新されたものを試してください。vhostディレクトリをホームフォルダーに配置する場合はDocumentRoot /var/www、デフォルトのvhostを変更するのではなく、別のvhostの変更のみを作成する必要があります。
アチュー

ただ素晴らしい。www-dataユーザーのみを追加する必要があります。これで、私のローカルネットワークユーザー全員がコンテンツを使用できるようになりました
-DearDhruv
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.