J'ai téléchargé et installé XAMPP 1.8.1 pour Windows sur Windows 7 Ultimate. J'ai configuré XAMPP pour s'exécuter avec IIS conformément à ces instructions
Jusqu'ici, tout va bien, mes sites PHP fonctionnent localement et tout, sauf phpMyAdmin, est disponible dans le menu XAMPP.
Cependant, lorsque j'essaie d'accéder à phpMyAdmin, le message d'erreur suivant s'affiche:
Accès interdit!
Nouveau concept de sécurité XAMPP:
L'accès au répertoire demandé est uniquement disponible à partir du fichier local réseau.
Ce paramètre peut être configuré dans le fichier "httpd-xampp.conf".
J'ai trouvé plusieurs réponses via Google et certaines sur ce site. Cependant, jusqu'à présent, aucune des solutions que j'ai essayées n'a résolu le problème.
Voici mon fichier httpd-xampp.conf:
#
# XAMPP settings
#
<IfModule env_module>
SetEnv MIBDIRS "C:/xampp/php/extras/mibs"
SetEnv MYSQL_HOME "\\xampp\\mysql\\bin"
SetEnv OPENSSL_CONF "C:/xampp/Apache/bin/openssl.cnf"
SetEnv PHP_PEAR_SYSCONF_DIR "\\xampp\\php"
SetEnv PHPRC "\\xampp\\php"
SetEnv TMP "\\xampp\\tmp"
</IfModule>
#
# PHP-Module setup
#
LoadFile "C:/xampp/php/php5ts.dll"
LoadModule php5_module "C:/xampp/php/php5Apache2_4.dll"
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
#
# PHP-CGI setup
#
#<FilesMatch "\.php$">
# SetHandler application/x-httpd-php-cgi
#</FilesMatch>
#<IfModule actions_module>
# Action application/x-httpd-php-cgi "/php-cgi/php-cgi.exe"
#</IfModule>
<IfModule php5_module>
PHPINIDir "C:/xampp/php"
</IfModule>
<IfModule mime_module>
AddType text/html .php .phps
</IfModule>
ScriptAlias /php-cgi/ "C:/xampp/php/"
<Directory "C:/xampp/php">
AllowOverride None
Options None
Require all denied
<Files "php-cgi.exe">
Require all granted
</Files>
</Directory>
<Directory "C:/xampp/cgi-bin">
<FilesMatch "\.php$">
SetHandler cgi-script
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler None
</FilesMatch>
</Directory>
<Directory "C:/xampp/htdocs/xampp">
<IfModule php5_module>
<Files "status.php">
php_admin_flag safe_mode off
</Files>
</IfModule>
AllowOverride AuthConfig
</Directory>
<IfModule alias_module>
Alias /security "C:/xampp/security/htdocs/"
<Directory "C:/xampp/security/htdocs">
<IfModule php5_module>
<Files "xamppsecurity.php">
php_admin_flag safe_mode off
</Files>
</IfModule>
AllowOverride AuthConfig
Require all granted
</Directory>
Alias /licenses "C:/xampp/licenses/"
<Directory "C:/xampp/licenses">
Options +Indexes
<IfModule autoindex_color_module>
DirectoryIndexTextColor "#000000"
DirectoryIndexBGColor "#f8e8a0"
DirectoryIndexLinkColor "#bb3902"
DirectoryIndexVLinkColor "#bb3902"
DirectoryIndexALinkColor "#bb3902"
</IfModule>
Require all granted
</Directory>
Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
<Directory "C:/xampp/phpMyAdmin">
AllowOverride AuthConfig Limit
Order allow,deny
Allow from all
Require all granted
</Directory>
Alias /webalizer "C:/xampp/webalizer/"
<Directory "C:/xampp/webalizer">
<IfModule php5_module>
<Files "webalizer.php">
php_admin_flag safe_mode off
</Files>
</IfModule>
AllowOverride AuthConfig
Require all granted
</Directory>
</IfModule>
#
# New XAMPP security concept
#
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
Order deny,allow
Allow from all
Require all granted
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
Est-ce que quelqu'un a une idée de ce qui me manque?
Tout ce que vous avez à faire est d’éditer le fichier httpd-xampp.conf
from Requiert local à Requiert tous les droits accordés dans la balise LocationMatch.
C'est tout!
Dans New Xampp
Tout ce que vous avez à faire est d’éditer le fichier:
C:\xampp\Apache\conf\extra\httpd-xampp.conf
et allez à la balise Directory comme ci-dessous:
<Répertoire "C:/xampp/phpMyAdmin">
et ensuite changer
Exiger local
À
Exiger tout accordé
dans la balise Directory.
Redémarrez le Xampp. C'est tout!
Exiger que tout soit accordé semblait un peu trop loin pour moi. En regardant la documentation que j'ai utilisée: Require ip 192.168
pour autoriser tous les accès internes.
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
Require local
Require ip 192.168
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
Require all granted
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
Bonne chance!!!!
Vous devrez éditer 2 fichiers - 1. httpd-vhosts.conf & 2. httpd-xampp.conf
REMARQUE: Assurez-vous que les fichiers de sauvegarde (httpd-xampp.conf) et ( Httpd-vhosts.conf) sont situés dans Lecteur:\xampp\Apache\conf\extra
Ouvrez le fichier httpd-vhosts.conf et changez-le en bas du fichier.
<VirtualHost *:80>
DocumentRoot “E:/xampp/htdocs/”
ServerName localhost
<Directory E:/xampp/htdocs/>.
Require all granted
</Directory>
</VirtualHost>
Ici, E:/xampp est l’espace de travail de mon projet, vous pouvez le modifier selon vos paramètres.
et Second Change est sur le fichier httpd-xampp.conf et changez-le au bas du fichier.
#
# New XAMPP security concept
#
<LocationMatch “^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))”>
Order deny,allow
Allow from all
Allow from ::1 127.0.0.0/8
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
Essayez de réinstaller la nouvelle version de XAMPP. Trouvez "<Directory "C:/xampp/php">
" puis changez pour quelque chose comme ceci
<Directory "C:/xampp/php">
AllowOverride AuthConfig Limit
Order allow,deny
Allow from all
Require all granted
</Directory>
Mettez en commentaire la ligne Require local dans httpd-xampp.conf.
Redémarrez Apache.
Travaillé pour moi en connectant mon téléphone portable au site Web de test sur mon PC Aucune idée des conséquences en termes de sécurité.
il suffit de retirer:
Alias /phpmyadmin "C:/xampp2/phpMyAdmin/"
<Directory "C:/xampp2/phpMyAdmin">
AllowOverride AuthConfig
Require all granted
</Directory>
et retirez phpmyadmin de:
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|server-status|server-info))">
Certaines réponses sont correctes, mais si vous travaillez avec un nouveau xampp ou avec un autre qui ne fonctionne pas, essayez ceci:
il suffit d'aller dans le dossier xampp:
xampp/Apache/conf/extra/httpd-xampp.conf
et si vous essayez d'accéder à partir de l'adresse IP locale de votre réseau, changez-le,
Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
<Directory "C:/xampp/phpMyAdmin">
AllowOverride AuthConfig
Require local
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory>
Changer pour:
Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
<Directory "C:/xampp/phpMyAdmin">
AllowOverride AuthConfig
Require all granted
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory>
Note: ceci est juste pour le texte, pour la sécurité du xampp a une recherche ....
Pour accéder au répertoire demandé autre que le réseau local, vous devez modifier le XAMPP security concept
Configuré dans le fichier "httpd-xampp.conf".
xampp\Apache\conf\extra\httpd-xampp.conf
Require Directive Sélectionne les utilisateurs authentifiés pouvant accéder à une ressource.
Syntaxe «
Require entity-name [entity-name] ...
De «Le concept de sécurité XAMPP permet uniquement l'environnement local - Require local
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
Require local
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
Pour «Le concept de sécurité XAMPP autorise tous les environnements - Exiger que tous soient accordés
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
Require all granted
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
Accès interdit! Message de la page HTML.
Autoriser la directive Contrôle les hôtes qui peuvent accéder à une zone du serveur.
Syntaxe «
Allow from all|Host|env=[!]env-variable [Host|env=[!]env-variable] ...
Autoriser uniquement l'environnement local. Utiliser l’une des URL spécifiées ci-dessous.
http://localhost/phpmyadmin/
http://127.0.0.1/phpmyadmin/
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
Order deny,allow
Deny from all
Allow from ::1 127.0.0.0/8 \
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
Autoriser uniquement les espaces d'adressage IPv4 , IPv6 spécifiés.
fe80::/10
Une adresse locale unique (ULA) est une adresse IPv6 dans le bloc fc00::/7
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
Order deny,allow
Deny from all
Allow from ::1 127.0.0.0/8 \
fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \
fe80::/10 169.254.0.0/16
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
Permettant n'importe quel adresse réseau . Autoriser de tous
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
Order deny,allow
Allow from all
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
404 - XAMPP Panneau de configuration: Impossible de démarrer le serveur HTTP Apache.
URL: http://localhost/xampp/index.php
Error «
Not Found
HTTP Error 404. The requested resource is not found.
Le port de serveur HTTP Apache par défaut requis 80 est actuellement utilisé par un autre service.
Vous devez rechercher le service qui fonctionne avec le port 80 et l'arrêter, puis démarrer le serveur HTTP Apache.
Utilisez Netstat pour afficher les connexions TCP actives, les ports sur lesquels l’ordinateur écoute.
C:\Users\yashwanth.m>netstat -ano
Active Connections
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 2920
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 1124
TCP 127.0.0.1:5354 0.0.0.0:0 LISTENING 3340
TCP [::]:80 [::]:0 LISTENING 2920
C:\Users\yashwanth.m>netstat -ano |findstr 2920
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 2920
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 2920
TCP [::]:80 [::]:0 LISTENING 2920
TCP [::]:443 [::]:0 LISTENING 2920
C:\Users\yashwanth.m>taskkill /pid 2920 /F
SUCCESS: The process with PID 2920 has been terminated.
Modifiez le port d'écoute à partir du fichier de configuration du serveur HTTP Apache principal, D:\xampp\Apache\conf\httpd.conf
. Ex: 81
. De Listen 80
À Listen 81
, l'URL d'accès sera http://localhost:81/xampp/index.php
.
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 0.0.0.0:80
#Listen [::]:80
Listen 80
Pour plus d’informations sur httpd and virtual Host on XAMPP
Une raison à cela pourrait être aussi Skype! Si vous utilisez les paramètres XAMPP par défaut, ils s'exécuteront tous deux sur le même port (80). Vous pouvez:
Dans votre fichier xampppath\Apache\conf\extra ouvert le fichier httpd-xampp.conf et recherchez la balise ci-dessous:
<LocationMatch "^/(?i:(?:xampp|licenses|phpmyadmin|webalizer|server-status|server-info))">
Order deny,allow
Deny from all
Allow from ::1 127.0.0.0/8
ErrorDocument 403 /error/HTTP_XAMPP_FORBIDDEN.html.var
et ajoutez Allow from all
après Allow from ::1 127.0.0.0/8 {line}
Redémarrez xampp et vous avez terminé.
Cela peut être dû à une mauvaise configuration, en particulier si vos sites autres fonctionnent correctement.
<VirtualHost cmsdemo.git:88>
DocumentRoot "C:/Projects/rwp/"
ServerName cmsdemo.git
<Directory C:/Projects/cmsdemo/>
Require all granted
AllowOverride All
</Directory>
</VirtualHost>
Avis dans DocumentRoot Je spécifie un dossier et dans Répertoire , je spécifie un autre d'où 403 Error. Cela a résolu mon problème.
J'ai tout essayé mais rien n'a fonctionné. Je viens donc d'utiliser: chmod -R 777 to htdocs. Au moins c'est seulement chez moi.
G:\xampp\Apache\conf\extra\httpd-vhosts.conf
#start block
NameVirtualHost *:80
<VirtualHost *:80>
ServerName localhost
#change your directory name
DocumentRoot "G:\xampp\htdocs"
</VirtualHost>
#Your vertual Host
<VirtualHost *:80>
DocumentRoot "G:/xampp/htdocs/dev2018/guessbook"
ServerName dev.foreign-recruitment
<Directory "G:/xampp/htdocs/dev2018/guessbook/">
</Directory>
</VirtualHost>
#end block
Ubuntu (Linux)
: - $ Sudo gedit /opt/lampp/etc/extra/httpd-xampp.conf
Comment "Deny from all" in the following section,
Changer de fichier
# New XAMPP security concept # <LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))"> Order deny,allow #Deny from all #Require local Allow from ::1 127.0.0.0/8 \ fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \ fe80::/10 169.254.0.0/16 ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
Si vous utilisez un XAMPP plus récent (par exemple pour PHP 5.6, 7), construit avec le programme d'installation "Bitnami" et incluant Apache 2.4.x, ceci s'applique:
https://httpd.Apache.org/docs/2.4/upgrading.html#run- time
2.2 configuration:
Order allow,deny
Allow from all
2.4 configuration:
Require all granted
Cela s'applique également aux sections VirtualHost, si vous avez des définitions virtualhost personnalisées.
Pour beaucoup, il s'agit d'un problème d'autorisation, 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 le signe ">" après la valeur de "action". Donc, je vous suggère de jeter un deuxième coup d'oeil à votre code