반응형

출처 : 마토커닷컴 | http://matoker.com






[Apache] You don't have permission to access / on this server  Linux / Computing 

2013/11/20 14:29

복사http://matoker.com/30179862051

전용뷰어 보기

설치환경

 OS

Cent OS 6.3

 

 

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

 

 

위 에러를 직역을 해봐도 단순하게 알수 있지만, 접근 권한이 없다는 내용입니다.

 

아파치 세팅을 무난히 마쳤다고 생각되었음에도 불구하고 위와 같이 메시지가 뜰 경우에

아래의 내용들을 순차적으로 확인 해 볼 필요가 있습니다.

 

 

 

1. 아파치 설정내에 Directory 권한이 제대로 설정이 되어 있는지?

 

아파치 2.2와 아파치 2.4 설정 방법이 다릅니다. 아래의 포스팅을 참고하시기 바랍니다.

 

[Apache] 아파치 2.2 / 아파치 2.4 접근권한 비교

http://matoker.com/30185816358

 

 

 

2. 홈디렉토리의 user/group 이 제대로 부여되었는지? 

 

예를 들어 /home/projects/test_web 이라는 경로를 홈디렉토리로 지정하였는데

test_web 디렉토리 자체는 user/group 이 현재 아파치가 접근 가능하게 지정되어 있는데

/home 또는 /home/projects 디렉토리 자체는 아파치가 접근 가능한 user/group 이 아닌 경우에도

위와 같은 에러가 발생할 수 있습니다.

 

사용자 및 퍼미션을 확인해 보는 명령어는 ls -al 또는 ll 명령어입니다.

 

디렉토리 user/group 을 변경하는 명령어는 아래와 같습니다.

 

chown -R [user명] [디렉토리명]

chgrop -R [group명] [디렉토리명]

chown -R [user명]:[group명] [디렉토리명]

 

-R 옵션은 해당 디렉토리 이하의 모든 폴더 및 파일에 일괄 적용하겠다는 뜻입니다.

 

 

 

3. 홈디렉토리의 퍼미션이 맞게 부여되었는지?

 

사용자 및 퍼미션을 확인해 보는 명령어는 ls -al 또는 ll 명령어입니다.

 

chmod -R [권한] [디렉토리명]

 

권한은 일반적으로 755 정도로 본인의 상황에 맞게 설정하시면 됩니다.

 

 

 

4. SELLINUX 설정이 제대로 안되어 있는 경우


아파치 httpd.conf 에서 Directory 설정을 했음에도 불구하고

접근 권한이 없다고 위처럼 메시지가 나오는 경우 SELLINUX 설정을 의심해 볼 필요가 있습니다.

 

"SELLINUX 란" 하고 검색을 해보면 자세한 설명이 나옵니다.

 

간단하게 말하자면 리눅스의 보안을 강화하기 위해서 최신 리눅스에는 기본적으로 다 탑재가 되어 있는 프로그램입니다.

 

이로 인해 기존에 알고 있던 지식을 바탕으로 세팅을 해주어도 실행이 안되거나, 권한이 없다고 나오는 경우가 있습니다.

이럴때 SELLINUX가 실행되고 있어서인지 확인해 볼 필요가 있습니다.


SELINUX를 사용하지 않으려면

 

setenforce 0

 

이라고 입력하면 사용하지 않게 됩니다.

 

setenforce 1

 

이라고 입력하면 사용하게 됩니다.

위 명령어는 재부팅을 하게 되면 설정값에 따라 다시 적용됩니다.

 

영구적으로 설정하려면 아래의 파일에서 수정을 합니다.

 

vi /etc/sysconfig/selinux

 

 

SELINUX=disabled

 

로 변경합니다.


만일 부분적으로 특정 디렉토리만 제대로 동작하게 하기 위해서는

 

restorecon -rv [디렉토리명]

 

(SELLINUX가 인지 가능하게 라벨링을 복구해주는 작업.. 인듯합니다만 확실하진 않습니다.)


이상으로 포스팅을 마칩니다.

 


마토커닷컴 | http://matoker.com


+ Recent posts