Vagrant Can Be Used For Octopress Localhost Setup Before Pushing to Any Cloud CDN Like Rackspace Cloud Files. Here is a Step by Step Guide. You possibly should read our previous guide, where the basics of how WordPress Local Development with Vagrant has been explained. The requirements are same except, we are doing it for Octopress to push to Cloud Files like we have described before.
Octopress Localhost Setup With Vagrant : Introduction
Vagrant is a system for creating local kind of web servers in portable, highly-configurable virtual machines which basically can run on Linux, Win dozzz and Mac. There are lot of different types of Vagrant setups for Octopress too. You must read the guide – WordPress Local Development with Vagrant for practical understanding of the basics. We will not repeat that you’ll require a MacBook Pro like thing, VirtualBox etc.
Octopress Localhost Setup With Vagrant : Steps
We will use a thing named Vagrant Box :
---
1 | http://docs.vagrantup.com/v2/getting-started/boxes.html |
We will run these commands :
1 2 | vagrant init precise32 http://files.vagrantup.com/precise32.box && vagrant up vagrant ssh |
We will start a virtual machine instance in VirtualBox running Ubuntu latest build. If we now type sudo su
, we are running the command on Ubuntu Guest OS not on our Mac. Now, run these commands :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | cd /opt && apt-get install curl # install rvm curl -sSL https://get.rvm.io | bash -s stable # run the script source /etc/profile.d/rvm.sh # install dependencies rvm requirements # change the version to latest rvm install 2.1.4 # gems? rvm rubygems latest # if you want to go in that way gem install bundler # set default version, change the digit rvm use 2.1.4 --default # install git and curl apt-get install git curl # cd to the directory you want clone git clone git://github.com/imathis/octopress.git octopress # run pwd rm octopress/.rvmrc rm octopress/.rbenv-version cd octopress bundle install rake install |
The basic trick in order to run the same setup on Server is in two steps. First, there this a vagrant file at the root of project. Open it with nano
and edit in this way :
1 2 | config.vm.synced_folder "/path/to/vm/domain", "/vm/domain" config.vm.provision :shell, :path => "bootstrap.sh" |
Obviously, bootstrap.sh
will not be present. You need to create it ( at root of that project ) :
1 2 3 4 5 6 7 8 9 10 | nano bootstrap.sh # copy the commands actually we ran before *** start copy *** #!/usr/bin/env bash apt-get update -y && apt-get install git curl -y curl -L https://get.rvm.io | bash -s stable --ruby=2.1.4 source /etc/profile.d/rvm.sh rvm rubygems latest gem install bundler *** end copy *** |
Vagrant file, also will carry the info (edit it) to carry the work :
1 2 3 4 5 6 7 | cd /vm/domain git clone git://github.com/imathis/octopress.git octopress rm octopress/.rvmrc rm octopress/.rbenv-version cd octopress bundle install rake install |
These will be present on Cloud Files, but not functional. We automated the thing.