ЗЫ. Вариант с php как модуль cgi не годится. CGI создает файлы с недостаточными правами для нормальной работы.
это-ж почему? смотри в сторону mod_fastcgi (помоему не по всех дистрибутивах есть - ручками скомпилить придётся).
Что даст? каждый пользователь будет под своим пользователем работать. Далее берёшь vsftp(d), в настройках стивишь что чрутить сеансы пользователей (что-бы за пределы своего домашнего каталога не выходили), вуаля - система рабочая готова, всё работает под правами своих пользователей, ещё openbasedir в php указать что-бы за пределы домена не выходили (у каждого пользователя может быть несколько доменов (сайтов)). Смотри, могу примеры дать, несколько скриптов у меня написано для создания пользователей, добавления секций в apache и vsftpd.
Вот например, addnewuser.sh:
#!/bin/bash
# addnewuser.sh: dobavlyaet novogo pol`zovatelya
# i gruppu pol`zovatelya
username="ТУТ ИМЯ ПОЛЬЗОВАТЕЛЯ ПИШЕШЬ"
echo `groupadd $username`
echo `mkdir /var/www/users/$username`
echo `mkdir /var/www/users/$username/www`
echo `useradd -d /var/www/users/$username/www -g $username $username`
echo `cp -R /Scripts/newdomain/php /var/www/users/$username`
echo `chown -R $username:$username /var/www/users/$username`
echo `chmod -R 741 /var/www/users/$username`
echo `passwd $username`
echo `echo $username >> /etc/vsftpd/chroot_list`
Этот скрипт создаёт пользователя, указывает его домашний каталог, в vsftpd заносит его
второй скритик, newdomain.sh:
username="ИМЯ ПОЛЬЗОВАТЕЛЯ, КОМУ БУДЕТ ПРИНАДЛЕЖАТЬ ДОМЕН"
domain="ДОМЕН.РУ"
echo `mkdir /var/www/users/$username/www/$domain`
echo `mkdir /var/www/users/$username/www/$domain/cgi`
echo `cp /Scripts/newdomain/cgi/php5.fcgi /var/www/users/$username/www/$domain/cgi/php5.fcgi`
echo `cp /Scripts/newdomain/cgi/php5.ini /var/www/users/$username/www/$domain/cgi/php5.ini`
echo `cp -R /Scripts/newdomain/conf /var/www/users/$username/www/$domain`
echo `cp -R /Scripts/newdomain/logs /var/www/users/$username/www/$domain`
echo `cp -R /Scripts/newdomain/public_html /var/www/users/$username/www/$domain`
echo `cp -R /Scripts/newdomain/tmp /var/www/users/$username/www/$domain`
sleep 3
#cat /var/www/users/$username/www/$domain/cgi/php5.fcgi|sed s/{username}/$username/g|sed s/{domain}/$domain/g > /var/www/users/$username/www/$domain/cgi/php5.fcgi
cat /var/www/users/$username/www/$domain/cgi/php5.ini|sed s/{username}/$username/g|sed s/{domain}/$domain/g > /var/www/users/$username/www/$domain/cgi/php5.fcgi
cat /var/www/users/$username/www/$domain/conf/php.ini|sed s/{username}/$username/g|sed s/{domain}/$domain/g > /var/www/users/$username/www/$domain/conf/php.ini
cat /Scripts/newdomain/vhosts.conf|sed s/{username}/$username/g|sed s/{domain}/$domain/g >> /etc/httpd/conf.d/vhosts.conf
echo `chown -R $username:$username /var/www/users/$username/www/$domain`
echo `chmod 755 /var/www/users/$username/www/$domain/cgi`
# perezapuskaem apach
/usr/sbin/apachectl restart
в директории /Scripts/newdomain/ лежит "болванка" нового домена.
При этом для каждого сайта свой php.ini, свои модули можно подключать, свои настройки.
Вот и свой серв, своими руками