Hosts - Access local website with external device - apache

After hours of searching and googling I've still not found anything so I decided to ask here.
I've set up a virtual host called test.dev. This means that I can have access one of my local XAMPP projects by typing that to an address bar. The set up is following:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/test"
ServerName test.dev
<Directory "C:/xampp/htdocs/test">
Options Indexes FollowSymLinks ExecCGI Includes
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
It works perfectly fine on my local computer but if I want to access it using an external device connected to a same network, it doesn't.
The question is how should I set up my hosts - file in order to have access to that project with external devices?
I've tried with following:
192.168.0.10 test.dev # Ip address
127.0.0.1 test.dev # Local address
But it only works on my local computer. Is it even possible to target same server name twice on different IP's?
E: I figured it out! For all of those wondering the same as I was, here's the answer to get it work on all devices that are connected to a same network.
Install NPM
With NPM, install grunt
Install grunt-localtunnel-me
After installing, start it with command: lt --port 80 --subdomain "name of the wanted subdomain"

First of all you have to verify following thing if its working or not.
Make sure that your port 80 is open for all. Check your windows firewall. If you want to allow everyone to access port 80 then follow instruction list here
Allow xampp-apache is accessible from outside. you can follow instruction from here
If you above steps fails then share some screen shot with error messages.

Related

wamp server 3.0 virtual host on another device

I am trying to view my site on other devices, mainly mobile devices. I am using Wampserver 3.0 with apache 2.4.17. I am also using the virtual host feature built in wampserver to view my site and my code is not in the wamp64\www\ folder, instead it is in my documents folder. I have been able to allow other devices view the wampserver default page but whenever I go to my website i get "fitly's server DNS address could not be found"
Here is the httpd-vhosts.conf file
<VirtualHost *:80>
ServerName localhost
DocumentRoot C:/wamp64/www
<Directory "C:/wamp64/www/">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName fitly
DocumentRoot c:/users/juan/documents/fitly
<Directory "c:/users/juan/documents/fitly/">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
This is a solution I have used in the past. Although I admit there must be other
ways, none that I have found are quicker/easier to implement.
Here is another way, without using Fiddler
The basic problem is of course that we cannot address our Virtual Host by name from a mobile device, even when it is wifi connected to our routers subnet, because the devices browser does not know where to find our Virtual Hosted domain name when we try and use it.
As most if not all mobile devices are locked down and assuming like me you dont want to have to jailbreak all your test devices, we cannot take the easy option of adding our Virtual Host's name to a devices HOSTS file, which of course does exists, but we are prevented by the devices security from accessing it.
So I use Fiddler to create a reverse proxy on the Server PC so I can use a website address like 192.168.1.10:8888 (my web server PC's ipaddress and a port number) and get Fiddler to capture that address and convert it to http://fitly and pass that on to Apache which will then correctly find my development Virtual Hosted site.
For this you will need to install Fiddler which can be found here and is free
First make sure that your Virtual Hosted domain works properly on the PC running WAMPServer(Apache).
Then make these amendments to the Fiddler config, dont worry its quite simple. Here are the instruction on how to do that on the Fiddler Site which are basically
Click Tools > Fiddler Options. Ensure Allow remote clients to connect is checked.
Click Tools > Fiddler Options, and ensure the "Allow remote clients to connect" checkbox is checked.
Restart Fiddler if prompted.
Click Rules > Customize Rules.
Inside the OnBeforeRequest handler*, add a new line of code:
if ( oSession.host.ToLower() == "192.168.1.2:8888" ) {
oSession.host = "fitly";
}
192.168.1.2 being the ip address of the PC running Apache i.e. the IP Address of the PC we have installed WAMPServer(Apache) and Fiddler.
Using the device, go to http://192.168.1.2:8888. Fiddler should now capture that address and forward it on to Apache using the domain name of your Virtual Host so Apache can see it and pass you to the right site, similiarly responses will be sent back to the device that made the call.
Of course you can use any port number you like it does not have to be 8888.
You will also find Fiddler very useful for debugging many issues with your website, so dont assume its just a reverse proxy alone.

Can't access apache from Internet

It must be a common question but I've not found any appropriate answer:
I have a website on apache server running in my office LAN. I can view pages from all computers (even smart-phones via Wifi).
All computers are connected to a router (with static IPs) which supports port forwarding.
I forwarded the routers port 8080 to the internal IP 192.168.1.5:80 which is the apache box (xubuntu 14.04).
The problem is that when I try to view the site from the internet, I always get connection refused response. I tried the http://www.canyouseeme.org but still the response is the same. This happens both when I try from my LAN->Internet->Router->Apache or directly from home Internet->Router->Apache.
I know (rather suspect) that the routed does its job because if I hit the external static IP:80 I get into its interface while when I hit IP:8080 I get the connection refused response. Canyouseeme agrees (it times out as it's waiting for a password).
Funny(?) thing is that I have not installed a firewall and the apache2.conf is the default.
Can somebody help?
Finally it is all clear; my ISP didn't allow to set the routers firewall so every setting I made was void.
So to recap first make sure that your ISP is really forwarding your ports.
However I couldn't up my site (zoneminder app) so I write down the solution in case someone else finds it useful:
First of all I assume that Apache is running without problems with the default settings. In case that you want to make a site (in your system you'll see directory) available as the root site of your apache serer, you must create a "rule" for apache:
First copy the 000-default.conf file that lies in /etc/apache2/sites-available/ directory (in Ubuntu systems) by executing
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mysite.conf
The mysite.conf file will be a setting for virtual host and you will need to add/change contents accordingly with:
DocumentRoot /my/site/directory
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /my/site/directory/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Don't forget to change (if needed) the port apache is listening to by editing the /etc/apache2/ports.conf.

WAMP - World Wide Access

I have installed WAMP on my computer running Windows 7. The Apache is running on port 80. I am searching here and there and everybody has its own solution. None of it fulfil the requirement.
Information:
Local IP: 192.168.15.52
External IP: 139.190.233.170 (Collected from whatsmyip.org)
Changed httpd.conf file:
ServerName 139.190.233.170:80
DocumentRoot "c:/wamp/www"
<Directory "c:/wamp/www">
Options Indexes FollowSymLinks
AllowOverride All
Order Deny,Allow
Allow from all
</Directory>
I have also added some rule for port 80 in Windows Firewall and also forward port for my LAN IP. Here is the pic:
Nothing happens after all that. Clicking "Put Online" and watching it to go green, nothing happens. I can access www directory by either localhost IP address (127.0.0.1) or my LAN IP address (192.168.15.152).
Questions:
Is it really possible to put WAMP for world wide access?
If it is possible, then how?
I have been searching around but none of them works. I have also searched SO:
Unable to access wamp server from outside my computer
How can i put my WAMP online for someone to access?
e.t.c
Some external sites:
http://www.computerforums.org/forums/server-administration/wamp-server-wont-work-outside-lan-help-207071.html
http://answers.yahoo.com/question/index?qid=20091005091249AAQrHxR
http://wordpress.org/support/topic/problem-accessing-wp-externally-using-wamp
http://wordpress.org/support/topic/self-hosted-wp-wamp-server-not-connecting-externally
http://webhosting.bigresource.com/WAMP-Access-Website-with-my-WAN-IP-pg1Bh4bJ.html
http://guides.jlbn.net/setaccess/setaccess1.html
It is possible, yes.
I would suggest momentarily disabling the firewalls, trying the connection and seeing if it works. If it does, you know it's firewall - turn windows one on and the other one by one to eliminate them. If it doesn't, you know you have issues.
Remember to run httpd -t from the command prompt to verify that your config is free of errors and of course make sure you restart apache and the W is green in the task bar. Make sure it actually is restarting, too - as some times things like mail servers (hMailServer I am particularly aware of) can stop it happening. In this case you need to restart the wampapache service from the services control panel (Start > services.msc).
Here's some extra info though, as you might be better setting up dynamic DNS. I use DynDNS and have the following vhosts conf:
<VirtualHost *:80>
ServerName mysite.dyndns.org
DirectoryIndex index.html index.php
DocumentRoot /home/mysite/
<Directory /home/mysite/>
AllowOverride All
Allow from All
</Directory>
# some logging stuff I cut out here
</VirtualHost>
Put that in mysite.conf inside c:/wamp/bin/apache/Apache2.2.21/conf/virtual. The mysite.dyndns.org is the host I have set up at dyndns. Finally, to make virtual hosts work, add this to your httpd.conf:
NameVirtualHost *:80
Include "c:/wamp/bin/apache/Apache2.2.21/conf/virtual/*.conf"
Now, if it still doesn't work you you probably have other issues. Can you telnet on port 80 to that above address? See above firewall issues.

How to use xip.io with several virtualhosts and server names? (local dev)

Is it possible to use xip.io to access local website when using virtualhosts with different server names? (I'm on linux, fedora).
For instance, let's say I have 3 websites I can access locally like so:
- http://localsite1
- http://localsite2
- http://localsite3
I would like to access them with other devices via xip.io:
- http://localsite1.192.168.0.15.xip.io
- http://localsite2.192.168.0.15.xip.io
- http://localsite3.192.168.0.15.xip.io
I can't figure out how to make this work, is it even possible?
Yes, it should be possible. I think you can have as many localsite domains as you want to manage. Check your hosts and httpd-vhosts.conf files.
A server alias in my /etc/apache2/extra/httpd-vhosts.conf works for me. I use a * instead of the current IP in my Network Preferences.
Remember to restart the Apache server after you make a change.
For example, my current local IP from the Mac OS System Preferences > Network says: Wi-Fi is connected to Workalicious2011 and has the IP address 10.0.1.118.
So my /etc/apache2/extra/httpd-vhosts.conf file has the following:
# Ensure that Apache listens on port 80
Listen 80
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "/Users/davekaplan/Sites/workalicious.com"
ServerName dev.workalicious.com
ServerAlias dev.workalicious.com.*.xip.io
ErrorLog "/private/var/log/apache2/dev.workalicious.com-error_log"
CustomLog "/private/var/log/apache2/dev.workalicious.com-access_log" common
</VirtualHost>
And my /etc/hosts file has:
##
Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
127.0.0.1 dev.workalicious.com
On my local network I am able to browse to the following and see my local development site:
http://dev.workalicious.com.10.0.1.118.xip.io/
I have a similar problem where I'm working on one mac and want to test on computers and other devices. Using .xip.io works great when you don't have access to a hosts file, on say a tablet.
If you have access to your hosts file on the computer you can add the IP of the local development host computer and just browse to the same url. It's great for PCs or other Macs. For example, I would add 100.0.1.118 dev.workalicious.com to the testing computer's hosts file and as long as I'm on the local network I can browse to dev.workalicious.com on that testing computer and see the site hosted over on the development computer.
Another approach that I used before .xip.io is Charles, it works great and there are some good blog posts out there on how to setup. It's currently $50 for a 1-4 Users.
( I'm working on try to figure out how to use Pow and Apache for a similar approach, but I don't think it works outside the local development machine. )
for me, server alias work.
ex:
<VirtualHost *:80>
<Directory "/home/michelangelo/www/mysite">
Options Indexes FollowSymLinks
Order allow,deny
Allow from all
</Directory>
ServerAdmin michelangelo#mystie.com
DocumentRoot /home/michelangelo/www/mysite
ServerName mysite.local
ServerAlias mysite.local.192.168.0.6.xip.io
ErrorLog /home/michelangelo/public_html/logs/mysite_error_log
CustomLog /home/michelangelo/public_html/logs/mysite_access_log common
</VirtualHost>
tested on lubuntu
I was working on my project today and got stuck for a while but I've found a really easy setup which works like a charm.
You setup your virtualhost as you used to (do not have to use the alias xip.io at all tried it today)
Here comes the interesting part, when you edit host hosts file, enter your assigned local IP number before your domain name, e.g. 192.168.10.110 myawesomewebsite.com - which you can access at myawesomewebsite.com.192.168.10.110.xip.io

Cannot access wamp server on local network

I want to host a website on my local network. For some reason I can only access wamp in my local computer.
I have 2 computers in my network. Both computer A and computer B have wamp server installed. when I type the ip address of computer A from computer B I am able to connect to it. But when I do it the other way around it does not work! In other words when I type the ip address of computer B from computer A the browsers says: server at 192.168.0.120 is taking to long to respond.
Things that I have done in order to solve the problem on computer B: (remember I want to connect to computer B from computer A)
1) turn off the firewall
2) Uninstall wamp and reinstall it.
3) turn off the anti-virus.
4) turn off windows firewall
5) Place wamp online and after putting it online restart all services
after doing all those steps I still cannot connect to it from computer B!
I have not chaged any ini file plus I have uninstall it and install it again so why is it not possible to connect to it!? I have used wamp for the last 3 years and I have never experienced this.
Also wamp is the only web server that I have installed on this computer. I don't have IIS nor any other web server installed on my computer.
Turn off your firewall for port 80 from any address. Turn off 443 if you need https (SSL) access. Open the configuration file (http.conf) and find the lines that say:
Allow from 127.0.0.1
Change them to read
Allow from all
Restart the wampserver. It will now work. Enjoy!!
Perhaps your Apache is bounded to localhost only. Look in your apache configuration file for:
Listen 127.0.0.1:80
If you found it, replace it with:
Listen 80
Then restart Apache.
(More info about Apache Binding)
1.
first of all
Port 80(or what ever you are using) and 443 must be allow for both TCP and UDP packets. To do this, create 2 inbound rules for TPC and UDP on Windows Firewall for port 80 and 443.
(or you can disable your whole firewall for testing but permanent solution if allow inbound rule)
2.
If you are using WAMPServer 3 See bottom of answer
For WAMPServer versions <= 2.5
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
Order Allow,Deny
Allow from all
if "Allow from all" line not work for your then use "Require all granted"
then it will work for you.
WAMPServer 3 has a different method
In version 3 and > of WAMPServer there is a Virtual Hosts pre defined for localhost so 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>
Note:if you are running wamp for other than port 80 then VirtualHost will be like VirtualHost *:86.(86 or port whatever you are using) instead of VirtualHost *:80
3.
Dont forget to restart All Services of Wamp or Apache after making this change
go Setting -> General and change url in WordPress Address (URL) and Site Address (URL)
enter your pc name or your ip address in place of localhost
before : http://localhost/wordpress-test
after : http://your-pc-name/wordpress-test
...and that's it..you can access wordpress from any pc in your LAN...!!!
I had to uninstall my anti virus! Before uninstalling I clicked on the option where it said to disable auto-protect for 15 min. I also clicked on another option that supposibly disabled the anti-virus. That still was blocking my server! I don't understand why Norton makes it so hard to literally stop doing everything it's doing. I know I could had solve it by adding an exception to the firewall but Norton was taking care of windows firewall as well.
Wamp server share in local network
Reference Link: http://forum.aminfocraft.com/blog/view/141/wamp-server-share-in-local-netword
Edit your Apache httpd.conf:
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
#Deny from all
and
#onlineoffline tag - don't remove
Order Deny,Allow
Allow from all
#Deny from all
to share mysql server:
edit wamp/alias/phpmyadmin.conf
<Directory "E:/wamp/apps/phpmyadmin3.2.0.1/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order Deny,Allow
#Deny from all
Allow from all
I had the same issue, tried all nothing works, following works for me
Following is what i had
#onlineoffline tag - don't remove
Require local
Change to
Require all granted
Order Deny,Allow
Allow from all
I know this is an old post BUT I have been having problems getting WAMP server seen on my windows 7 pro network for days, tried all of the solutions offered (including changing windows system files) but still not working. finally in pure desperation I put everything on the system back as it was and installed WAMP Server on a different drive (E:\WAMP ) in my case. The result was it worked perfectly first time with no editing configs or messing with the system. Other users may wish to try this before reaching the 'tear your hair out stage', it certainly saved my sanity or what I have left of it
I hope this helps someone
Dave
If you are using wamp stack, it will be fixed by open port in Firewall (Control Pannel). It work for my case (detail how to open port 80: https://tips.alocentral.com/open-tcp-port-80-in-windows-firewall/)
I had the same problem but mine worked fine. Turn off your firewall, antivirus. Make sure your port 80 is enabled and both pcs are set to be remotely accessed. In each pc under users, add new user using the host ip address of the other pc. Restart all services. Put your wampserver online. It should connect