2012-08-27 2 views
0

저는 Apache 용 초보자입니다. 우리 집에있는 FreeBSD 상자에 아파치 2.2를 설치했다. FreeBSD 문서의 지침은 사용자 정의 된 디렉토리 데이터를 사용하기 위해 DocumentRoot 지시어를 변경할 수 있다는 것입니다. 따라서, 나는아파치는 DocumentRoot를 변경 한 후 항상 403 permisson을 얻습니다.

/usr/home/some_user/public_html 

로 ...

/usr/local/www/apache22/data 

을 대체하지만 뭔가 옳지 않다. 디렉토리 안에 index.html 파일이 있지만 아파치가 디렉토리/파일을 읽을 수없는 것 같습니다.

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

public_html 

의 권한은 내가 여기 잘못 될 수 있는지 궁금

drwxr-xr-x 

입니다. 또한, 필자의 경우,이 FreeBSD 상자에 하나 이상의 웹 사이트를 호스팅하지 않을 것이므로 VirtualHost를 전혀 사용하지 않을 것입니다. DirectoryRoot 지시어를 변경하는 것이 좋은 방법일까요?

+0

아파치 오류 로그에 무엇이 있습니까? 일반적으로 매우 장황합니다. 홈 디렉토리에''o + r'을 주어야 할 수도 있습니다. –

+0

httpd 프로세스 (보통'apache')를 소유하고있는 사용자에게'su' 시도해보십시오 - cat/usr/home/some_user/public_html/index.html'을 사용할 수 있습니까? –

+0

@Jonas 오류 로그를 확인했는데 ... '클라이언트가 서버 구성에 의해 거부 됨 :/usr/home/webmaster/public_html /' – Kann

답변

3

어딘가에 라인 같은입니다. 이 지시어는 다음을 포함합니다 :

Order allow,deny 
Allow from all 

초기 사용자가 디렉토리에 액세스 할 수 있도록합니다.

+0

정말 고마워요! 이것은 완벽하게 작동합니다. 를 구성하는 것이 데이터 디렉토리를 옮기기에 충분하다고 생각했습니다. 분명히 도 확인해야합니다. – Kann

0

그 중 하나의 가능성은 SELinux가 웹 프로세스가 해당 폴더에 액세스하는 것을 차단한다는 것입니다. 이 경우 selinux 로그에 표시됩니다. 이 아니 프로덕션 서버가 필요한 경우, 대신

chcon whatevercontextyousaw public_html 

또는 :

ls -Zl 

한 다음 새 웹 폴더에 적용 : 당신은 당신의 원래 웹 루트에 대한 컨텍스트를 확인해야 할 것입니다 보안 (방화벽 뒤의 개발 기계처럼)을 사용하면 selinux를 끄는 것이 좋습니다.

하나의 아이디어. 다른 많은 것들이 될 수 있습니다. 당신도이 경로를 변경해야합니다

# This should be changed to whatever you set DocumentRoot to. 
# 
<Directory "/usr/local/www/apache22/data"> 

작동하도록 : 아파치 설정에서

+0

FreeBSD에 실제로 SELinux가 있습니까? –

+0

잘, havent 사용되는 frebsd 꽤 동안, 페도라 사용자 나 자신. 그게 커널에서 나왔기 때문에 그렇게 생각 했어. –

+0

@ Tungcay 방금 ​​원래 웹 루트의 컨텍스트를 확인한 결과 ... drwxr-XR-× 6 루트 휠 - 1024 8월 27 개 16시 24분 데이터 이은으로 public_html drwxr-XR-X (6) 웹 마스터 웹 마스터입니다 - 1024 8월 내가 어떤 표시되지 않는 27 16시 27분으로 public_html 여기에 차이점이 있습니다 ... – Kann

관련 문제