I want a certain person to access my PHP program (connected to a MySQL database) but we live in different places. Is it possible for her to access my Wamp Server if we are connected to different internet connections? I got it to work with someone but we were connected to the same WiFi.
You need at least one connection between both LAN network either LAN or WAN.
You need to edit apache config file vhost access permission to "Allow from All".
Once you do that go to server's network router and forward all port 80,443 and 3306 traffic to wamp server's IP address it.
Now you can access wamp server directly by using WAN IP of server's network.
You'd basically have two options to make it visible to her:
Make your web server visible from the Internet which has lots of
security implications and might require you to use a custom port
since most ISPs block incoming requests on port 80. You would have to set up port forwarding in your router to point to your web server.
Set up a VPN server that she could connect to, which would also need to be port forwarded in your router. This also has security implications but would likely result in much fewer attacks.
Hi
I an using a VPS with Windows Server 2012 R2 hosting. I have to deploy web sites on both the IIS and WAMP.
IIS is running on port 80 (default), while I have changed the WAMP port to 81.
I can access my my sites as follows:
I access my IIS hosted sites as:
www.myIISSite.com
while I access my WAMP-hosted sites as:
www.myWAMPSite.com:81
My question is , how can I get rid of :81 after www.myWAMPSite.com while still using both the IIS and WAMP?
Is this possible?
Thanks in advance.
**Thanks for your response. As I asked the same question from my service provider, they told me to purchase an additional IP address for that purpose. I wonder why can't I hide port from the user, i.e. why does the user have to type in port number? While I was working on an open source project where I had to host both the Tomcat server files as well as PHP files, the tomcat server was running on port 8080 on Ubuntu 10 server and I didn't have to type in the port 8080 while opening the jsp pages.
Thanks a lot for your answer anyways.
**
I have set up a websockets chat with the purpose of learning. Everything is working but I can't figure this issue out.
When I supply 127.0.0.1 as the address of the connection on the client side then I can access the server from the computer that's hosting it, but when I change the address to the actual LAN address of the hosting computer I can't connect the server even from the host itself. See:
Server = new FancyWebSocket('ws://127.0.0.1:9300'); Appears to work but only the computer that's hosting the server can connect ( for obvious reasons )
Server = new FancyWebSocket('ws://192.168.1.3:9300'); No computers can connect. I confirm 192.168.1.3 is the LAN address of the hosting computer.
What address do I need to put in there so that other computers from my local network can connect?
I solved the problem. Since it was a combination of two answers I thought the only fair thing to do was add another answer with an explanation.
As #Mehran suggested, I have had the server address set up as 127.0.0.1 instead of the network address. After changing that to 192.186.1.3 I was able to connect from the server itself, but other machines were unable to connect. Then I did the steps from the guide provided in #vtortola's answer to add a new inbound rule into the server's firewall in order to allow that port to be used.
So finally it all works now, thank you very much for helping me. +rep to everyone!
I'm pretty sure this is due to the configuration of your WebSocket server. It must be listening to localhost (127.0.0.1) to accept incoming connections in which case it won't answer to those aiming 192.168.1.3.
Since you didn't mention which server you are using I can not be specific but in general there are two ways to instantiate a listening socket, binding it to a specific IP address or * to bind whatever addresses system has. You need to configure the later if you intend to answer server connections coming from any computer within your LAN.
It looks like a Firewall/Policies issue to me.
IIS 7 Windows 2008, Localhost work but not local ip or external ip
Your TCP 80 could be allowed because the IIS installation will open it, that will explain why normal web browsing works. But you are trying to connect to the TCP 9300, that is very unlikely that is allowed by default.
Give a try to this: How to Open a Port in the Windows 7 Firewall , and allow that port.
Here are some things that you can safely assume while troubleshooting this issue:
If the service is able to work on 127.0.0.1 on the same machine, you can assume that the problem is not in the code or the PHP configuration
If you are not receiving an error when the server tries to bind to 192.168.1.3:9003 you can safely presume that the service is working. Try opening the Resource Monitor to see if it is actually listening on this port to confirm. To do so, go to 'Start Menu' in Windows and type 'Resource Monitor' in the 'Search programs and files' box. After opening the Resource Monitor, click the 'Overview' tab and find the name of the server process (typically 'php' if your using a CLI). With your process selected, switch over to the 'Network' tab and you will be able to see if it is listening on any ports within the 'TCP Connections' panel. This will show you what address and port it is listing on, as well as the remote address and port of any clients connected to the service.
If you know the server is running, and you know that it is actively listening on the expected address and port, it is very likely a firewall issue within Windows or your router. Note that even though 192.168.1.3 is the IP assigned to your interface, this is not a local IP and all communication to and from 192.168.1.3 will still go through the Windows firewall, including if being sent on the same machine. If your already at this point, I would strongly suggest checking your windows firewall first. If it is not the Windows firewall, check your router to see if it is blocking the port, and also check port forwarding and other setting to make sure that the router isn't otherwise interfering. We can likely help you with router issues here, but have your router's manual handy.
HTTP is a common service port so it is very possible that the router is not blocking the port, and windows may have automatically opened it if you are using IIS. 9300 is not a common port so it is unlikely to be open by default under any situation, unless your default is "all in", which effectively means your not using a firewall.
Another thing you might try (if possible) is closing your existing HTTP service and bind to port 80 using your Websocket service, or if possible (and while exercising caution) turn off your windows firewall completely to see if it works long enough to connect.
In general, don't try to reach your local network IP address from your own machine. There are very confusing things that happen at the socket layer here that I'll try not to delve too far into. The OS goes out of its way to make this work. Sometimes. I would expect that you cannot reach 192.168.1.3 (the server I'm assuming) from itself. There's a translation between local endpoint addresses when you do that which complicates everything.
A network switch will typically not send a frame back down a port it just received it from, so what you're seeing when you ping your local IP in cmd prompt is a loopback shortcut the OS is taking.
Not being able to reach it from another machine causes me suspect that the socket is not bound correctly on the server. Double check that you are explicitly declaring the socket on the server (address and port), and that your're binding your listener to that socket. Also ensure that the address you're binding to is for the correct network adapter. I see this all the time with laptops or machines that have multiple connected adapters.
Unfortunately I cannot be more targeted with my response as I am unfamiliar with what a FancyWebSocket is or how it is constructed.
I can help you if its a linux system.
If there is no name server on the local network, it is still possible to establish a small table mapping IP addresses and machine hostnames in the /etc/hosts file, usually reserved for local network stations.
This file is available even during network outages or when DNS servers are unreachable, but will only really be useful when duplicated on all the machines on the network. The slightest alteration in correspondence will require the file to be updated everywhere. This is why /etc/hosts generally only contains the most important entries.
This file will be sufficient for a small network not connected to the Internet, but with 5 machines or more, it is recommended to install a proper DNS server.
Try adding all the 'ip:port' along with a hostname and copy the template in file /etc/hosts in all the system.
Hope it resolves the issue!
I have two sites. One is remote (online) and another localhost (on my developer machine).
The remote site in on dedicated IP address XXX.XXX.XXX.XXX and the localhost machine is public IP YYY.YYY.YYY.YYY. The remote site is a wesite running online like any other internet site.
Both remote and local machine are running mysql db and PHP.
What I need is to have the remote site (on the internet, IP address XXX.XXX.XXX.XXX) connect to my local machine (with the public IP YYY.YYY.YYY.YYY) when some specific webscripts are run by visiters to my website.
How do I establish a connection to my localhost from the remote website using PHP?
Please note that I'am asking for the opposite of normal practice of having a local machine connect to a remote machine.
You will need to configure port forwarding or a DMZ on your router. Port forwarding on port 80 will probably be easiest and more secure (it'll stop web traffic on other ports connecting to your PC which a DMZ would otherwise allow).
The process for setting up port forwarding differs from router-to-router, but it should be relatively easy to find in your router's admin panel. Find the private IP of your PC and, in your router's config, set up so all requests on port 80 to forward to the PC's internal IP.
Actually I'm making a web project using Wamp server, and to run the same I access it using the usual local-host address, as we do while building a project on our PC. But to share my project with my friends, I want to make access using the IP address of my computer.
But when I make such an access it is not able to connect, which is not the case with my friend's project.
After I failed accessing using the Wamp Server, I installed Xamp Server, the project can be accessed using local host with both the servers (running one at a time) but not when accessed using my PC's IP address (which I find using http://www.whatismyip.com/)
Please Help me Sort out the problem, so that I can share my project with my friends and get a feedback from them.
First check the Listen directive in apache's configuration file (usually httpd.conf). If it only listens on 127.0.0.1 then it can not be accessed on your network interface.
You can also check it with:
netstat -na
You should see that port 80 is litening on all interfaces as somthing like:
Proto Local Address Foreign Address State
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
If this is the case then you should check the access to your port 80 from the outside world. First of all firewalls can block the access to it. If you are behind a NAT (router) then you should use it's port forwading settings to open port 80 (or other arbitrary port) on the router an forward it to the port 80 on your PC.