Я должен установить апачские 2.4.10 использования openssl 1.0.1i. Я скомпилировал openssl из источника с:
$ ./config \ --prefix=/opt/openssl-1.0.1i \ --openssldir=/opt/openssl-1.0.1i $ make $ sudo make install
и Apache с:
./configure --prefix=/etc/apache2 \ --enable-access_compat=shared \ --enable-actions=shared \ --enable-alias=shared \ --enable-allowmethods=shared \ --enable-auth_basic=shared \ --enable-authn_core=shared \ --enable-authn_file=shared \ --enable-authz_core=shared \ --enable-authz_groupfile=shared \ --enable-authz_host=shared \ --enable-authz_user=shared \ --enable-autoindex=shared \ --enable-dir=shared \ --enable-env=shared \ --enable-headers=shared \ --enable-include=shared \ --enable-log_config=shared \ --enable-mime=shared \ --enable-negotiation=shared \ --enable-proxy=shared \ --enable-proxy_http=shared \ --enable-rewrite=shared \ --enable-setenvif=shared \ --enable-ssl=shared \ --enable-unixd=shared \ --enable-ssl \ --with-ssl=/opt/openssl-1.0.1i \ --enable-ssl-staticlib-deps \ --enable-mods-static=ssl make (would run sudo make install next but I get an error)
Я по существу следую руководству здесь кроме с более новыми немного более новыми версиями. Моя проблема, я получаю ошибку компоновщика, когда я работаю, делают для апача:
Making all in support make[1]: Entering directory `/home/developer/downloads/httpd-2.4.10/support' make[2]: Entering directory `/home/developer/downloads/httpd-2.4.10/support' /usr/share/apr-1.0/build/libtool --silent --mode=link x86_64-linux-gnu-gcc -std=gnu99 -pthread -L/opt/openssl-1.0.1i/lib -lssl -lcrypto \ -o ab ab.lo /usr/lib/x86_64-linux-gnu/libaprutil-1.la /usr/lib/x86_64-linux-gnu/libapr-1.la -lm /usr/bin/ld: /opt/openssl-1.0.1i/lib/libcrypto.a(dso_dlfcn.o): undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
Я попробовал ответ здесь, но никакую удачу. Я предпочел бы просто использовать способность, но к сожалению версии, в которых я нуждаюсь, еще не доступны. Если кто-либо знает, как решить проблему компоновщика (или что я думаю, проблема компоновщика), или знает о лучшем способе сказать апачу использовать более новый openssl, это значительно ценилось бы; у меня есть апач 1.0.1i работающий иначе.
Зафиксированный это, хотя я не уверен точно, какова проблема была. Я изменил две вещи:
Первый, я установил на одиноком каталоге (--prefix=/opt/httpd/
) рядом с openssl. Я не думаю, что это имело значение, но не имейте времени для подтверждения этого.
--with-included-apr
опция, когда я выполнил апача ./configure
.
Шаги для добавления исходного кода для определения источника дерева:
$ tar zxvf httpd-2.4.10.tar.gz
$ cd httpd-2.4.10/srclib/
$ tar zxvf ../../apr-1.5.1.tar.gz
$ ln -s apr-1.5.1/ apr
$ tar zxvf ../../apr-util-1.5.3.tar.gz
$ ln -s apr-util-1.5.3/ apr-util
Команда раньше настраивала апача (с другими включенными модулями, опущенными для краткости):
$ ./configure \
--prefix=/opt/httpd \
--with-included-apr \
--enable-ssl \
--with-ssl=/opt/openssl-1.0.1i \
--enable-ssl-staticlib-deps \
--enable-mods-static=ssl