About the Book
- Have you ever wanted know how to automate your tedious server setup?
- Sick of dealing with bad tutorials on the web? Sick of looking up books that was intended for versions of Chef and Puppet written years ago?
- Want to deploy from Github without sharing your password?
- Want to use PostgreSQL, but the instructions make no sense?
Grab this book today and get a fully tested and documented, modern Rails stack in an easy to understand format. Spend less time looking up error messages and more time coding! This book covers Ubuntu 12.04, Ruby 1.9.3, PostgreSQL, Passenger and deploying from Github.
The first part covers manual setup and the second shows how to automate the manual steps with Chef. A few choice features that will save you alot of time and frustration.
- Using Knife solo with Chef to deploy by IP address, without needing a separate Chef server (or Puppetmaster)
- Fetching your Rails app from Github.- Using the figaro gem to keep your passwords and other information outside your git repo.
- Setting up PostgreSQL on a local machine manually and later automating.
- A guide to using Vagrant to setup a local development machine with a few simple commands.- Automating everything with Chef, as it should be!
Who is this book for?This book is for those who have written a Rails app and have never deployed to a public server before. Or perhaps you have deployed and you want to know how to automate it. I cover Rails 3.2 with Ruby 1.9.3, Ubuntu 12.04 64 bit, PostgreSQL and Nginx with Passenger. I assume some background with Ubuntu and Rails.
Table of Contents
I Part 1: Manual Deploy
- 1 Choose a VPS and Domain Registar
- 2 Setup a VPS Manually
- 3 Setup the Web Server Manually
- 4 Secure the Deployed Server
- 5 Setup the Database
II Part 2: Automatic Deploy
6 Introducing Chef
- 6.1 Terminology
- 6.2 Password-less Login
- 6.3 Install Chef
- 6.4 Your First Cookout!
7 Writing a Production Recipe
- 7.1 Breakup your Recipe
- 7.2 Install Ruby
- 7.3 Install the Web Server and Rails
- 7.4 Install the Database
- 7.5 Deploy your_rails_app the Simple Way
- 7.6 Deploy your_rails_app the Mina Way
- Books by John B. Wyatt IV
- Appendix - Vagrant
Appendix - FAQ / Troubleshooting
- RVM autolibs error
- Knife complains about a private key
- Password to user is not being set correctly by Chef
- Server not responding / Nginx doesn’t seem to be running
- Nginx gives 404 Not Found error, the app folder was copied and the nginx webroot was setup
- Passenger gives error: Ruby (Rack) application could not be started
- production.log complains about not being able to find the sales table
- Nginx restart doesn’t seem to start nginx when a fixed error caused it to not start.
- Host key mismatch
- Mina reports a bad password.
- Appendix - Common Commands
- Appendix - Changelog
- How to Contact Me
- 6 Introducing Chef
About the Author
Based in San Francisco, EFF is a donor-supported membership organization working to protect fundamental rights regardless of technology.
From the Internet to the iPod, technologies are transforming our society and empowering us as speakers, citizens, creators, and consumers. When our freedoms in the networked world come under attack, the Electronic Frontier Foundation (EFF) is the first line of defense. EFF broke new ground when it was founded in 1990—well before the Internet was on most people's radar—and continues to confront cutting-edge issues defending free speech, privacy, innovation, and consumer rights today. From the beginning, EFF has championed the public interest in every critical battle affecting digital rights.
20.0% of John B. Wyatt IV's royalties are going directly to Electronic Frontier Foundation.