How to get WAR file deployed online? - hosting

This might sound like a stupid question, but I have searched about it and couldn't find a clear answer, so I'm asking it here.
How do I get the WAR file online so I can access it from anywhere? I have a REST server in a war and I want to use it in an Android app so I need access to it from anywhere. Do I need a VPS? Can I host a VPS myself? I have searched about it but for some reason I can't find a clear instruction on how to do this.

Okay, here is what you need to do.
First of all, you will have to download and run a web server on your computer. I use tomcat6 or tomcat7. On Linux, "sudo apt-get install tomcat7". Then, "service tomcat7 start" in order to start the server, and "service tomcat7 stop" the server.
On your router (that faces the internet), you will have to port forward (not safe!) all the traffic from 8080 or 80 (whatever port your rest server is at), to go to the computer that is hosting the rest server. For a typical Linksys router, that means you have to log on to 192.168.1.1, and adjust the port settings. So, get the local IP address of your computer (usually IPV4), and forward all the traffic on port 8080 (on the external facing router) to go to this local IP address.
Now, copy the war to the webserver (for tomcat7, /var/lib/tomcat7/webapps.) Before you copy the war to this directory, be sure to COMPLETELY remove any old .war applications or folders with the same name.
Then, restart the server. You should be able to access the server using the external IP address of your router as the IP address. The external IP address will be listed on your router's homepage. Your external IP address will change over time-- if you want a static IP address, it would probably be best to find a commercial host or to purchase a static IP address from your ISP.

Related

Is it possible to install localhost server in one pc and to access on multiple computers on a same network.?

We are building php web application while i am a designers and my friend is developer we work on different pcs we want to test the file by runnig on localhost on both of our pc how can we reach it. I have gone through some of concepts in internet but didn't get proper info.
Yes. You need to create a firewall rule to allow access through whatever port you are serving on, probably 8080.
Here is how to create an inbound port rule in windows
Then they should be able to access your server by simply using your ip

Why is wamp Apache not allowing APIs to access my www folder?

I have a piece of code where an external API needs to access my "www" folder for images. When I load the url, "http://localhost:8001/images/1.jpg" from the browser, it does show the image. But when I access it through the code it says, "connection refused". I have turned off the firewall as well. I also tried using the IP address instead of the "localhost".That doesn't work either. Please help.
Remember the domain name localhost has a special meaning. It always means this PC, or more accurately this network cards loopback address.
I cannot access your PC from here using the domain name localhost, as it will always be looped back to my PC.
If you want an external site to make a call to your PC then there are a number of things you will have to do.
Buy yourself an domain name, you either buy a real one or use a Dynamic DNS service like dyndns.com or or noip.com
Or you use your routers WAN ip address.
Then you must amend the httpd.conf file so that Apache allows access
from all ipaddress's
Then you must Port Forward your Router so the the NAT firewall allows
external accesses on port 80 to be forwarded to the internal PC
running Apache, and only that PC.
And possibly amend your software firewall on the Apache PC to allow access from external sources on port 80

java socket server hosting

I am creating an android client app connected to a Java server using sockets. At the moment I am working both on my pc. How can I upload my Java server to an online server so I can set my app to friends and test it?
I used OpenShift but could figure our how and if I can use it for what I want.
Also I looked at Amazon ec2, but they need credit card information, something that I would prefer not sharing for this.
Is there any way I can do this for free?
Thanks
Make sure you have a computer able to connect to the internet, and that can run 24/7. Then run your server on that computer, assume you run it on port 8080. Make sure that your host computer's IP address is it to static, otherwise DHCP will give it a different IP every time it connects to the router.
To allow your friends to connect, unless if they're on the same LAN as your host, you will need to port forward port 80 -> ComputerIP:8080 on your router. Once that's done, you will need to retrieve your router's global IPv4 address from it's configuration page and then send that to your friends.
If they're on the same LAN as your host, then you can just give them the IP address of your host computer.
If you port forwarded your server and you would like to get a host name, like stackoverflow.com, you're going to need to buy that from whoever owns the host name you would like to use. I don't know many details about how to update the DNS servers though.
If your server is local and you would like a host name, then just go onto your router configurations page and tell it to automatically assign each computer the default gateway as the primary DNS and then add a mapping in the router's DNS settings to map the host name to your computer's local IPv4 address. Note that not all routers support this feature.
Edit: You'll also need a good bandwidth to support multiple simultaneous connections.

Red5 Problem with connecting from remote client

So I have this issue. The issue is I am unable to connect to my red5 server from a remote client. I also have not found any tutorials on how to install red5 so that remote clients can connect to it. However, here is what I have done...
Inside My MXML Flex File I try to connect to the computers IP that the server is running on(My Server is running from within Eclipse). The line for connecting looks like this netConnection.connect(rtmp://192.168.2.12/myApp, true);
All that happens is after a lot of minutes go by, I just get NetConnection.Connect.Failed and there is no log being output by Eclipse. Almost like it never even registers the connection that the remote client is trying to make.
The other interesting thing is that I am ABLE to connect to my Red5 Server using a different computer within my local home network just fine. But only when it is remote I am unable to connect.
I have changed my Red5-web.properties file and added this...
webapp.contextPath=/myApp
webapp.virtualHosts=*, 127.0.0.1, localhost, 192.168.2.14, 174.122.104.3
The 174 one is my website where the Flex Swf Resides on.
I think maybe somehow my computer is not setup or configured to allow these remote connections and is rejecting them or something, I'm not quite sure why a remote client can't connect. Does anyone have any idas?
Your help is greatly appreciated.
You may uninstall the red5 and reinstall it.
When it ask you the server ip address type your server's LAN adress (192.168.2.* or 10.0.0.* whatever). This solved my problem.
In my opinion, if you have at least one domain name that you own, the best way for you to go is to set up an Apache Http Server to your server machine, and create subdomains for both red5, rtmp and rtmpt. Make the Apache handle your incoming requests, and decide their correct routing there.
In case you don't own a domain, or the previous way is too time-taking to set up and get it work, you should just make sure that the ip address you're trying to connect to is not an internal IP.
In your example above you are trying to connect from the client to a 192.168... address. If you try to connect to it from within your LAN, it works, since that ip there is registered to your machine.
But when you take your notebook to your neighbor, and using his internet connection to access your site and connect to red5, the client (flex application) will also try to connect to that 192.168..., and your neighbor's router has no idea about your LAN, probably it doesn't have such an internal IP address either, but SURELY cannot connect to your server.
So instead of using 192.168... in your connection string, you should try using your external IP address (the 174... one):
netConnection.connect("rtmp://174.122.104.3/myApp", true);
This will work always, as far as you have a static IP address.
Also make sure, that your red5 server is accessible over the 80 port, or if it's not, specify the correct port number there.
For that you can do following thing...
These steps I took and it's solved my problem...
1.During the installation, you must have given ip 127.0.0.1 (localhost) and port :5080
2.firstly open the port (5080 and 1935) on firewall.
Visit http://windows.microsoft.com/en-in/windows/open-port-windows-firewall#1TC=windows-7
3.Now to go red5->conf->red5.properties and open this file in notepad++. (or any other editor)
4.repalce http.host and rtmp.host ip with your ip address (ipv4)
5.start the red5 service.
6.Now check http://yourip:5080
It will start working, and you can access it from other system also (in the same network Obviously )

setup tomcat personal webserver

i hosted an apache server by changing few details in the httpd.conf file, used this tutorial. i also did port forwarding so that the server is able to respond behind the wireless router (firewall), it worked completely fine ( i checked by typing the ip and port number from some other host outside the network). now i am trying to run servlets for which i need tomcat server. i have installed tomcat but i am unable to access the server from another host that is not on the same network. could somebody please guide as to how can i achieve this.
I guess I would go with The Apache-Tomcat Connector and use it to connect your new tomcat instance to your Apache.
I did the same thing just as I for apache server, except that I changed the listening port to something else. added that entry in the router. incorporated tomcat in eclipse and then started the sample project. using whatismyip.com, i got the ip address. i could access my webserver from elsewhere...

Resources