>  기사  >  백엔드 개발  >  PHP 개발 Apache 서버 구성

PHP 개발 Apache 서버 구성

WBOY
WBOY원래의
2016-07-25 08:44:421291검색

이 구성 프로세스를 따르면 여행이 원활하고 안전해집니다.

어제 PHP 애플릿을 만들어 로컬에서 실행해서 테스트해보고 싶었는데 업무용 컴퓨터에 설치 환경이 없어서 wamp를 다운받았는데 Apache, Mysql, PHP 등 모든 것이 순조롭게 진행되었습니다. wamp 서비스를 시작하고 브라우저에 "http://localhost"를 입력하면 접속이 정상적으로 되고 wamp 홈페이지가 뜹니다. 그래서 내 CrashServer 웹사이트를 Apache로 구성하고 가상 도메인 이름을 통해 로컬로 액세스하여 테스트하려고 합니다. 그 결과 오늘 Google에서 검색한 결과 Ren과 Du가 모두 있다는 것을 알게 되었습니다. 연결되어 있습니다.

1. 먼저 Apache의 구성 파일은 httpd.conf와 httpd-vhosts.conf입니다. 먼저 wamp 설치 후의 httpd.conf 기본 구성을 살펴보겠습니다.

  1. DocumentRoot "d:/wamp/www/"
  2. AllowOverride 없음
  3. 모두 거부됨
  4. 옵션 색인 FollowSymLinks
  5. AllowOverride all
  6. 로컬 필요
  7. # 가상 호스트
  8. #Include conf/extra/httpd-vhosts.conf
코드 복사

가상 도메인 이름을 통해 웹사이트에 접속하려면 httpd-vhosts.conf를 구성해야 합니다. 그런 다음 httpd-vhosts.conf를 시작해야 합니다. 기본적으로 닫혀 있으므로 구성 파일에서 #Include conf/extra/httpd-vhosts.conf 앞의 #을 제거하세요. 따라서 httpd-vhosts.conf가 활성화되면 httpd-vhosts.conf 파일을 편집합니다.

2. httpd-vhosts.conf 파일의 위치는 apache 디렉토리의 conf/extra에 있습니다. 위의 conf/extra/httpd-vhosts.conf를 포함하면 해당 파일의 위치를 ​​알 수 있습니다.

이 파일에 위의 CrashServer 웹사이트 구성을 추가하세요.

  1. NameVirtualHost *:80
  2. DocumentRoot "D:/wamp/www/CrashServer"
  3. ServerName crash.com
코드 복사

먼저 내 CrashServer는 wamp의 기본 웹사이트 디렉터리인 wamp/www 아래에 있습니다. 두 번째로 로컬에서 테스트할 때 crash.com을 사용하여 CrashServer에 액세스하려고 하므로 구성은 위와 같습니다.

여기서 crash.com을 통해 로컬 사이트에 접속하려면 호스트 파일을 수정하고 127.0.0.1 crash.com을 추가해야 합니다.

이쯤 되면 설정이 완료되었으니 아파치를 재시작하고 crash.com에 접속해서 접속했더니 정상적으로 접속이 되었습니다. 그런데 localhost로 접속하면 원래는 wamp의 홈페이지가 나왔는데 지금은 CrashServer가 뜨기 때문에 호스트에 127.0.0.1 localhost를 추가하고, httpd-vhosts.conf에 localhost 사이트 구성을 추가해야 한다는 것입니다. 다음과 같습니다:

  1. NameVirtualHost *:80
  2. DocumentRoot "D:/wamp/www"
  3. ServerName localhost
  4. DocumentRoot "D:/wamp/www/CrashServer"
  5. ServerName crash.com
코드 복사

자, 이제 기본적으로 웹사이트가 구성되었으며 매우 간단해 보입니다. 하지만 어제 다음과 같은 문제가 발생했습니다.

우선 내 CrashServer는 처음에는 wamp/www 아래에 위치하지 않고 E:360Downloads 아래에 배치되어 있어서 다음과 같이 구성했습니다.

  1. DocumentRoot "E:/360Downloads/CrashServer"
  2. ServerName crash.com
코드 복사

맞습니다 경로도 맞고 가상도메인 이름도 맞는데 접속시 403 Forbidden, noPermission 이라고 뜨네요. 그래서 구글은 CrashServer 디렉터리에 권한을 추가해야 한다는 것을 깨닫고 다음과 같이 구성을 수정했습니다.

  1. E:/360Downloads/CrashServer>
  2. 주문 허용, 거부
  3. 모두 허용
  4. 모두 허용 필요
  5. 코드 복사

Apache를 다시 시작하면 액세스가 정상입니다. 우선 새 디렉터리는 httpd.conf 또는 httpd-vhosts.conf에 추가할 수 있는데, 후자에 추가하는 것이 더 명확하고 프로젝트 디렉터리 권한은 프로젝트 사이트 구성을 따릅니다. 위에 새로 추가된 디렉터리에서 360Downloads 아래 CrashServer 디렉터리에 권한을 추가하고 액세스를 허용했으므로 더 이상 403 Forbidden 메시지가 표시되지 않습니다.

지금은 이 문제가 너무 간단하고 쓰기 쉽지만, 문제가 발생하면 굉장히 불안하고 우울해집니다. wamp/www 외부 프로젝트의 경우 프로젝트 디렉토리에 권한을 부여해야 합니다. 참고:

  1. 주문 허용,거부
  2. 모두 허용
  3. 모두 허용 필요
코드 복사

이 세 가지 항목은 반드시 외부 컴퓨터에서 서버 사이트에 접근할 수 있도록 구성됩니다.

3. 오늘 문제를 해결한 후 동일한 LAN에 있는 다른 기기를 통해 내 사이트에 접속할 생각으로 휴대폰을 사용하여 브라우저에 컴퓨터 IP를 입력했지만 접속이 되지 않았습니다. 다시 확인해보니 conf의 httpd 구성에서 수정이 필요하다는 것이 밝혀졌습니다.

  1. <디렉터리 "d:/wamp/www/">
  2. 옵션 색인 FollowSymLinks
  3. AllowOverride all
  4. 로컬 필요
  5. < /디렉토리>
코드 복사

그 중 Require local은 구글에서는 지원되지 않는데, 이름에서 알 수 있듯이 로컬 접근만 허용하기 때문에 Require all grant로 변경되어 요청된 모든 접근을 허용하고 휴대폰에서도 접근이 가능합니다. 그것.

참조, http://roteg.iteye.com/blog/1465380, 접근 인증 구성에 대한 설명은 다음과 같습니다.

여기 외국인이 작성한 구성 블로그 게시물이 있는데 매우 좋습니다. https://www.kristengrote.com/blog/articles/how-to-set-up-virtual-hosts-using-wamp #wamp-step- 7, 그러나 유일한 것은 그의 7단계에서 프로젝트 디렉토리에 권한을 추가하는 것입니다:

  1. <디렉터리 C:/Users/Kristen/Documents/Projects>
  2. 주문 거부, 허용
  3. 모두 허용
코드 복사

그런데 Require all grant가 빠져서 결국 403 Forbidden이 나와서 굉장히 우울해졌습니다.

---------------------------------- --- --------보충 2015-07-13------ --- ---------------------------------- --- --------------

알림에 대한 댓글의 유일한 댓글 작성자에게 감사드립니다. 모든 부여 요구는 2.4에서만 필요하고 2.2에서는 필요하지 않습니다.

이렇게 하면 Google에서 게시한 일부 기술 기사에서는 모든 승인이 필요하다고 언급되는 반면 다른 기사에서는 그렇지 않은 이유를 이해할 수 있습니다.

---------------------------------- --- ---------------------보충말 2015-07-13------ --- ---------------------------------- --- ---------------------

이 구성은 다음 wamp 환경에서 수행됩니다.

이제 Apache에서 PHP 사이트 구성이 완료되었습니다.

위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.

서버 구성, PHP, Apache


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.