Version 18 (modified by 11 years ago) ( diff ) | ,
---|
OpenShift
Table of Contents
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
- Have the admin interface directly fetch Eden from a Git repo.