Can't access apache web apps locally using IP

2019-05-21 00:08发布

问题:

I installed Wamp Server on Windows 8. I then installed a php web application. I can access it by going http:// localhost/webapp or http:// localhost/phpmyadmin

I want to be able to access this web app from different computers on the same network.

The problem is when I try to visit my web app via this http:// 192.168.133.221/webapp (which is my local ip address) or http:// mypc/webapp (which is my PC's name) - I get the following error

403 Forbidden You don't have permission to access /fengoffice on this server.

I have disabled both windows firewall and Kaspersky's firewall but still getting the same error.

Any advise?

回答1:

Salim was on the right track, but he is rather giving away all the crown jewels.

Do not make this change to httpd.conf as it is not necessary to open the wamp home folder up to the world! As this would allow access to your new site, but also any other site you may then want to develop in another folder below c:\wamp\www.

<Directory "C:/wamp/www">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

Replace it with the original, like this

<Directory "C:/wamp/www">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order Deny,Allow
       Deny from all
</Directory>

To allow your one site to be accessed from just your internal network, do this. Under the previous section add a new <Directory> block. ( change the folder name webapp as appropriate for your directory name )

<Directory "C:/wamp/www/webapp">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order Deny,Allow
       Deny from all
       Allow from 127.0.0.1 localhost ::1
       Allow from 192.168.133
</Directory>

This will allow access from the PC running WAMP AND any ip address on your subnet i.e. all the PC's inside your router. BUT NOT THE WORLD!

You can be more specific if you want and add as many individual IP address's as are required by:

Allow from 192.168.133.1 192.168.133.2 192.168.133.3

Now to allow access to phpMyAdmin from your internal network we use the same idea in the config for phpMyAdmin

Edit c:\wamp\alias\phpmyadmin.conf and make simpliar changes.

<Directory "c:/wamp/apps/phpmyadmin4.0.6/">
   Options Indexes FollowSymLinks MultiViews
   AllowOverride all
    Order Deny,Allow
        Deny from all
        Allow from 127.0.0.1 ::1 localhost
        Allow from 192.168.133
</Directory>

This way when you decide to open up your router to the world ( port forward port 80 ) so your site is visible to friends/the world you can change the section of code that relates to your sites folder i.e. C:/wamp/www/webapp but external users will not be able to access your wamp homepage or more inportantly your phpMyAdmin and therefore ALL your databases.

And one final thing, you will also have to change the MYSQL userid that you are using ( probably root, although it would be better to create another userid ) so that it is allowed access from a PC that is not on the main WAMP PC. This may help you with that Add host to mysql user

EDIT: Apache 2.4.x Equivalents

No longer required

 Order Deny,Allow

Replece:

Allow from 127.0.0.1 ::1 localhost

with

Require local

Replace:

Allow from 192.168.133

with

Require ip 192.168.133

Replece:

Allow from all
with
Require all granted


回答2:

Without 127.0.0.1 from all IP address your Apache server is forbidden to access.

Open httpd.conf(Apachee config file) file from where you have installed Wamp Server and see in this file

<Directory "C:/wamp/www/">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
</Directory>

And

<Directory "c:/wamp/apps/phpmyadmin3.4.5/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
</Directory>

C:/wamp/www will be as your installed location

Change it to

<Directory "C:/wamp/www">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

And

<Directory "c:/wamp/apps/phpmyadmin3.4.5/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

And restart service.