如何使用Apache2.2.9中的mod_ssl将openssl 0.9.8升级到1.0.2
我被要求在SUSEE11SP3中使用openssl 1.0.2重新编译如何使用Apache2.2.9中的mod_ssl将openssl 0.9.8升级到1.0.2,apache,autoconf,suse,php-openssl,mod-ssl,Apache,Autoconf,Suse,Php Openssl,Mod Ssl,我被要求在SUSEE11SP3中使用openssl 1.0.2重新编译mo_ssl。 不过,我是Suse的新手,但对linux略知一二 操作系统:Suse SE11SP3 Openssl:0.9.8j由于Alvits的帮助, 我可以第一次用stackoverflow写下这个答案 !!阿尔维茨的荣誉 我最初的任务是,我需要在本地目录中安装不同版本的openssl,这与系统openssl不同。但是我喜欢制作mod_ssl,它链接到更新的openssl 首先,我安装了带有共享选项的openssl,我
mo_ssl
。
不过,我是Suse的新手,但对linux略知一二
- 操作系统:Suse SE11SP3
- Openssl:0.9.8j由于Alvits的帮助,
我可以第一次用stackoverflow写下这个答案
!!阿尔维茨的荣誉强>
我最初的任务是,我需要在本地目录中安装不同版本的openssl,这与系统openssl不同。但是我喜欢制作mod_ssl,它链接到更新的openssl
首先,我安装了带有共享选项的openssl,我最初忘记了它,并且没有创建mod_ssl。所以小心别忘了
下一步,我添加了一些环境变量。前缀是我的本地目录。 安装时请使用不同的名称而不是前缀cd openssl_source_direcotry ./config -fPIC shared --prefix=/PREFIX/openssl --openssldir=/PREFIX/openssl make make test make install
下一步是重新编译apache服务器。我假设您的服务器上已经安装了apache服务器export LIBS=-ldl export LD_LIBRARY_PATH="/PREFIX/openssl/lib" export LDFLAGS="-L/PREFIX/openssl" export CPPFLAGS="-I/PREFIX/openssl/include/openssl" export CFLAGS="-Wl,-rpath=/PREFIX/openssl/lib:/usr/lib -I/PREFIX/openssl/include/openssl"
接下来,转到apache22/modules以确认mod_ssl.so是否正确链接./configure --prefix=/PREFIX/apache22 --with-apr=/PREFIX/apache22/bin --with-apr-util=/PREFIX/apache22/bin --enable-so --enable-ssl=shared -with-ssl=/PREFIX/openssl --enable-module=shared CC=/usr/bin/gcc make install
ldd mod_ssl.so linux-vdso.so.1 => (0x00007fff823ff000) libssl.so.1.0.0 => /PREFIX/openssl/lib/libssl.so.1.0.0 (0x00007fb3b32d4000) libcrypto.so.1.0.0 => /PREFIX/openssl/lib/libcrypto.so.1.0.0 (0x00007fb3b2e8c000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb3b2c3e000) libc.so.6 => /lib64/libc.so.6 (0x00007fb3b28c7000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fb3b26c2000) /lib64/ld-linux-x86-64.so.2 (0x00007fb3b377d000)
再打一次电话,我真的很感谢阿尔维茨的帮助。没有他的帮助,我走不了这么远 这非常有用,在重新编译apache之前,请确保将apache清理为“make clean”
将apache重新编译为清除、配置、安装的过程您是否尝试过设置
?感谢您的快速回复。对我试过了。没有成功。请告诉链接器您有首选路径。请尝试导出CPPFLAGS=“-Wl,-rpath=/PREFIX/openssl:/usr/lib-I/PREFIX/include/openssl”。阿尔维茨,非常感谢您的回复。我会试试,然后告诉你。我有个打字错误。它应该是LDFLAGS=-L/PREFIX/openssl
,而不是CFLAGS
。我正试图用最新的openssl重新编译apache,第二步遇到了问题,我的apache2位于CPPFLAGS
,但它没有/etc/apache2
目录,我运行了bin
命令并验证了该命令的结果,但是sudo find/-name apache2-type d
结果没有find
目录,您能告诉我在哪里可以找到apache2/bin
的实际位置吗?apache2/bin
cd openssl_source_direcotry ./config -fPIC shared --prefix=/PREFIX/openssl --openssldir=/PREFIX/openssl make make test make install
export LIBS=-ldl export LD_LIBRARY_PATH="/PREFIX/openssl/lib" export LDFLAGS="-L/PREFIX/openssl" export CPPFLAGS="-I/PREFIX/openssl/include/openssl" export CFLAGS="-Wl,-rpath=/PREFIX/openssl/lib:/usr/lib -I/PREFIX/openssl/include/openssl"
./configure --prefix=/PREFIX/apache22 --with-apr=/PREFIX/apache22/bin --with-apr-util=/PREFIX/apache22/bin --enable-so --enable-ssl=shared -with-ssl=/PREFIX/openssl --enable-module=shared CC=/usr/bin/gcc make install
ldd mod_ssl.so linux-vdso.so.1 => (0x00007fff823ff000) libssl.so.1.0.0 => /PREFIX/openssl/lib/libssl.so.1.0.0 (0x00007fb3b32d4000) libcrypto.so.1.0.0 => /PREFIX/openssl/lib/libcrypto.so.1.0.0 (0x00007fb3b2e8c000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb3b2c3e000) libc.so.6 => /lib64/libc.so.6 (0x00007fb3b28c7000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fb3b26c2000) /lib64/ld-linux-x86-64.so.2 (0x00007fb3b377d000)