====== Presentation ======
{{wiki/qclug_presentations/cloud_hosting_aws_heroku_openshift.pdf}}
{{wiki/qclug_presentations/cloud_hosting_aws_heroku_openshift.odp}}
====== OpenShift Demonstration Steps ======
===== How to create a Dokuwiki site on OpenShift Online =====
* Create a free account at openshift.com
* Install the OpenShift Client Tools (which is a Ruby Gem):
Step 1: Install Ruby\\
Step 2: Install RubyGems\\
Step 3: Install Git\\
Step 4: Install the client tools\\
(ruby-full installs the **gem** binary automatically)
sudo apt-get install ruby-full git-core
sudo gem install rhc
===== Setup RHC =====
rhc setup
Step 1: Login to openshift.redhat.com\\
Step 2: Generate a Public/Private key pair\\
Step 3: Create your namespace (aka domain)\\
===== Install DokuWiki =====
For ease of deployment use the pre-built dokuwiki-quickstart repository
* This respository includes most of the deploy scripts that you will need to deploy Dokuwiki into OpenShift so you might as well use it.
https://github.com/openshift/dokuwiki-quickstart
Step 1: Create an empty application\\
Step 2: Download dokuwiki\\
Step 3: Push to OpenShift Online\\
rhc app create dokuwiki php-5.4
cd dokuwiki
git remote add upstream -m master git://github.com/openshift/dokuwiki-quickstart.git
git pull -s recursive -X theirs upstream master
**Note:** //The git pull command above can be used later to pull updates to Dokuwiki//
===== Customize DokuWiki =====
To customize Dokuwiki you must modify the git repository and the deploy scripts.
This way your application customization will remain persistent accross each deployment.
Step 1: Install and configure custom Plugins\\
Step 2: Modify the Dokuwiki config files\\
Step 3: Update build and deploy hook scripts\\
Step 4: Commit locally\\
Step 5: Push to OpenShift\\
Step 6: Upload persistent data\\
==== Plugins ====
cd ~/dokuwiki/.openshift
mkdir plugins
cd plugins
wget https://github.com/kettari/authgoogle/archive/master.tar.gz
tar xf master.tar.gz
rm -f master.tar.gz
mv authgoogle-master authgoogle
==== Config Files ====
cd ~/dokuwiki/.openshift/conf
cat ~/dokuwiki-2014-05-05a/conf/local.php > local.php
cat ~/dokuwiki-2014-05-05a/conf/acl.auth.php > acl.auth.php
cat ~/dokuwiki-2014-05-05a/conf/users.auth.php > users.auth.php
cd ~/dokuwiki/.openshift
cat ~/dokuwiki-2014-05-05a/.htaccess > .htaccess
==== Hook scripts ====
cd ~/dokuwiki/.openshift/action_hooks
vi deploy
Add the following lines to the bottom of the deploy script:
cp -rf ${OPENSHIFT_REPO_DIR}.openshift/conf/* ${dest_dir}/conf/
cp -rf ${OPENSHIFT_REPO_DIR}.openshift/plugins/* ${dest_dir}/lib/plugins/
cp -f ${OPENSHIFT_REPO_DIR}.openshift/.htaccess ${dest_dir}/
Commit and push your changes:
cd ~/dokuwiki
git add .
git commit
git push
==== Upload Persistent Data ====
cd ~/dokuwiki-2014-05-05a/data/
tar czf ~/data-3-11-2015.tar.gz ./*
cd
rhc scp dokuwiki upload data-3-11-2015.tar.gz app-root/data/data/
**Note:** //If **rhc scp** doesn't work, re-install the net-ssh gem specifying version 2.9.2//
gem uninstall net-ssh
gem install net-ssh -v 2.9.2
rhc ssh dokuwiki
cd app-root/data/data
tar xf data-3-11-2015.tar.gz
rm -f data-3-11-2015.tar.gz
exit
===== Add a custom domain (alias) =====
OpenShift supports custom domain names using its easy to use alias system
Step 1: Add a CNAME alias to your externally hosted DNS configuration\\
Step 2: Run **rhc alias** on your application instance\\
rhc alias add dokuwiki wiki.qclug.com
===== Misc Notes =====
You can obtain Secure Shell access to your application (Gear) by running the following command:
rhc ssh dokuwiki
The persistent data storage location for your application can be accessed in your deploy scripts by using the following environment variable:
$OPENSHIFT_DATA_DIRs
* OpenShift Origin is the upstream Open Source project for OpenShift.
* This means you can download it and host your own OpenShift cloud!
http://www.openshift.org/
If you want to start over, simply delete your application and your git repository:
rhc app-delete dokuwiki
rm -rf dokuwiki