Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

81 lines (49 sloc) 2.488 kB

= Installation on CentOS

This document supplements the main install instructions available in the and files in the root of this project.

This has been tested with CentOS 5.5.

== SELinux

Unfortunately, to get Passenger to work right, I had to disable SELinux completely. If someone can get RVM + Passenger + SELinux to coexist on CentOS, let me know.

vim /etc/selinux/config
# set SELINUX=disabled

== Deploy User

Adding the 'deploy' user on a CentOS system looks like this:

adduser deploy
passwd deploy
# add 'deploy' as sudoer by copying ROOT line

== Preparation

There is a prepare:centos Capistrano recipe that attempts to get everything in working order on your server.

The recipe installs Git from the latest source tree. If you already have Git, or prefer to install Git yourself by some other means, skip to the next section.

Otherwise, it's just:

# on your local machine:
gem install capistrano
# edit config/deploy.rb to point to your server
cap prepare:centos
# follow
# to ensure .bashrc doesn't exit near the top
cap deploy:setup
cap deploy:migrations

# on your server
# edit /etc/httpd/conf/httpd.conf
# and point DocumentRoot to "/var/www/apps/onebody/current/public"

# in your web browser:
# visit http://your-server-name-or-ip

== Skipping Pieces of the Prepare Recipe

Like I said above, the default prepare recipe installs Git from source. If you don't want that, you can install the pieces individually and skip the git piece:

cap prepare:centos:prereqs prepare:centos:rvm prepare:centos:ree prepare:centos:mysql prepare:centos:apache prepare:centos:passenger prepare:centos:bundler
cap deploy:setup
cap deploy:migrations

You can do this for any of the individual pieces. They are:

  • prepare:centos:prereqs
  • prepare:centos:git
  • prepare:centos:rvm
  • prepare:centos:ree
  • prepare:centos:mysql
  • prepare:centos:apache
  • prepare:centos:passenger
  • prepare:centos:bundler

== Troubleshooting

If any of the pieces of the recipe fail, check out the error and see if you can fix it in the lib/recipes/prepare.rb file. Or by hand on the server.

Then pick up where the recipe left off (see above section).

== Firewall

CentOS has iptables enabled by default. Follow this link for help in allowing port 80 traffic.

Jump to Line
Something went wrong with that request. Please try again.