Setting Up Ghost on OpenShift using Ubuntu

OpenShiftLogo Using Kubuntu 13.10 x64, revised for Ubuntu 14.04.

Insert your own values for **CAPITALS**.


Initial Setup

  • Sign up with OpenShift.com

  • Setup Ruby and Git by cmd, for Ubuntu/Kubuntu 14.04.

sudo apt-get install ruby-full git-core
  • Setup Ruby and Git by cmd, for Ubuntu/Kubuntu 13.10 and earlier.
sudo apt-get install ruby-full rubygems git-core
  • Verify Ruby and Git have installed properly.
ruby -e 'puts "Welcome to Ruby"'
git --version
  • Set some git defaults.
git config --global user.email "**EMAIL@ADDRESS.com**"
git config --global user.name "**YOUR_NAME**"
git config --global push.default simple
  • Use RubyGems to install RHC
sudo gem install rhc
  • Setup RHC using the defaults and your judgement.
rhc setup
  • Remember to update RHC from time to time
gem update rhc
  • Create the Ghost application. Pick a meaningful name.
rhc app create **APP_NAME** nodejs-0.10 --env NODE_ENV=production --from-code https://github.com/openshift-quickstart/openshift-ghost-quickstart.git


Troubleshooting the Setup

  • The first time this is done the authenticity of your site likely can't be established, so just type 'yes' when prompted. If setup get stuck after this, press Ctrl+C and clone the git repository manually.
rhc git-clone **APP_NAME**
  • If you don't make it that far or want to start fresh, delete the application and free up that app name.
rhc app-delete **APP_NAME** --confirm


Working with Git and RHC

  • Navigate into the new directory. Edit the files there manually.
cd **APP_NAME**
  • To see info about your app type the following.
rhc show-app **APP_NAME**
  • Update and push out changes like this.
git add --all .
git commit -m 'My changes'
git push
  • Then restart the app to put those changes into effect.
rhc app restart
  • Don't forget to take regular snapshots!
rhc save-snapshot


Themes


Configuring Ghost

  • Login to your new blog from the following link.
    http://**APP_NAME**-**OPENSHIFT_NAME**.rhcloud.com/ghost
    • Create an administrator account on the first login. If something goes wrong restart the app and try again.
    • The rest is fairly straightfordward, so you can take it from here.


  • [OPTIONAL] Provide a Gmail account for sending password resets.
    • Edit config.js, but be warned this is not secure!
    • After this is done update git and restart the app.
        url: 'http://**YOUR_SITE_ADDRESS**,
        mail: {
                transport: 'SMTP',
                options: {
                        service: 'Gmail',
                        auth: {
                                user: '**GMAIL@GMAIL.COM',
                                pass: '**PASSWORD**'
                        }
                }
        },


Custom Domain Setup

Configuring GhostWall Theme

For details on this this site is configured, please see the link below. Be warned that the theme used costs around $24 US.

http://www.derekroberts.ca/build/


That's it!

  • [BONUS] To make running multiple commands simpler I recommend adding aliases to .bashrc, hidden in your home directory.
    Creating Aliases with .bashrc

Many thanks to Andrew Hobden (aka. Hoverbear) for providing just enough taunting/direction to help.

comments powered by Disqus

Recent Posts