2013-07-03 4 views
7

CentOS 6.1 서버가 있고이 서버에 2.2.15 apache를 설치했습니다. 지금 IE (http : // /( = centos ip))에서 다른 PC (Windows 7)로 액세스하려고하면 "이 서버에 액세스 할 수있는 권한이 없습니다."라는 메시지가 나타납니다. 오류. 나는 "var/www/html"에 ""의 내용으로 phpinfo.php 파일을 만들었고 IE에서 "http : //*/phpinfo.php"를 사용하여 액세스하려고하면 오류가 발견되지 않습니다. 어떻게해야합니까? directiry 내 httpd.conf 파일은 다음과 같이이다 :이 서버에 액세스 할 수있는 권한이 없습니다.

<Directory "/var/www/html"> 
    Options Indexes FollowSymLinks 
    AllowOverride None 
    Order allow,deny 
    Allow from all 
</Directory> 

답변

16

httpd.conf 파일을 편집하십시오 (/etc/httpd/conf/httpd.conf). 아래 코드를 추가하십시오.

<Directory "/"> 
#Options FollowSymLinks 
Options Indexes FollowSymLinks Includes ExecCGI 
AllowOverride None 
Allow from all 
</Directory> 

<Directory "/home/"> 
#Options FollowSymLinks 
Options Indexes FollowSymLinks Includes ExecCGI 
AllowOverride None 
Allow from all 
</Directory> 

행 번호. 555 (제 경우). 파일 사용 권한을 확인하고 서버를 다시 시작하십시오.

service httpd restart 

이제 작동합니다. 그래도 같은 문제가 발생하면 seLinux/etc/selinux/config 번으로 변경하고 SELINUX=disabled으로 변경하고 위에서 설명한대로 서버를 다시 시작한 후 사용해보십시오. chmod를 + RX/홈/*

+3

selinux를 비활성화하면 – simotek

+0

위험한 해결책 [기본적으로 서버 파일 보호] (https://httpd.apache.org/docs/) 2.4/misc/security_tips.html) – RiggsFolly

+1

selinux를 비활성화하지 않고서는 작동하지 못했습니다. 그것은 내 설치에 절대적으로 필요했습니다. – Somum

0

루트 디렉토리에 index.html 또는 index.php 파일을 만듭니다 (귀하의 경우 - @jabaldonedo가 언급 한 바와 같이, /var/www/html)은/var의

+1

에 CentOS 그것은 작동하지 않았다 웹 콘텐츠 – jabaldonedo

+0

의 폴더로의/var/www /에서 HTML을 사용! – Ehphan

+0

해당 파일에 대한 사용 권한을 확인하십시오. –

3

확인 파일 권한을/www /에서 HTML과 아파치의 conf에 지시어를 허용

모든 파일을 웹 서버에 의해 읽을 수와 지시어는

<Directory "/var/www/html"> 
    Order allow,deny 
    Allow from all 
    </Directory> 
0123처럼 할 수 있는지 확인

파일을 볼 수있는 경우 더 제한적인 지시문 정렬을 고려하십시오.

+0

나의하여 http.conf이 – Ehphan

+0

<디렉토리 "는/var/www /에서 html로"> 옵션 색인 FollowSymLinks를 에 AllowOverride 없음 주문 가 로컬에서 작동합니까 모든 – Ehphan

+0

에서 허용을 거부 할 수처럼 로컬 컴퓨터 자체에 로컬 호스트 cli 만 말려 야하는 경우 –

2

주먹이 아파치가 실행되고 있는지 확인하십시오. service httpd restart 다시 시작

CentOS 6은 SELinux가 활성화되어 제공되므로 정책을 변경하거나 /etc/sysconfig/selinux 설정을 SELINUX=disabled으로 편집하여 비활성화 할 수 있습니다. 그런 다음 다시 시작하십시오

그런 다음 아파치가 작동하는지 로컬로 (centos에서) 확인하십시오.

+0

나는 centos에 대한 로컬 액세스 권한이 없지만 SELINUX 일을했고 그것은 여전히 ​​같은 오류입니다 !! – Ehphan

+0

당신은 centos 콘솔에서'wget localhost'을 시도한 다음 텍스트 편집기로 응답을 확인 했습니까? – jabaldonedo

+0

나는 그것을했고 괜찮아, 로컬 호스트 (index.html)의 내용은 서버에서 하나와 동일합니다. – Ehphan

1

시도를하는 데 도움이됩니다. 권한으로 이동하고 모두를 읽고 쓰기로 변경 한 다음 "동봉 파일에 허가 신청"을 클릭하면 완료됩니다! 아마도 너무 늦었 겠지만 다른 사람에게 도움이 될 것입니다.

0

마우스 오른쪽 단추로 클릭 한 WWW 폴더 속성을 클릭하십시오

희망이 다음을 사용하는

0

httpd.conf에서 apache 사용자 및 그룹 설정을 확인하십시오. AMI/RedHat에서는 아파치로, Debian에서는 www-data로 기본 설정되어야합니다.

그런 다음 사이트 루트 디렉토리의 그룹 설정에 apache 사용자를 추가하십시오.아래의 명령을 사용하여 허가하는 모드에서

sudo usermod -a -G <your-site-root-dir-group> apache 
2

설정 SELinux가 :

setenforce 0; 
0

(나를 위해 일한) 다음 restorecon를 실행하면 허용 모드 (명령 setenforce 0)에서 SELinux를 설정하고 작동하는 경우 (sudo restorecon -Rv /var/www/html/) setenforce는 임시이기 때문에 Apache 디렉토리의 파일에 올바른 컨텍스트를 영구히 설정합니다. 아파치의 컨텍스트는 httpd_sys_content_t 그리고 당신은 같은 출력 명령 ls -Z /var/www/html/ 실행을 확인할 수 있습니다

drwxr-xr-x. root root unconfined_u:object_r:user_home_t:s0 tests : 파일이 올바른 컨텍스트가없는 경우

-rwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 index.html

는이 같은 표시를

희망이 있으면 도움을 드리겠습니다.

PD : 나 내 영어 변명

관련 문제