Итак, попробую поискать что-нибудь интересное на zor.de, попробую за раз отсматривать не менее 100 флешек, и буду постить только самые самые.

3…2….1….  http://z0r.de/1

 

Остановился на http://z0r.de/356

Уже на http://z0r.de/654

 

 

 

 

 

Итак, с чего начать. Думаю первое что надо сделать – это собрать apache 2.2 с помощью easyapache, собирать как обычно и не забыть включить suexec. Конфигурацию, с которой был собран апач можно узнать  так (Кавычки перепишите вручную, wordpress их заменяет =D ):

cat  /home/cpeasyapache/src/httpd-2.2.*/config.log |grep ‘.\/configure’

Выглядеть это будет примерно так:

$ ./configure –disable-version –enable-auth-digest –enable-authn-alias –enable-authn-anon –enable-authn-dbd –enable-authn-dbm –enable-authz-dbm –enable-authz-owner –enable-buc…

Далее создаём папку, где будем собирать апач с mpm_itk, например /root/tmp/Doit/, и идём туда.

mkdir -p /root/tmp/Doit/;cd /root/tmp/Doit/

Копируем туда наш уже собранный апач и заходим в папку с оным :

cp -r /home/cpeasyapache/src/httpd-2.2.*/ /root/tmp/Doit/;cd httpd-2.2.*

Далее качаем патч mpm_itk и патчим наш чудесный апач:

wget http://mpm-itk.sesse.net/apache2.2-mpm-itk-20090414-00.patch;patch -p1 < apache2.2-mpm-itk-20090414-00.patch

Далее чистим, и подготавливаем:

make clean;./buildconf;autoconf

Теперь конфигурируем на основе конфигурации, которую мы получили в начале, но не забудем поменять –with-mpm=чтобыло на –with-mpm=itk, и еще бывают проблемы с pcre. Конфигурация выглядит примерно так:

./configure –disable-version –enable-auth-digest –enable-au… –with-mpm=itk –with-ssl=/usr –with-suexec-caller=no…

Если всё прошло успешно – собираем =)

make;make install

Если проблемы с нехваткой библиотек в 64битной версии, то скопируйте библиотеки из /usr/lib64/ в /usr/lib (лучше сохранить где-нибудь то, что будете заменять)

Итак, апач собран. Осталось дело за малым, сделаем чтобы whm/cpanel генерил правильный конфиг, и перегенерим то что есть:

find /usr/local/cpanel/etc/httptemplates/ /var/cpanel/templates/apache2/ -type f|grep apache2|while read file;do

sed -i ‘s/!mod_disable_suexec.c/mpm_itk_module/g’ $file;

sed -i ‘s/SuexecUserGroup/AssignUserId/g’ $file;echo «$file changed!»;

done

Теперь перегенерим httpd.conf:

/scripts/rebuildhttpdconf;/etc/init.d/httpd restart

Итак, проверим вышло-ли:

cat /etc/httpd/conf/httpd.conf|grep mpm_itk||echo ‘Что-то не так =( или нет vhost-ов’

Если видем <IfModule mpm_itk_module> – всё хорошо. И еще, проверим работает ли теперь апач из под рута:

ps axu|grep htt[p]d

Если root в первой колонке – то всё отлично. Если вы обновляете апач, то вам нужно будет сменить владельца у всех юзеров:

ls /var/cpanel/users |grep -v «\.»|while read a;do chown $a:$a /home/$a/ -R;echo $a;done

ls /var/cpanel/users |grep -v «\.»|while read a;do chown $a:mail /home/$a/etc -R;echo $a;done

По идее всё, теперь у нас апач выполняющий скрипты из под юзера, всегда верное занятое место у пользователей, апач понимает .htaccess, и нет больше проблем с nobody. Осталось поставить nginx как прокси и rpaf для определения ip апачем.