php 화면을 띄울일이 있어 linux 서버에 apache2.4에 php를 설치하고 웹브라우저로 접속을 하니
Forbidden 에러가 발생했다.
로그 내용을 보면
AH00035: access to /phpinfo.php denied (filesystem path '/web/site/www') because search permissions are missing on a component of the path
내 경험상 의외로 처음 웹사이트를 올릴때 종종 나오긴 했는데 어찌어찌 하다보면 해결되고 해서
신경쓰지 않았는데 매번 반복 되는 검색이 귀찮아 여기 남긴다.
일단 이번에는 php 기준이다.
검색을 해본 결과 3가지 정도의 방법이 있는것 같다.
내 경우, 첫번째와 두번째 방법은 이미 적용이 되어있는 상태였고
나는 세번째 방법에 해당했다.
1. http.conf 에서 Directory 섹션에 "Require all granted" 권한을 준다.
<Directory />
AllowOverride none
#Require all denied -> / 아래 경로에 대해 모든 접근 차단 (기본 denied 인데 #로 주석처리)
Require all granted -> / 아래 경로에 대해 모든 접근 허용
</Directory>
2. selinux 설정을 disabled (/etc/selinux/config)
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
3. 디렉토리나 파일에 경로 권한 수정 (chmod 755)
만약 /web/site/www 이런 경로에 phpinfo.php 파일을 실행한다고 했을때
처음에 권한 문제일까 해서 일단 phpinfo.php 파일의 권한을 777로 줘 봤다.
그래도 Forbidden 에러가 뜬다. 그래서 www 디렉토리를 755 권한을 줬지만
역시 Forbidden 에러가 뜬다.
해당 파일도, 디렉토리도 권한을 줬는데도 에러가뜨니... 당황했다.
그러다 www 디렉토리의 상위디렉토리 들도 전부 권한을 755로 줬다.
예로 나의 경우는 site의 권한이 755 보다 낮은 권한이였다.
chmod 755 site 를 수행.
이제 정상적으로 브라우저에 화면이 나온다.
site 아래에는 php 뿐만 아니라 jsp 사이트도 있는데, jsp 사이트는 문제가 안되었는데
php는 오류가 나는데 이건 정확히 확인하지 않아서 모르겠지만
apache 권한과 tomcat 의 권한이 좀 다른가보다. 아님 내가 기억나지 않지만 다르게 했나?
여튼 여기까지!
'개발(코딩) 경험 저장소 > 서버,유틸 설치 및 관리' 카테고리의 다른 글
[linux][Rockylinux9] console 화면으로 커널 로그 출력될때 (0) | 2023.09.10 |
---|---|
[linux][oracle11g] CentOS7에 Oracle11g 설치 (1) | 2023.05.21 |
[리눅스] 실전(?) tail 명령어 (0) | 2022.05.27 |
Let’s Encrypt SSL 무료 인증서 설치 (0) | 2022.03.27 |
OpenJDK 다운로드 경로 (0) | 2022.02.19 |
댓글