# Instalamos lo necesario y básico, modulos de PHP cada quién usa los suyos
yum install php-common php-cli mod_fcgid httpd httpd-devel
# Creamos un directorio y dentro un archivo
mkdir -p /var/www/cgi-bin/dominio.com
vim /var/www/cgi-bin/dominio.com/php-dominio.com
# Agregamos lo siguiente
#!/bin/sh
export PHPRC=/home/dominio
export PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_CHILDREN=1
exec /usr/bin/php-cgi
# Le asignamos los permisos necesarios
chmod 755 /var/www/cgi-bin/dominio.com/php-dominio.com
chown -R dominio.com:dominio.com /var/www/cgi-bin/test.dominio.com
# Modificamos el siguiente archivo
vim /var/www/cgi-bin/php-fcgi
# Agregamos lo siguiente
#!/bin/sh
export PHPRC=/etc
export PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_CHILDREN=1
exec /usr/bin/php-cgi
# Le asignamos los permisos necesarios
chmod 755 /var/www/cgi-bin/php-fcgi
# Si queremos configuración diferente para cada web, podemos copiar el archivo php.ini
cp /etc/php.ini /home/dominio.com/
chown dominio.com:dominio.com /home/dominio.com/php.ini
# Buscamos y asignamos los permisos necesarios a directorios y archivos
find /home/dominio.com/public_html/ -type d -exec chmod 755 {} \;
find /home/dominio.com/public_html/ -type f -exec chmod 644 {} \;
# En caso de que tengamos un archivo htaccess
find /home -name .htaccess -exec grep -nH php_ {} \;
# Para evitar errores en php o apache, asignamos los permisos siguientes
chown 1777 /var/lib/php/session
# Por último creamos el archivo de configuración de apache, se verá más o menos así:
# No olvidar cambiar la línea: SuexecUserGroup "#503" "#503" por el usuario que se use.
<VirtualHost *:80>
ServerName dominio.com
ServerAlias www.dominio.com
DocumentRoot /home/dominio.com/public_html
ErrorLog /var/log/httpd/dominio.com-error_log
CustomLog /var/log/httpd/dominio.com-access_log common
ScriptAlias /cgi-bin/ /home/dominio.com/cgi-bin/
DirectoryIndex index.html index.htm index.php index.php4 index.php5
<IfModule mod_fcgid.c>
Alias /fcgi-bin/ /var/www/cgi-bin/
<Location /fcgi-bin/>
SetHandler fcgid-script
Options +ExecCGI
</Location>
SuexecUserGroup "#503" "#503"
<Directory /home/dominio.com/public_html>
Options -Indexes +IncludesNOEXEC +FollowSymLinks +ExecCGI
AddHandler php-fcgi .php
Action php-fcgi /fcgi-bin/dominio.com/php-dominio.com
FCGIWrapper /var/www/cgi-bin/dominio.com/php-dominio.com .php
allow from all
AllowOverride All
</Directory>
</IfModule>
<Directory /home/dominio.com/cgi-bin>
Options ExecCGI
Allow from all
</Directory>
</VirtualHost>