Programming/Technic

CentOS 5.3에서 아파치 개인 사용자별 설정

minarae7 2009. 8. 28. 11:55
728x90
반응형
자꾸 잊어먹어서 여기에 적어두도록 한다.

CentOS 5.3에는 기본적으로 아파치가 설치되어 있다. 물론 운영체제가 시작할 때 자동으로 실행되지는 않는다.

일단 아파치를 실행하기 위해서는 'service httpd start'를 해주어야 한다.

그리고 부팅시 자동으로 올라오게 하려면 setup을 통해서 설정할 수 있다.

기본적으로 설치되어 있는 아파치 설정은 개인 사용자마다 홈페이지를 가질 수 없도록 설정이 되어 있다.

여기서 설정 파일을 수정하여서 각 개인 사용자마다 홈페이지 디렉토리를 가질 수 있도록 한다.

일단 /etc/httpd/conf/httpd.conf 파일을 열어서 mod_userdir 이라고 검색을 하면 'UserDir disable' 이렇게 되어있다. 이 부분에 주석 처리를 하고 아래부분에 'UserDir publie_html' 이렇게 설정을 한다. 이것은 각 개인 사용자마다 홈디렉토리에 public_html을 아파치의 홈디렉토리로 인식한다는 것이다.

예를 들어, test라는 사용자가 있을 때 이 사용자의 홈디렉토리는 /home/test 이고 이 사용자가 아파치를 통해 개인 홈페이지를 운영하고 싶을 경우 자신의 홈디렉토리 밑에 public_html을 만들면 된다. 즉, /home/test/public_html 이렇게 만들면 되는 것이다. 그러면 이 디렉토리 밑에 있는 파일은 웹상에서 확인할 수 있다. 주소는 "http://도메인/~test" 이런 식으로 도메인 뒤에 '/~아이디' 를 사용해서 만든다.

그리고 설정 파일을 수정하였으면 저장하고 나온 뒤 'service httpd restart'를 통해서 아파치를 재시작하면 된다.

근데 이 때 계속 문제가 되는 것이 이렇게 하여도 개인 디렉토리의 public_html을 웹에서 확인할 수 없는 경우가 발생한다. 에러 메시지는 permission 거부이다.

이것을 기본적으로 CentOS 에서 사용자별 홈디렉토리의 퍼미션을 700으로 설정하기 때문이다 . 즉, 자기 자신 이외의 사용자(root 제외)는 접근할 수 없다는 것이다. 여기서 문제가 발생한다. apache는 다른 사용자이기 때문이다. 그래서 홈 디렉토리의 접근 관한은 최소한 705로 설정하여야 문제를 해결할 수 있다.
728x90
반응형