I know this question has been asked a lot of times
I followed Most of the answers in the internet But I still get the same Message
403 Forbidden
You don’t have permission to access / on this server.
It is weird that when I access using the same PC to localhost:1234
it runs normally but if I access using my IP address 192.168.0.188:1234
Also which is really weird is that I tried to install WAMP on other PC and without any configuration I could access to that PC.
So I thought it’s because McAfee and Firewall so I open port on Widows and McAfee and nothing changed also I turned off Firewall and still nothing change.
Then for no reason I opened port through the Router “port forwarding” and still nothing changed.
I don’t think that it’s because my configuration in WAMP since I am still able to get this 403 Forbidden
Message and also by using other PC without any configuration I could access it.
Both PCs are setup like this:
Windows 8 Pro
- WAMP Wampserver: 2.4
- Apache Version: 2.4.4
- PHP Version: 5.4.12
- MySQL Version: 5.6.12
The accessible PC uses Microsoft Security Essentials.
The inaccessible PC uses McAfee Internet Security.
I tried to turn off WAMP and start IIS For Microsoft Server (I works perfectly From any PC) but WAMP is still not not working
I followed these tutorial:
- How to Access WAMP Server in LAN or WAN
- Install & Setup Virtual Host Guide for WAMP
- Install & Setup LAN & Worldwide Access Guide for WAMP
And the Stack Overflow answers here:
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
If you are using WAMPServer 3 See bottom of answer
For WAMPServer versions <= 2.5
By default Wampserver comes configured as securely as it can, so Apache is set to only allow access from the machine running wamp. Afterall it is supposed to be a development server and not a live server.
Also there was a little error released with WAMPServer 2.4 where it used the old Apache 2.2 syntax instead of the new Apache 2.4 syntax for access rights.
You need to change the security setting on Apache to allow access from anywhere else, so edit your httpd.conf
file.
Change this section from :
# onlineoffline tag - don't remove Order Deny,Allow Deny from all Allow from 127.0.0.1 Allow from ::1 Allow from localhost
To :
# onlineoffline tag - don't remove Require local Require ip 192.168.0
The Require local
allows access from these ip’s 127.0.0.1 & localhost & ::1
.
The statement Require ip 192.168.0
will allow you to access the Apache server from any ip on your internal network. Also it will allow access using the server mechines actual ip address from the server machine, as you are trying to do.
WAMPServer 3 has a different method
In version 3 and > of WAMPServer there is a Virtual Hosts pre defined for localhost
so you have to make the access privilage amendements in the Virtual Host definition config file
First dont amend the httpd.conf
file at all, leave it as you found it.
Using the menus, edit the httpd-vhosts.conf
file.
It should look like this :
<VirtualHost *:80> ServerName localhost DocumentRoot D:/wamp/www <Directory "D:/wamp/www/"> Options +Indexes +FollowSymLinks +MultiViews AllowOverride All Require local </Directory> </VirtualHost>
Amend it to
<VirtualHost *:80> ServerName localhost DocumentRoot D:/wamp/www <Directory "D:/wamp/www/"> Options +Indexes +FollowSymLinks +MultiViews AllowOverride All Require all granted </Directory> </VirtualHost>
Hopefully you will have created a Virtual Host for your project and not be using the wampwww
folder for your site. In that case leave the localhost definition alone and make the change only to your Virtual Host.
Dont forget to restart Apache after making this change
Method 2
For Apache 2.4.9
in addition, look at the httpd-vhosts.conf file in C:wampbinapacheapache2.4.9confextra
<VirtualHost *:80> ServerName localhost ServerAlias localhost DocumentRoot C:/wamp/www <Directory "C:/wamp/www/"> Options Indexes FollowSymLinks MultiViews AllowOverride all Require local </Directory> </VirtualHost>
Change to:
<VirtualHost *:80> ServerName localhost ServerAlias localhost DocumentRoot C:/wamp/www <Directory "C:/wamp/www/"> Options Indexes FollowSymLinks MultiViews AllowOverride all Require all granted </Directory> </VirtualHost>
changing from “Require local” to “Require all granted” solved the error 403 in my local network
Method 3
I got this answer from here. and its works for me
Require local
Change to
Require all granted Order Deny,Allow Allow from all
Method 4
To expand on RiggsFolly’s answer—or for anyone who is facing the same issue but is using Apache 2.2 or below—this format should work well:
Order Deny,Allow Deny from all Allow from 127.0.0.1 ::1 Allow from localhost Allow from 192.168 Allow from 10 Satisfy Any
For more details on the format changes for Apache 2.4, the official Upgrading to 2.2 from 2.4 page is pretty clear & concise. Key point being:
The old access control idioms should be replaced by the new
authentication mechanisms, although for compatibility with old
configurations, the new modulemod_access_compat
is provided.
Which means, system admins around the world don’t necessarily have to panic about changing Apache 2.2 configs to be 2.4 compliant just yet.
Method 5
For those who may be running WAMP 3.1.4 with Apache 2.4.35 on Windows 10 (64-bit)
If you’re having issues with external devices connecting to your localhost, and receiving a 403 Forbidden error, it may be an issue with your httpd.conf and the httpd-vhosts.conf files and the “Require local” line they both have within them.
[Before] httpd-vhosts.conf
<VirtualHost *:80> ServerName localhost ServerAlias localhost DocumentRoot "${INSTALL_DIR}/www" <Directory "${INSTALL_DIR}/www/"> Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride All Require local <--- This is the offending line. </Directory> </VirtualHost>
[After] httpd-vhosts.conf
<VirtualHost *:80> ServerName localhost ServerAlias localhost DocumentRoot "${INSTALL_DIR}/www" <Directory "${INSTALL_DIR}/www/"> Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride All </Directory> </VirtualHost>
Additionally, you’ll need to update your httpd.conf file as follows:
[Before] httpd.conf
DocumentRoot "${INSTALL_DIR}/www" <Directory "${INSTALL_DIR}/www/"> # onlineoffline tag - don't remove Require local #<--- This is the offending line. </Directory>
[After] httpd.conf
DocumentRoot "${INSTALL_DIR}/www" <Directory "${INSTALL_DIR}/www/"> # onlineoffline tag - don't remove # Require local </Directory>
Make sure to restart your WAMP server via (System tray at bottom-right of screen –> left-click WAMP icon –> “Restart all Services”).
Then refresh your machine’s browser on localhost to ensure you’ve still got proper connectivity there, and then refresh your other external devices that you were previously attempting to connect.
Disclaimer: If you’re in a corporate setting, this is untested from a security perspective; please ensure you’re keenly aware of your local development environment’s access protocols before implementing any sweeping changes.
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0