Про apache и openssl-1.0.0
Apr. 12th, 2010 06:06 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Уже неоднократно встречаю сообщения что у кого-то Apache не собирается с openssl-1.0.0 или не работает с gost engine.
Вот тут решил сам попробовать.
С чистого листа.
1. Убираем с машины все пакеты libpq-dev, libldap2-dev и прочие, которые может по нечаянности подхватить сборка aprutils и потащить с ними в процесс apache дистрибутивную OpenSSL
2. Берем openssl-1.0.0.tar.gz
Собираем командой ./config shared zlib enable-rfc3779 (можно и без 3779 но я не хочу)
3. Берем httpd-2.2.15.tar.gz
Распаковываем
4. Берем патчик некогда разработанный мной для httpd 2.2.6 и патчим. Три ханка отваливаются. Два из них в утилите ab. на которую можно забить, третий - в ssl_engine_init.c - отваливается потому что в apache уже есть эквивалентная функциональность.
5. конфигурируем командой
6. Собираем. Какой бы mpm ни выбрали - prefork, worker и даже event - собирается, не требуя никакого "дополнительного патча".
7. Прописываем в конфигурацию SSLCryptoDevice gost, SSLCiphers "GOST2001-GOST89-GOST89", добавляем загрузку необходимых модулей, которые мы собрали shared, генерим гостовский ключ и сепртификат и запускаем.
Все работает.
Что я делаю не так?
Вот тут решил сам попробовать.
С чистого листа.
1. Убираем с машины все пакеты libpq-dev, libldap2-dev и прочие, которые может по нечаянности подхватить сборка aprutils и потащить с ними в процесс apache дистрибутивную OpenSSL
2. Берем openssl-1.0.0.tar.gz
Собираем командой ./config shared zlib enable-rfc3779 (можно и без 3779 но я не хочу)
3. Берем httpd-2.2.15.tar.gz
Распаковываем
4. Берем патчик некогда разработанный мной для httpd 2.2.6 и патчим. Три ханка отваливаются. Два из них в утилите ab. на которую можно забить, третий - в ssl_engine_init.c - отваливается потому что в apache уже есть эквивалентная функциональность.
5. конфигурируем командой
LDFLAGS=-Wl,-rpath,/usr/local/ssl/lib ./configure\ --enable-ssl --with-ssl=/usr/local/ssl --with-mpm=на ваш выбор\ --enable-mods-shared=all
6. Собираем. Какой бы mpm ни выбрали - prefork, worker и даже event - собирается, не требуя никакого "дополнительного патча".
7. Прописываем в конфигурацию SSLCryptoDevice gost, SSLCiphers "GOST2001-GOST89-GOST89", добавляем загрузку необходимых модулей, которые мы собрали shared, генерим гостовский ключ и сепртификат и запускаем.
Все работает.
Что я делаю не так?