Apacheはファイルサービスを提供していません

Apacheはファイルサービスを提供していません

私はApache2 Webサーバーを設定していますが、何らかの理由でWebブラウザを介してアクセスできるようにファイルを提供していません。
ドキュメントのルートが正しく設定され、ファイルはwww-dataが所有しています(環境変数としてApacheを実行するのと同じ)。

....com/hello.txtを介してファイルにアクセスしようとすると、次の結果が表示されます。

Not Found

The requested URL /hello.txt was not found on this server.
Apache/2.4.25 (Debian) Server at ....... Port 80

私の設定ファイル(一部のコメント行が削除されます):

<VirtualHost *:80>

    #serverName www.example.com

    ServerAdmin webmaster@localhost
    DocumentRoot /srv/www/linuxvm232b/public

    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    #Include conf-available/serve-cgi-bin.conf

    <Directory "/srv/www/linuxvm232b/public">
        AllowOverride None
        Require all granted
    </Directory>

</VirtualHost>

オリジナル写真

ディレクトリリスト:

root@linuxvm232:/etc/apache2/sites-available# ll /srv/www/linuxvm232b/public/
total 14
drwxr-xr-x 2 www-data www-data 6   Mar 4   14:58 assets
-rwxr-xr-x 1 www-data www-data 0   May 11  21:10 hello.txt
-rwxr-xr-x 1 www-data www-data 907 Mar 4   14:58 index.html
drwxr-xr-x 2 www-data www-data 4 Mar 4 14:58 src
root@linuxvm232:/etc/apache2/sites-available#

オリジナル写真

答え1

スクリーンショットに示すように、/ srvディレクトリを使用してファイルを提供していますが、私の知る限りこれはDebianのデフォルトではありません。

/etc/apache2/apache2.conf が、Apache サーバーが /srv ディレクトリにアクセスできるようにすることを確認します。標準構成では、このディレクトリへのアクセスは禁止されています。

次のコメント項目でなければなりません。

#<Directory /srv/>
#   Options Indexes FollowSymLinks
#   AllowOverride None
#   Require all granted
#</Directory>

ブロックのコメントを外してapache2を再ロードすると、 systemctl reload apache2 / srvのディレクトリにアクセスできます。

また、以下を介してサイトが有効になっていることを確認してくださいa2ensite linuxvm232bsystemctl reload apache2

関連情報