web-dev-qa-db-fra.com

vous n'êtes pas autorisé à accéder à [alias personnalisé] sur ce serveur

quelqu'un peut-il aider à résoudre un problème suivant: J'utilise wamp pour exécuter des projets dans mon navigateur chrome . après avoir ajouté un nouvelAlias ​​qui pointe vers le répertoire de mon projet c:/dev/myProject Je reçois le message Interdit : vous n'avez pas la permission d'accéder à/newAlias ​​sur ce serveur . Je peux accéder aux alias par défaut tels que phpmyadmin, webgrind ... mais je ne peux pas accéder au mien. J'utilise WampServer Version 2.5 64 bits sur Win 8.1 64 bits situé dans c:/wamp . Aucune suggestion?

Edit: contenu de newAlias:

Alias /bs1/ "c:/_DEV_/git/NewProject/www/" 

<Directory "c:/_DEV_/git/NewProject/www/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order allow,deny
    Allow from all
</Directory>
10
fasola81

Ne changez pas cette section de votre httpd.conf. Ces quelques lignes contrôlent l'accès au dossier racine du lecteur sur lequel Apache est installé. Donc, vous venez de donner un accès complet à quiconque avec un hack pratique.

Le processus de sécurisation de l’accès via Apache consiste à refuser tout accès à tous les éléments du dossier racine et inférieur, puis à selectively autoriser l’accès de sites spécifiques à des zones/dossiers spécifiques du lecteur.

Une meilleure solution consisterait à modifier httpd.conf de la même manière et à modifier la définition de votre alias. Comme ça :-

Alias /bs1 "c:/_DEV_/git/NewProject/www/" 

<Directory "c:/_DEV_/git/NewProject/www/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Require local         <-- to develop on this PC
    Require ip 192.168.1  <-- to access the server from another PC on your network
    Require all granted   <-- to allow the world to see the beauty of your site
</Directory>

Il est préférable d'utiliser des hôtes virtuels pour contrôler chaque site et non un alias.

Voici pourquoi et comment: - WAMPServer 2.5 La page d’accueil, le menu Vos projets et le besoin d’hôtes virtuels

15
RiggsFolly

J'ai mis à jour WAMP de 2.2.22 à 2.4.9 et j'ai constaté que les nouveaux alias ne fonctionnaient pas (même message d'erreur que le vôtre).

En vérifiant les alias par défaut comme phpmyadmin, j'ai trouvé ceci:

Alias /phpmyadmin "c:/wamp/apps/phpmyadmin4.1.14/"

# to give access to phpmyadmin from outside 
# replace the lines
#
# Require local
#
# by
#
# Require all granted
#

<Directory "c:/wamp/apps/phpmyadmin4.1.14/">
   Options Indexes FollowSymLinks MultiViews
   AllowOverride all
  <IfDefine Apache24>
    Require local
  </IfDefine>
  <IfDefine !Apache24>
    Order Deny,Allow
      Deny from all
      Allow from localhost ::1 127.0.0.1
    </IfDefine>
  php_admin_value upload_max_filesize 128M
  php_admin_value post_max_size 128M
  php_admin_value max_execution_time 360
  php_admin_value max_input_time 360
</Directory>

Si vous voyez le contenu du fichier, vous remarquerez les conditions <IfDefine Apache24> et <IfDefine !Apache24>. J'ai donc changé mon alias .Conf fichier de:

Alias /svn "c:/work/website-svn/" 

<Directory "c:/work/website-svn/">
    Options Indexes FollowSymLinks MultiViews

    AllowOverride all
    Order allow,deny
    Allow from all

</Directory>

à:

Alias /svn "c:/work/website-svn/" 

<Directory "c:/work/website-svn/">
    Options Indexes FollowSymLinks MultiViews

    Require local

</Directory>

Cela a résolu mon problème, j'espère que cela résoudra le vôtre.

12
Gonzalingui

Je ne suis pas un expert en la matière, mais la réponse ci-dessus semblait donner l’accès à l’ensemble de mon ordinateur ... Nous avons donc essayé de modifier la réponse ci-dessus pour donner uniquement l’accès à mon dossier alias ...

Alors, au lieu de cela ... Allez dans le fichier httpd.conf ... et faites une recherche pour ...

<Directory />
   AllowOverride none
   Require all denied
</Directory>

et ci-dessous ajouter les éléments suivants

<Directory "c:/path-to-your-alias-folder...">
   AllowOverride none
   Require all granted
</Directory>

Cela a fonctionné pour moi et je pense que cela pourrait être un peu plus sûr ... Encore une fois, je ne suis pas un expert ici ... J'essaie juste de le faire fonctionner ...

1
Michael Whyte

Je suggérerais que vous envisagiez de configurer des hôtes virtuels à la place. Cela prend quelques minutes de plus, mais c'est plus résistant aux balles. La réponse de RiggsFolly à une question similaire est excellente en termes de détail, de rigueur et d’utilité:

Les liens de projet ne fonctionnent pas sur Wamp Server

0
irthinker

J'ai trouvé une solution qui a fonctionné pour moi. Dans httpd.conf, j'ai changé:

<Directory />
    AllowOverride none
    Require all denied
</Directory>

à 

<Directory />
    AllowOverride none
    Require all granted
</Directory>

Ce qui a résolu le problème et m'a permis d'accéder à mes alias personnalisés. 

0
fasola81

pour autoriser votre serveur et wamp, vous avez besoin de 3 étapes, veuillez vous assurer de ces 3 choses après que vous puissiez accéder à votre site depuis un autre réseau avec une adresse IP, par exemple http://192.168.1.1/votre_nom de dossier (192.168. 1.1 est votre ordinateur ou votre adresse ip vps "votrenomsitesite" est le nom de dossier de votre site qui devrait se trouver dans votre dossier wamp-> www)

1.

tout d'abord, les ports 80 et 443 doivent être autorisés pour les paquets TCP et UDP. Pour ce faire, créez 2 règles entrantes pour TPC et UDP sur le pare-feu Windows pour les ports 80 et 443 .

2.

Si vous utilisez WAMPServer 3 Voir bas de la réponse

Pour les versions de WAMPServer <= 2.5

Vous devez modifier le paramètre de sécurité sur Apache pour autoriser l'accès depuis n'importe où, alors éditez votre fichier httpd.conf.

Changer cette section de:

#   onlineoffline tag - don't remove
     Order Deny,Allow
     Deny from all
     Allow from 127.0.0.1
     Allow from ::1
     Allow from localhost

À :

#   onlineoffline tag - don't remove
    Order Allow,Deny
      Allow from all

si la ligne "Autoriser de tout" ne fonctionne pas pour vous, utilisez "Exiger tout pour pouvoir être accordée" Elle fonctionnera pour vous.

WAMPServer 3 a une méthode différente

Dans la version 3 et> de WAMPServer, il existe un hôte virtuel défini pour localhost. Ne modifiez donc pas le fichier httpd.conf, laissez-le tel que vous l'avez trouvé.

A l’aide des menus, éditez le fichier httpd-vhosts.conf.

 enter image description here

Ça devrait ressembler à ça :

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot D:/wamp/www
    <Directory  "D:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

L'amender pour 

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot D:/wamp/www
    <Directory  "D:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

J'espère que vous aurez créé un hôte virtuel pour votre projet et que vous n'utiliserez pas le dossier wamp\www pour votre site. Dans ce cas, laissez la définition localhost seule et apportez la modification uniquement à votre hôte virtuel.

3.N'oubliez pas de redémarrer tous les services de Wamp ou Apache après avoir effectué cette modification

0
Hassan Saeed