= OpenShift = [[TOC]] == Introduction == [https://www.openshift.com/ OpenShift] is an Open Hybrid Cloud Application Platform / PaaS by Red Hat.It has a free plan as well as enterprise pricing options. == Deployment Steps == === Install RHC=== The first step is to create an account on OpenShift - it's free and easy. The next step is to intstall RHC.RHC is the OpenShift client tool. The simplest way to install it is to do {{{ sudo gem install rhc }}} === Deploy the template Web2py app === . Now we create a blank web2py app and get it running on OpenShift. For this we use the following [https://github.com/prelegalwonder/openshift_web2py repo]. You can follow the instructions given in the readme except change the Python version to 2.7 instead of 2.6 The basic steps are- Create a python-2.7 application {{{ rhc app create -a YOUR_APP_NAME -t python-2.7 }}} Add this upstream repo {{{ cd web2py git remote add upstream -m master git://github.com/prelegalwonder/openshift_web2py.git git pull -s recursive -X theirs upstream master Note: If you want a specific release and not the latest snapshot, replace "master" with the branch name in the above lines (ie. 2.3.2). }}} Then push the repo upstream {{{ git push }}} That's it, you can now checkout your application at: {{{ http://YOUR_APP_NAME-$yournamespace.rhcloud.com # you'll be prompted for your namespace while creating your account, you needn't worry about it. }}} Once your app is up you'll need administrative access to continue.For the admin app to work you need to put your password hash in parameters_8080.py in wsgi/web2py/. === Package and deploy Eden === Now locally create package your local Eden setup via the administrative interface. Then create a new application on your OpenShift by uploading the package. Once Eden is installed you will need OpenShift to install a lot of the required packages and libraries for it to work.For that edit the setup.py file in the following way- Edit the install_requires line to {{{ install_requires=['newrelic','GitPython','xlrd','lxml','shapely','python-dateutil','xlwt','pyserial','tweepy','pil'], }}} Note that these are only some of the libraries - please add them as needed. Commit these changes and push them to OpenShift. === Updates === To deploy updates simply package Eden locally and re-deploy it on OpenShift via the admin interface ( check the overwrite installed app option) == ToDo == 1. Have the admin interface directly fetch Eden from a Git repo. 1. Have the admin interface directly fetch Eden from a Git repo.