1. Add the RepoForge repo if you don't already have it.
32-bit:
rpm -ivH http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
64-bit:
rpm -ivH http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
2. Install the packages
yum install -y php-cli mod_suphp
3. Edit /etc/suphp.conf and adjust lines 25 and 28 respectively
x-httpd-php="php:/usr/bin/php-cgi"
x-suphp-cgi="execute:!self"
4. Set PHP session directory group ownership permission
groupadd phpsession
chgrp phpsession /var/lib/php/session
5. For each VirtualHost you wish to operate under suPHP, you will need to add the following to their Apache config file in /etc/httpd/conf.d, replacing username and group respectively
suPHP_Engine on
suPHP_UserGroup username group
AddHandler x-httpd-php .php .php3 .php4 .php5
suPHP_AddHandler x-httpd-php
6. For each user operating under suPHP, you will need to add them to the phpsession group you just created otherwise they will get errors about session creation. Replace username respectively
usermod -a -G phpsession username
If you get a 500 Internal Server Error message, your PHP scripts and/or directories probably have incorrect permissions. You can reset all directories to rwxr-x-r-x (ie. 0755) and all files to rwxr--r-- (ie. 0644) by running the following at your HTML root
find . * -type d -exec chmod 0755 {} +
find . * -type f -exec chmod 0644 {} +