OS X의 Apache 및 가상 호스트 문제

OS X의 Apache 및 가상 호스트 문제

최근에 iMac을 포맷하고 설치했습니다. 10.6.5를 실행 중입니다. 이 형식 이전에는 기본 Apache 웹 서버를 여러 가상 호스트와 함께 실행했으며 모든 것이 훌륭하게 실행되었습니다. 포맷 후 모든 것을 다시 설정했는데 이제 Apache가 이상하게 작동합니다. 다음은 제가 진행하고 있는 일에 대한 설명입니다.

Apache 웹 서버의 기본 루트 디렉터리는 외부 하드 드라이브를 가리킵니다. 내 httpd.conf에는 다음이 있습니다.

DocumentRoot "/Storage/Sites"

그 아래에 몇 줄이 있습니다.

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Allow from all
</Directory>

그리고 그 아래에는:

<Directory "/Storage/Sites">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from All
</Directory>

이 파일의 끝에서 사용자 dir include conf 파일을 주석 처리했습니다.

Include /private/etc/apache2/extra/httpd-userdir.conf

그리고 가상 호스트 conf 파일의 주석 처리를 제거했습니다.

Include /private/etc/apache2/extra/httpd-vhosts.conf

계속해서 vhosts 파일에 다음 항목이 있습니다.

<VirtualHost *:80>
   DocumentRoot "/Storage/Sites/mysite"
   ServerName mysite.dev
</VirtualHost>

또한 /etc/hosts 파일에 mysite.dev를 127.0.0.1로 가리키는 호스트 레코드가 있습니다(또한 내 라우터 IP인 192.168.1.2를 사용해 보았습니다).

내가 겪고 있는 문제는 /Storage/Sites/mysite에 PHP 파일이 있음에도 불구하고 서버가 여전히 /Storage/Sites를 보고 있다는 것입니다. 나는 DocumentRoot에 phpinfo()가 있는 PHP 파일이 포함되어 있기 때문에 이것을 알고 있습니다(반면 mysite의 index.php 파일은 다른 코드를 가지고 있습니다).

다른 가상 호스트를 설정해 보았지만 여전히 동일한 작업을 수행하고 있습니다. 또한 "NameVirtualHost *:80"은 내 vhosts 파일에 있습니다. 여기 다른 스레드에서 해결책을 보았습니다. 차이가 없는 것 같습니다.

이것에 대한 아이디어가 있나요? 정보가 충분하지 않은 경우 알려주세요.

답변1

기본 httpd.conf 파일의 모든 VirtualHost에 공통되는 지시문 옵션만 포함하십시오. Apache가 제공하는 모든 호스트를 가상으로 만듭니다.

기본 httpd.conf 파일에서 DocumentRoot 및 블록을 제거합니다. httpd-vhosts.conf 파일에만 있어야 합니다.

관련 정보