wiki:InstallationGuidelines/OpenShift

Version 18 (modified by Govind Menon, 11 years ago) ( diff )

--

OpenShift

Introduction

OpenShift is an Open Hybrid Cloud Application Platform / PaaS by Red Hat.It has a free plan as well as enterprise pricing options.

Here is a good post comparing Heroku. and OpenShift

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

If the above command doesn't work install Ruby first and then Ruby Gems

Deploy the template Web2py app

. Now we create a blank web2py app and get it running on OpenShift. For this we use the following 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 YOUR_APP_NAME
    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.
Note: See TracWiki for help on using the wiki.