Apache-403 금지됨

Apache-403 금지됨

이 질문을 여러 번 받았지만 완전히 막혔습니다. 내 /var/www/html폴더에는 다음이 포함됩니다.

mbfr/
|-- index.html
|
school/
|-- index.html

exemple.com나는 디렉토리를 제공 mbfr하고 디렉토리를 exemple.com/school제공하고 싶습니다 school. 이것은 내 VirtualHosts구성 파일입니다.

<VirtualHost *:80>
    ServerName exemple.com

    ServerAdmin [email protected]
    DocumentRoot /var/www/html

    Alias / /mbfr
    Alias /school /school

    <Directory "/var/www/html/school">
            Order allow,deny
            Allow from all
            Require all granted
    </Directory>

    <Directory "/var/www/html/mbfr">
            Order allow,deny
            Allow from all
            Require all granted
    </Directory>

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

exemple.com잘 작동하지만 exemple.com/school나에게 준다

Forbidden
You don't have permission to access /school/ on this server.

답변1

*/school 폴더에 올바른 권한을 설정하셨나요? 최근 OS 업그레이드 후 /var/www/html에 폴더를 다시 설치한 후에도 동일한 403 메시지를 받았습니다. 개별 파일에 대한 권한은 모두 괜찮은 것으로 나타났습니다. 그러나 해당 폴더에서는 소유자로서 읽기, 쓰기 및 실행 권한을 가진 유일한 사람이었습니다. 그룹 및 기타에도 읽기 및 실행 권한이 필요하므로 간단한 접근 방식이 chmod a+rx나에게 도움이 되었습니다. 확인해 볼 가치가 있을 수도 있습니다.

답변2

아래 내 대답은 실제 솔루션이 아니라 httpd 주변의 보안 적용을 제거하고 그 효과를 예측할 수 없는 해결 방법이라는 점을 이해하시기 바랍니다. 하지만 훌륭하고 영구적인 해결책이 무엇인지 알아내기 전까지는 효과가 있습니다.

서버의 루트 사용자로 다음 명령을 실행합니다.

setenforce 0
service httpd start

setenforce 0명령은 Apache를 SELinux 허용 모드로 전환합니다. 저는 네트워크 관리자도 아니고 Apache에 대한 기본 지식도 없기 때문에 이 작업이 어떤 영향을 미치는지 모르겠습니다. 어쩌면 누군가가 우리 둘 모두를 깨달을 수 있을지도 모릅니다. 내 웹 서버는 중요하지 않기 때문에 전혀 신경 쓰지 않습니다. 서버를 처음부터 설치해야 한다면 괜찮습니다. 그러나 귀하의 상황은 다를 수 있습니다. 그러니 제 조언을 조금이라도 받아들이십시오. 그것은 큰 것입니다.

관련 정보