Показать сообщение отдельно

  #7  
Старый 09.12.2007, 14:54
Dronga
ВАША реклама ТУТ!!
Регистрация: 01.07.2005
Сообщений: 647
Провел на форуме:
3478464

Репутация: 714


Отправить сообщение для Dronga с помощью ICQ
По умолчанию

Конечно оно было найдено. Опытным путем выяснилось что Апач 2.2 имеет совсем другую модель инициализации модулей. Значит по текстам ошибок..
Цитата:
[Tue Nov 27 17:41:15 2007] [warn] (2)No such file or directory: Cannot reinit SSLMutex
Это от лукавого как говорится =) Просто модуль SSL инициализируется, а инициализировать и нечего.. Там ряд параметров идут вне <IfModule>.. Решилось просто настройкой SSL для Apache 2.2.*
Цитата:
openssl genrsa -des3 -rand /dev/random -out server.key 1024
openssl rsa -in server.key -out server.pem
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey ./server.key -out server.crt
То что после скрипта получилось (4 файла) делаем cp server.* /usr/local/etc/apache22; chmod 400 /usr/local/etc/apache22/server.*
Теперь ee /usr/local/etc/apache22/httpd.conf Ищем строчку с httpd-ssl.conf и раскоментируем. Всё отлично.. Там по умолчанию все пути под нашу картину заточены. Единственное, в etra/httpd-ssl.conf можно по желанию определить действие на запрос ввода PASSPHRASE. 100% работает на FreeBSD 6.2.
А мне Егорыч+++ на канале рассказывал про cd /usr/ports/www/apache22; make secure; =) Это на первом апаче было или даже для порта Apache-SSL Не суть =)
Едем дальше.
Цитата:
[Tue Nov 27 17:41:15 2007] [error] (2)No such file or directory: Failed to child-init auditlog mutex
Это самое западло... Также опытным путем было выяснено что ошибка генерируется собственно mod_security.. Снос соответствующих директив не помог из чего сделан вывод о несовместимости заявленного функционала mod_security с Apache 2.2.6. Как я могу запихнуть через mod_security всё в чрут окружение, если он сам там работать не может?? =) Снёс пока что, хотя штука хорошая.. Обязательно вернусь к этой теме в статьях
На тот момент основной задач было загнать всё в чрут.. mod_security не спас, системный chroot также отказался всё это приютить.. Очередь дошла до mod_chroot найденного в портах cd /usr/ports; make search name=chroot; Вот так и познакомились =) Поставил, с опытом предыдущих ошибок всё заработало быстро... Осталась лишь:
Цитата:
[Tue Nov 27 17:41:15 2007] [crit] (2)No such file or directory: mod_rewrite: could not init rewrite log lock in child
Тут долго парился.. Очевидно что проблема во встроенном модуле rewrite. Начал играться с директивами RewriteLog, RewriteLogLevel.. Даже когда явно указываешь что не нужен тебе лог, он всё равно его делает... Самое интересное, что создает он его вне чрут окружения, а потом ищет в чрут окружении.. Кончилось всё правкой исходного кода =) Модуль реально не понимает RewriteLogLevel 0, это очевидный баг, ибо порты обновил (можно зарелизить от имени АНТИЧАТА кому интересно , поэтому
Цитата:
cd /usr/ports/www/apache22/
make
ee /usr/ports/www/apache22/work/httpd-2.2.6/modules/mappers/mod_rewrite.c
Ну или как вам там удобно.. Комментируем строчки которые генерят ошибку и собственно функцию её вызывающую (файл большой, ищем по тексту ошибки)
Код:
#ifndef REWRITELOG_DISABLED
     /* PATCHED WITH ANTICHAT POWER HERE
     rv = apr_global_mutex_child_init(&rewrite_log_lock, NULL, p);
     if (rv != APR_SUCCESS) {
         ap_log_error(APLOG_MARK, APLOG_CRIT, rv, s,
                      "mod_rewrite: could not init rewrite log lock in 
child");
     }
    THEN CONTINUE  */
#endif
Далее если апач ещё не был установлен make install, а если трабла уже на руках, то make deinstall; make reinstall;

Вот и всё. Имею чрут, всё работает, и хакеры целые и сервер доволен
PS. В асю прислали:
- Что тяжелее - килограмм земляники или килограмм гвоздей?
- Тяжелее будет высрать гвозди
(с)sql.ru
__________________
My ICQ: 296@463@859 ONLY!! Please check your list!!
И здесь могла бы быть ВАША реклама!!!

Последний раз редактировалось Dronga; 09.12.2007 в 15:25..