[apache] VirtualHost 추가 실패 : 액세스 금지 오류 403 (XAMPP) (Windows 7)

Windows 7에서 XAMPP 설치가 실행 중입니다.

httpd-vhosts.conf에 VirtualHost를 추가하자마자 ‘일반’ http://localhost과 새 기능 dropbox.local 이 작동하지 않습니다.

이것은 내가 추가 한 것입니다 httpd-vhosts.conf:

<VirtualHost *:80>
    ServerAdmin postmaster@dummy-host.localhost
    DocumentRoot "E:/Documenten/Dropbox/Dropbox/dummy-htdocs"
    ServerName dropbox.local
    ServerAlias www.dropbox.local
    ErrorLog "logs/dropbox.local-error.log"
    CustomLog "logs/dropbox.local-access.log" combined
</VirtualHost>

그래서 나는 dropbox.local-error.log모든 정보를 찾았습니다 .

[Thu Feb 02 10:41:57 2012] [error] [client 127.0.0.1] client denied by server configuration: E:/Documenten/Dropbox/Dropbox/dummy-htdocs/

이 오류는 다음을 추가하여 해결 된 것 같습니다.

<directory "E:/Documenten/Dropbox/Dropbox/dummy-htdocs">
     Allow from all
</directory>

그러나 이제이 오류가 발생합니다 dropbox.local-error.log:

[Thu Feb 02 10:45:56 2012] [error] [client ::1] Directory index forbidden by Options directive: E:/Documenten/Dropbox/Dropbox/dummy-htdocs/

또한 액세스하려고 http://localhost하면 일반에 오류가 발생하지 error.log않지만 액세스하려고 하면 오류가 발생하지 않습니다 error 403.

누구든지 도와 줄 수 있니?

편집 : 또한 httpd.conf다음과 같은 것이 있습니다 (누군가가 말하기 전에 여러 번 언급했습니다).

<IfModule dir_module>
    DirectoryIndex index.php index.pl index.cgi index.asp index.shtml index.html index.htm \
                   default.php default.pl default.cgi default.asp default.shtml default.html default.htm \
                   home.php home.pl home.cgi home.asp home.shtml home.html home.htm
</IfModule>



답변

좋아 : 이것은 내가 지금 한 일이며 해결되었습니다.

httpd-vhosts.conf모습은 다음과 같습니다.

<VirtualHost dropbox.local:80>
    DocumentRoot "E:/Documenten/Dropbox/Dropbox/dummy-htdocs"
    ServerName dropbox.local
    ErrorLog "logs/dropbox.local-error.log"
    CustomLog "logs/dropbox.local-access.log" combined
    <Directory "E:/Documenten/Dropbox/Dropbox/dummy-htdocs">
        # AllowOverride All      # Deprecated
        # Order Allow,Deny       # Deprecated
        # Allow from all         # Deprecated

        # --New way of doing it
        Require all granted
    </Directory>
</VirtualHost>

먼저 <Directory xx:xx>옵션 을 설정해야한다는 것을 알았습니다 . 그래서 나는 <Directory > [..] </Directory>-part를 INSIDE에 넣었습니다 <VirtualHost > [..] </VirtualHost>. 그 후, 추가 AllowOverride AuthConfig Indexes받는 사람<Directory> 옵션에 .

이제 http://localhostdropbox-virtualhost도 가리 킵니다. 그래서 추가 dropbox.local<VirtualHost *:80> 로 만드는<VirtualHost dropbox.local:80>

드디어 작동 : D!

나는 행복한 사람입니다! 🙂 🙂

다른 사람이이 정보를 사용할 수 있기를 바랍니다.


답변

“디렉토리”컨텐츠를 다음과 같이 변경했을 때 저를 위해 일했습니다.

<Directory  "*YourLocation*">
Options All
AllowOverride All
Require all granted
</Directory>


답변

나에게 (Windows 7의 XAMPP도) 다음과 같이 작동합니다.

<Directory "C:\projects\myfolder\htdocs">`
   AllowOverride All
   Require all granted
   Options Indexes FollowSymLinks
</Directory>`

403의 원인은 다음과 같습니다.

Order allow,deny


답변

Windows 7에서 XAMPP 1.6.7을 사용하고 있습니다. 이 기사 가 도움이되었습니다.

에 파일 httpd-vhosts.conf에 다음 줄을 추가 했습니다 C:/xampp/apache/conf/extra.
나는 또한 라인의 주석을 해제했다# NameVirtualHost *:80

<VirtualHost mysite.dev:80>
    DocumentRoot "C:/xampp/htdocs/mysite"
    ServerName mysite.dev
    ServerAlias mysite.dev
    <Directory "C:/xampp/htdocs/mysite">
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

아파치를 다시 시작한 후에도 여전히 작동하지 않았습니다. 그런 다음 파일을 편집하여 기사에서 언급 한 9 단계를 따라야했습니다 C:/Windows/System32/drivers/etc/hosts.

# localhost name resolution is handled within DNS itself.
     127.0.0.1       localhost
     ::1             localhost
     127.0.0.1       mysite.dev

그런 다음 일하고있어 http://mysite.dev


답변

고마워요! 그러나 나는 이것을 바꿨다.

AllowOverride AuthConfig Indexes

그것으로

AllowOverride All

그렇지 않으면 .htaccess가 작동하지 않습니다. RewriteEngine에 문제가 있으며 “RewriteEngine not allowed here”오류 메시지가 표시됩니다.


답변

위의 제안은 저에게 효과적이지 않았습니다. http://butlerccwebdev.net/support/testingserver/vhosts-setup-win.html 에서 영감을 사용하여 Windows에서 실행 중입니다.

httpd-vhosts.conf 내부의 HTTP

<Directory "D:/Projects">
AllowOverride All
Require all granted
</Directory>

##Letzgrow
<VirtualHost *:80>
DocumentRoot "D:/Projects/letzgrow"
ServerName letz.dev
ServerAlias letz.dev
</VirtualHost>

httpd-ssl.conf에서 Https (Open SSL)를 사용하는 경우

<Directory "D:/Projects">
AllowOverride All
Require all granted
</Directory>

##Letzgrow
<VirtualHost *:443>
DocumentRoot "D:/Projects/letzgrow"
ServerName letz.dev
ServerAlias letz.dev
</VirtualHost>

그것이 누군가를 돕기를 바랍니다!


답변

너무 많은 변화와 시도와 답변 후에. 에 대한

SO : Windows 7 / Windows 10

Xampp 버전 : Xampp 또는 Xampp 휴대용 7.1.18 / 7.3.7 (제어판 v3.2.4)

설치 프로그램 : win32-7.1.18-0-VC14-installer / xampp-windows-x64-7.3.7-0-VC15-installer

  1. httpd-xampp와 같은 다른 파일을 편집하지 마십시오

  2. 아파치 중지

  3. 에 위치한 httpd-vhosts.conf를 엽니 다 **your_xampp_directory**\apache\conf\extra\(XAMPP 디렉토리는 기본적으로 다음과 같습니다 C:/xampp/htdocs)

  4. 다음 행하기 전에 제거 해시 (함께 aprox 라인 (20).) NameVirtualHost *:80(이 선택 사양 일 수 있음)

  5. 디렉토리 경로를 고려하여 파일 끝에 다음 가상 호스트를 추가하십시오.

    ##127.0.0.1
    <VirtualHost *:80>
        DocumentRoot "C:/xampp/htdocs"
        ServerName localhost
        ErrorLog "logs/localhost-error.log"
        CustomLog "logs/localhost-access.log" common
    </VirtualHost>
    
    ##127.0.0.2
    <VirtualHost *:80>
        DocumentRoot "F:/myapp/htdocs/"
        ServerName test1.localhost
        ServerAlias www.test1.localhost
        ErrorLog "logs/myapp-error.log"
        CustomLog "logs/myapp-access.log" common
        <Directory  "F:/myapp/htdocs/">
            #Options All # Deprecated
            #AllowOverride All # Deprecated
            Require all granted
        </Directory>
    </VirtualHost>
    
  6. 호스트 파일을 ( 관리자 액세스 권한으로) 편집하십시오 ( 에서 위치 Windows\System32\drivers\etc하지만 다음 팁 으로 모든 도메인에 대해 하나의 루프백 IP 만 사용하십시오 .

    127.0.0.1 localhost
    127.0.0.2 test1.localhost
    127.0.0.2 www.test1.localhost
    

모든 경우에 두 번째 블록을 반복하십시오. 첫 번째 블록은 “기본”목적으로 만 메인 블록입니다.