Cookbook takes you from a fresh Debian/Ubuntu server to a complete Nginx/Rails/PHP stack using purely Capistrano. It also takes care of app deployment and pretty much writes your config/deploy.rb file for you.
- Git
- Nginx
- Mongrel cluster
- Monit
- MySQL
- PHP (Nginx w/ spawn-fcgi)
- Rails
- Ruby
- RubyGems
- Sphinx
(Goto Set up a PHP app if deploying a PHP project)
gem install winton-cookbook
capify .
Copy deploy.rb.example to config/deploy.rb
Edit config/deploy.rb to your liking. Run cap -T
to check out your new tasks.
If you can't log in as root directly, but have the password (ServerBeach):
su
passwd
adduser deploy
visudo
Add this line to the end of the file. This gives the deploy user "sudo without password" privileges:
deploy ALL=NOPASSWD: ALL
cap ssh:setup
(Just answer no to the first question if you already have local keys generated.)
cap debian:setup
(See config/cookbook/recipes/debian.rb. You might want to run the tasks individually to know what's going on.)
Its probably a good idea to restart the server after all that:
sudo shutdown -r now
cap deploy:create
(See config/cookbook/recipes/deploy.rb to know what's going on here.)
Optionally set up log rotation and a monit entry for your mongrels:
cap log:rotate
cap monit:config:mongrel
cap deploy
See Deploy your app, but replace cap
with cap staging
.
Example:
cap staging deploy:create
config/
public/
Move your site contents into the public directory. Follow instructions in the Install section.
Uncomment this line in deploy.rb:
#:platform => :php,