모든 localhost 리소스에서 403

모든 localhost 리소스에서 403

localhost어떤 리소스를 요청 하더라도403 타부HTTP 오류입니다. 나는 Apache(Debian 10 배포판에 포함됨)를 가지고 있으며 cat /var/log/apache2/error.log다음과 같은 관련 줄을 제공합니다.

[Sun Aug 09 22:55:01.943309 2020] [authz_core:error] [pid 3568] [client ::1:48672] AH01630: client denied by server configuration: /home/morten/NetBeansProjects

나는 localhost또는 localhost/existing_url또는 localhost/wrong_url모두 나에게 동일한 HTTP 403 오류와 동일한 유형의 오류 로그 항목을 제공할 수 있습니다.

권한:

$ ls -l | grep NetBeansProjects
    drwxr-xr-x  4 morten morten      4096 aug  9 20:25 NetBeansProjects

그리고

$ ls -l Dropbox/NetBeansProjects/
    totalt 620
    drwxr-xr-x 3 morten morten   4096 aug  9 20:25 bedom
    drwxr-xr-x 3 morten morten   4096 aug  2 17:05 ElevMonitorering
    -rwxrwxrwx 1 morten morten      5 aug  6 09:49 index.html

그리고

 ls -l Dropbox/NetBeansProjects/bedom/
totalt 8
-rwxr-xr-x 1 morten morten  406 aug  9 20:27 index.php
drwxr-xr-x 3 morten morten 4096 aug  9 20:25 nbproject

Apache2에서는 /etc/apache2/apache2.conf다음과 같은 (선택된) 줄이 표시됩니다.

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

# <Directory /var/www/>
<Directory /home/morten/Dropbox/NetBeansProjects>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

또한 /etc/apache2/sites-available/default-ssl.conf:

<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerAdmin webmaster@localhost

                DocumentRoot /home/morten/Dropbox/NetBeansProjects # /var/www/html

동시에 다음 /etc/apache2/sites-available/000-default.conf이 표시됩니다.

<VirtualHost *:80>
        DocumentRoot /home/morten/NetBeansProjects

그래서 내 질문은: URL의 내용을 얻으려면 localhost/index.php(오류 403 대신) 무엇을 수정해야 합니까?

편집하다

localhost.localdomain에 따라 추가한 후이 답변, http://localhost/index.php문제만 일으킬 뿐이지만 생산 목적으로는 해당 인덱스 파일이 필요하지 않을 것이므로 이 질문은 열어 두겠습니다. 나는 그것이 필요한 응답을 해결했다고 생각합니다 http://localhost/bedom/index.php. 나 자신에 대한 내 의견을 확인하세요. 인정하기 부끄럽지만 404는완전히 사소한:존재하지만 폴더 루트에 index.html요청합니다 ...index.phplocalhost

답변1

모든 폴더,전체 경로소유자로부터 허가를 받아야 합니다. 더 정확하게는 다음과 같습니다.웹 서버 데몬, 읽고 실행합니다. 즉, 경로는 /home/morten/NetBeansProjects다음과 같아야 합니다.

ls -l / | grep home
drwxr-xr-x   3 root root  4096 maj 27 22:08 home
$ ls -l /home | grep morten
drwxr-xr-x 28 morten morten 4096 aug 10 22:23 morten
$ ls -l /home/morten | grep Dropbox
drwxr-xr-x 32 morten morten   4096 aug 10 22:25 Dropbox
$ ls -l /home/morten/Dropbox/ | grep NetBeansProjects
drwxr-xr-x  4 morten morten      4096 aug  9 20:25 NetBeansProjects

with rxset은 소유자, 그룹 및 기타 설정을 위한 것입니다. 이는 질문에서 언급한 대로 내 설정에서 수정됩니다.

그러면 파일에는 /etc/apache2/sites-available/000-default.conf지시문의 웹 서버 루트 디렉토리에 대한 올바른 경로가 포함 되어야 합니다 DocumentRoot.

또한 /etc/apache2/apache2.conf파일은 다음과 동일한 폴더를 참조해야 합니다.

<Directory /home/morten/Dropbox/NetBeansProjects>

403을 고치는 것이 전부인 것 같습니다.

관련 정보