web-dev-qa-db-fra.com

L'ajout de VirtualHost échoue: Erreur d'accès interdit 403 (XAMPP) (Windows 7)

J'ai une installation XAMPP sous Windows 7.

Dès que j'ajoute un VirtualHost à httpd-vhosts.conf, le "normal" http://localhost ET le nouveau dropbox.local ne fonctionnent plus.

Voici ce que j'ai ajouté à mon httpd-vhosts.conf:

<VirtualHost *:80>
    ServerAdmin [email protected]
    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>

J'ai donc cherché mon dropbox.local-error.log pour toute information:

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

Cette erreur semble être résolue en ajoutant

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

Mais maintenant je reçois cette erreur dans 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/

De plus, lorsque j'essaie d'accéder à http://localhost, je ne reçois aucune erreur dans le error.log habituel, bien que j'obtienne le error 403 lorsque j'essaie d'y accéder.

Quelqu'un peut-il aider ... Cela me rend fou: S

EDIT: Également dans httpd.conf il y a ce qui suit (je l'ai vu mentionné plusieurs fois, donc avant que quiconque ne le dise):

<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>
150
Highmastdon

Okay: C'est ce que j'ai fait maintenant et c'est résolu:

Mon httpd-vhosts.conf ressemble à ceci maintenant:

<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>

Tout d'abord, j'ai vu qu'il était nécessaire de définir les options <Directory xx:xx>. J'ai donc placé la partie <Directory > [..] </Directory>- À L'INTÉRIEUR du <VirtualHost > [..] </VirtualHost>. Après cela, j'ai ajouté AllowOverride AuthConfig Indexes aux options <Directory>.

Maintenant, http://localhost pointe également vers le dropbox-virtualhost. Alors j'ai ajouté dropbox.local à <VirtualHost *:80> qui le fait en tant que <VirtualHost dropbox.local:80>

FINALEMENT ça marche: D!

Je suis un homme heureux! :) :)

J'espère que quelqu'un d'autre peut utiliser cette information.

322
Highmastdon

Pour moi a travaillé quand j'ai changé le contenu de "répertoire" dans ceci:

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

Pour moi (également XAMPP sur Windows 7), voici ce qui a fonctionné:

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

C'est cette ligne qui provoquerait le 403:

Order allow,deny
9
lequebecois

J'utilise XAMPP 1.6.7 sur Windows 7. Cet article a fonctionné pour moi.

J'ai ajouté les lignes suivantes dans le fichier httpd-vhosts.conf à C:/xampp/Apache/conf/extra.
J'avais aussi commenté la ligne # 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>

Après avoir redémarré Apache, il ne fonctionnait toujours pas. Ensuite, j'ai dû suivre l'étape 9 mentionnée dans l'article en modifiant le fichier 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  

Puis j'ai travaillé http://mysite.dev

8
Sithu

Merci, ça a fonctionné! Mais j'ai remplacé ceci

AllowOverride AuthConfig Indexes

avec ça

AllowOverride All

Sinon, le fichier .htaccess ne fonctionnait pas: j'ai eu des problèmes avec le RewriteEngine et le message d'erreur "RewriteEngine n'est pas autorisé ici".

6
Adam

Les suggestions ci-dessus n'ont pas fonctionné pour moi. Je l'ai eu sous Windows, en m'inspirant de http://butlerccwebdev.net/support/testingserver/vhosts-setup-win.html

Pour http à l'intérieur de httpd-vhosts.conf

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

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

Pour utiliser Https (Open SSL) dans httpd-ssl.conf

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

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

J'espère que ça aide quelqu'un !!

3
Rahul Gupta

Après tant de changements et d'essais et de réponses. Pour

SOs: Windows 7/Windows 10

Version Xampp: Xampp ou Xampp portable 7.1.18/7.3.7 (panneau de configuration v3.2.4)

Installateurs: win32-7.1.18-0-VC14-installer/xampp-windows-x64-7.3.7-0-VC15-installer

  1. Ne modifiez pas d'autres fichiers comme httpd-xampp
  2. Arrête Apache
  3. Ouvrez httpd-vhosts.conf situé dans **your_xampp_directory**\Apache\conf\extra\ (votre répertoire XAMPP peut être par défaut: C:/xampp/htdocs)
  4. Supprimez le hachage avant la ligne suivante (environ la ligne 20): NameVirtualHost *:80 (cela peut être facultatif)
  5. Ajoutez les hôtes virtuels suivants à la fin du fichier, en tenant compte des chemins de vos répertoires:

    ##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. Editez (avec un accès administrateur) votre fichier hôte (situé à l'adresse Windows\System32\drivers\etc, mais avec le conseil suivant, ne seule boucle ip pour chaque domaine:

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

Pour chaque instance, répétez le deuxième bloc, le premier est le bloc principal uniquement à des fins "par défaut".

1
Leandro

J'utilise xampp 1.7.3. Utiliser l'inspiration d'ici: l'accès xampp 1.7.3 mis à niveau des hôtes virtuels cassés est interdit

Au lieu d'ajouter <Directory> .. </Directory> dans httpd-vhosts.conf , je l'ajoute dans httpd.conf juste après <Directory "D:/xampplite/cgi-bin"> .. </Directory>.

Voici ce que j'ajoute dans httpd.conf:

<Directory "D:/CofeeShop">
    AllowOverride All
    Options  All
    Order allow,deny
    Allow from all
</Directory>

Et voici ce que j'ajoute dans httpd-vhosts.conf

<VirtualHost *:8001>
    ServerAdmin [email protected]
    DocumentRoot "D:/CofeeShop"
    ServerName localhost:8001
</VirtualHost>

J'ajoute également Listen 8001 dans httpd.conf pour terminer mon paramétrage.

J'espère que ça aide

0
Tutompita

Pour beaucoup, c'est une question de permission, mais pour moi, il s'avère que l'erreur a été provoquée par une erreur dans le formulaire que j'essayais de soumettre. Pour être précis, j'avais accidentellement mis un signe "supérieur à" après la valeur de "action". Donc, je vous suggère de jeter un deuxième coup d'oeil à votre code.

0
Fred