Apache2가 내 사용자 정의 디렉토리를 가리키지 않는 이유는 무엇입니까?

Apache2가 내 사용자 정의 디렉토리를 가리키지 않는 이유는 무엇입니까?

Linux 배포 정보:

cat /proc/version
Linux version 6.1.0-9-amd64 ([email protected]) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC Debian 6.1.27-1 (2023-05-08)

apache2버전 정보:

sudo dpkg -l apache2
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  apache2        2.4.57-2     amd64        Apache HTTP Server

파일은 default.conf다음과 같습니다:

cat  /etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>
 ServerName localhost
 DocumentRoot /var/www/html
 <Directory /var/www/html>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
 </Directory>
</VirtualHost>

파일 모드를 755로 설정하고 소유권을 설정합니다 www-data.

sudo chmod -R 755 mydoc/mydoc/build/html/*
sudo chown -R www-data:www-data mydoc/mydoc/build/html

모두 복사하여/var/www/html

sudo cp -R mydoc/mydoc/build/html/*  /var/www/html

127.0.0.1이제 의 모든 항목에 직접 액세스하고 설정을 변경할 수 있습니다 default.conf.

cat  /etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>
 ServerName localhost
 DocumentRoot /home/debian/mydoc/mydoc/build/html
 <Directory /home/debian/mydoc/mydoc/build/html>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
 </Directory>
</VirtualHost>

Apache2를 다시 시작하십시오.

sudo systemctl restart apache2

그렇다면 이 리소스에 액세스할 수 있는 권한이 없는 이유는 무엇입니까?

Forbidden
You don't have permission to access this resource.

Apache/2.4.57 (Debian) Server at 127.0.0.1 Port 80

내 debian11+apache2에는 그런 상황이 없습니다!

의류를 비활성화하면 문제가 해결될 수 있습니다.

sudo systemctl disable apparmor
sudo reboot

의류를 비활성화하는 것 외에 이 문제를 해결하는 더 좋은 방법이 있습니까?

답변1

의류를 비활성화하면 문제가 해결될 수 있습니다.

sudo systemctl disable apparmor
sudo reboot

의류를 비활성화하는 것 외에 이 문제를 해결하는 더 좋은 방법이 있습니까?

답변2

DocumentRoot 를 /mydoc/mydoc/build/html ./home/debian/mydoc/mydoc/build/html

아니면 한번 시도해 볼 수도 있습니다 chmod -R 777 /home/debian/mydoc/mydoc/.

관련 정보