Building OpenSSL 0.9.8c
Building a Web Server, for Linux
- Package(Linux source) : openssl-0.9.8c.tar.gz
- Unpack with command...
tar -xzf openssl-0.9.8c.tar.gz
- Install to : /usr/local/ssl
- Module type : dynamically and staticly loaded modules, *.so *.a
.../openssl-0.9.8c]# ./config --prefix=/usr/local/ssl-0.9.8c shared zlib-dynamic enable-camellia
[this is the installation location; default is '/usr/local/ssl' -- which we will symlink]
[in addition to the usual static libraries, create shared libraries]
[like "zlib", but has OpenSSL load the zlib library dynamically when needed]
[enables the symmetric cipher 'Camellia' (128-bit, 192-bit, 256-bit key versions), which is now available for royalty-free use]
display guess on system made by './config'...
.../openssl-0.9.8c]# ./config -t
Build and Install
.../openssl-0.9.8c]# make depend
[step required since extra cipher was enabled]
.../openssl-0.9.8c]# make test
.../openssl-0.9.8c]# make install
Form symlink from '/usr/local/ssl-0.9.8c' to '/usr/local/ssl'
...]# cd /usr/local
/usr/local]# ln -s ssl-0.9.8c ssl
Update the Run-time Linker
ld.so.cache will need to be updated with the location of the new OpenSSL shared libs: libcrypto.so.0.9.8 and libssl.so.0.9.8
Sometimes it is sufficient to just symlink or copy these two files to /lib, but we recommend you follow these instructions instead.
Edit /etc/ld.so.conf, add to paths...
Update the run-time linker...
Update the PATH
Edit /root/.bash_profile, add to PATH variable...
[sanity check] OpenSSL
Verify that binary 'openssl' is linking against the correct ssl libraries...
...]# ldd /usr/local/ssl/bin/openssl
- libssl.so.0.9.8 => /usr/local/ssl-0.9.8c/lib/libssl.so.0.9.8 ...
- libcrypto.so.0.9.8 => /usr/local/ssl-0.9.8c/lib/libcrypto.so.0.9.8 ...
...]# which openssl
...]# openssl version
OpenSSL 0.9.8c 05 Sep 2006
If another path, or an older version is shown, your system contains a previously installed OpenSSL that is first [relative to the newer openssl] in the path.
Repeate the steps in section 'Update the PATH', except place the specified location at the start of the PATH variable.
Note that the older openssl, on most systems, is located under /usr/bin
The location of 'openssl' can be found with...
...]# which openssl