Openshift online PAAS is an easy solution for such free hotsitng of a java web application
Create a free account at open shift online
Download their rhc command line tool
Fire following command to create 1 of 3 free apps, where name of new hosted web app is for example say, restgrails
rhc create-app restgrails tomcat-7
Go to the open shift web console and note down the ssh url of the git repository
setup ssh keys for the open shift git repo using command
rhc setup
If required, place the keys generated in <user-dir>\.ssh into <git-install-dir>\.ssh
fire following command on your local machine
git clone <git_url> restgrails
on your local machine the above git command will create a new directory called restgrails and checkout default web app from openshift git repo to your local machine
cd restgrails
Fire following commands to get rid of the default web app's src and pom.xml, since we will deploy a ready made war file onto the openshift PAAS
git rm -rf src/ pom.xml
git commit -am "deleted default source code"
Now prepare the ready made war file for deploying onto open shift
copy war file to restgrails/webapps/
rename war file to ROOT.war --this is important if you want to map your webapp to the openshift online app URL
git add .
git commit -am "added new root.war to webapps"
git push --force
Above git push command, will trigger a deploy of the war file into the remote tomcat on open shift and soon the web app will become available online as say
http://restgrails-ideafountain.rhcloud.com/
ie
http://<web-app-name>-<domain-name-reg-with-openshift-online>.rhcloud.com/
you can tail the tomcat server logs with the following command
rhc tail restgrails
For databases, openshift online does support databases like mongodb, mysql and postgresql, so if your app uses hibernate, it can easily be configured to use online database like say mysql or postgresql, while running it online
to check logs
Go to openshift web console, and click on Remote access,
want to login to your application
Fire ssh command, in textbox on
web console, from your dos prompt
You will be get logged-in to the
VM.
Here give following commands:
[plateletdonation-ideafountain.rhcloud.com ]\> find . -name *.log
find: `./.tmp': Permission
denied
find: `./.sandbox': Permission
denied
find: `./.ssh': Permission
denied
./app-root/logs/jbossews.log
./jbossews/tmp/stacktrace.log
[plateletdonation-ideafountain.rhcloud.com ]\> tail -f ./app-root/logs/jbossews.log