Тех-характеристики
Freebsd 5.x
Apache 1.3.x
PHP 4.4.x
Задача:
Исполнение скрипта от имени заданным через модуль suexec в virtualhost.
Прошло 40 часов со момента моего пробуждения и все ради того что бы сделать mod_php4 + suexec, а не CGI PHP + suexec
Долгие поиски ничего мне не дали. И кстати многим то же, а все потому что мы не там ищем, не там мы копаем.
СТЭЕ : Технический специалист посоветовал собирать мне web-server из портов, ну я с ним в этом немного согласен, но если бы не надо было компилировать php в apache
Решение я нашел с третьего разговора с тех поддержкой одного из крупных хостинг - провайдеров СПБ (у которых я держу пару своих сайтов), дело в том что искал везде, множество провайдеров там где есть suexec то php обязательно используется через CGI и только у моего хостинг - провайдера php как модуль (вшитый в Apache)
Теоретически решение проблемы (еще не дошли руки до пробы, спать хочу)
Почему у всех не работает? Ответ просто
APACHE -> MOD_PHP4 -> SCRIPT
(suexec не может вмешаться после APACHE и после MOD_PHP4) и именно из-за этого у скрипт работает от имени APACHE
Теоретически все должно работать если сделать так
APACHE_MOD_PHP4{_MOD_SSL} -> SUEXEC -> SCRIPT
<VirtualHost +>
ServerName +
ServerAlias www.+
DocumentRoot /home/+
Options FollowSymLinks Includes MultiViews
CustomLog /home/+.log Combined
ErrorLog /home/+-error_log
CharsetSourceEnc windows-1251
User user
Group group
</VirtualHost>
Компилим апачи примерно с такими модулями
./configure \
"--with-layout=Apache" \
"--prefix=/usr/local/apache" \
"--activate-module=src/modules/php4/libphp4.a" \
"--activate-module=src/modules/standard/mod_vhost_alias.c" \
"--activate-module=src/modules/standard/mod_rewrite.o" \
"--activate-module=src/modules/standard/mod_usertrack.c" \
"--activate-module=src/modules/standard/mod_expires.c" \
"--activate-module=src/modules/extra/mod_deflate.o" \
"--activate-module=src/modules/extra/mod_limitipconn.c" \
"--with-forward" \
"--with-manyfiles" \
"--enable-suexec" \
"--suexec-caller=httpd" \
"--suexec-userdir=www" \
"--suexec-docroot=/home" \
"--enable-module=so"
Настраиваем и радуемся.
developer@fxteam.ru
*UNIX DELETANTES*