Mod_ssl
mod_ssl требует, чтобы был установлен SSL. Естественный выбор для Linux - OpenSSL. Вы можете устанавить его из пакета RPM (как это сделал я), или скомпилировать из исходных текстов. поступайте, как хотите. Я, например, ставил готовый пакет, впрочем, компиляция из исходных текстов также достаточно проста. Наиболее вероятно, что вы установите его в каталог /usr/local, или оставите его в своем каталоге, но не забудьте указать путь приложениям, которым он необходим.
RPM установит OpenSSL в системный каталог.
Создайте каталог для модуля rsaref-2.0 в любом месте. У меня он находится в /usr/src/apache/modules/mod_ssl-blah/depend/. Перейдите в этот каталог.
cd rsaref-2.0 cp -rp install/unix local cd local make mv rsaref librsaref.a
Эти команды должны собрать библиотеку rsaref! Оставьте все здесь и укажите в конфигурационном скрипте путь к библиотеке.
Распакуйте mm-1.0.12 (или более новую) в подкаталог mod_ssl-ля-ля-ля. Выполните следующие шаги:
cd mm-1.0.12 ./configure --disable-shared make
В результате должна собраться библиотека mm. Как и выше, укажите этот путь, если необходимо, или установите в системный каталог.
Сборка и установка mod_ssl (наконец-то!)
В процессе стандартной процедуры при работе с apxs сначала должен быть скомпилирован Apache, а затем используйте apxs для компиляции модулей, которые вы хотите использовать, и присоедините их к серверу. Однако, mod_ssl должен быть собран с сервером до того, как вы используете apxs. Если mod_ssl собран вместе с сервером, обновите его через apxs без полной перекомпиляции Apache.
Войдите в каталог, где Вы компилируете mod_ssl, и выполните следующую команду конфигурации для начала компиляции:
#!/bin/sh
./configure \ --with-apache=/usr/src/apache/apache_1.3.12 \ --with-ssl \ --with-rsa=../depend/rsaref-2.0/local \ --with-mm=../depend/mm-1.0.12 \ --enable-shared=ssl
Вам не нужно запускать ни 'make', ни что-то еще. Когда мы будем собирать Apache, команда сделает все за нас.
Эта команда дает два примера того, как ваша система может быть установлена. В моем случае, OpenSSL был уже установлен где-то в системе (кажется в /usr/lib или /usr/include). Поэтому я не должен был бы передавать параметры его расположения. Однако, rsa и mm не были в системе, и я собрал их сам и оставил в каталоге исходников (не запуска make вообще). В этом случае вам нужно указать команде configure на соответствующий каталог так, чтобы он нашел заголовочные файлы и библиотеки.
Идем далее, если вы не обновляете Apache (в некоторых случаях вам необходимо проделать предыдущий шаг для новой версии Apache), используйте apxs для обновления или перекомпиляции модуля mod_ssl. Вот какие параметры я дал скрипту:
./configure \ --with-apxs=/apps/apache-1.3.12/bin/apxs \ --with-ssl=../depend/openssl-0.9.4 \ --with-rsa=../depend/rsaref-2.0/local \ --with-mm=../depend/mm-1.0.12
Или команда, описанная выше. Запускаем:
make make install make distclean
и завершаем инсталляцию.
Примечания: MM не требует компиляции mod_ssl. Если у вас появились проблемы во время установки, начните с шага ./configure.
Когда я собирал mod_ssl, у меня появились ошибки, связанные с DBM. Чтобы исправить их, я добавил -lndbm в Makefile:
-
Запустите вышеупомянутый конфигурационный скрипт.
-
cd в pkg.sslmod
-
Отредактируйте makefile и добавте -lndbm к LIBS_SHLIB. Следующим образом:
-
LIBS_SHLIB=-lm -lcrypt -lndbdm
Надеюсь, это сэкономит вам немного сил.