1、下载openssl源码
wget http://www.openssl.org/source/openssl-1.0.1f.tar.gz
tar zxvf openssl-1.0.1f.tar.gz
2、进入源码目录,如果不是新下载解压的目录,而且以前有编译安装过的,进入目录后执行make clean以确保能重新编译
cd openssl-1.0.1f
3、为了不要和已安装的openssl混淆,这里指定一个新的安装目录
./config –prefix=/opt/ssl
4、config之后,会生成Makefile,打开Makefile找到gcc,在CFLAG参数列表里加上​​​-fPIC​​ vim Makefile

CC= gcc  
CFLAG= -fPIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM

5、编译并安装
make && make install
6、现在进入你的erlang源码安装目录,如果已经编译安装过erlang,为确保能重新编译,先执行:
make clean
7、加上openssl安装路径重新configure,如果有安装多个版本的erlang,为了可以方便找到新安装的erl,这里可以指定一个新的安装目录,示例如下:
./configure –with-ssl=/opt/ssl/ –prefix=/opt/erlang
8、编译并安装

make && make install

如果出现错误:
如果在​​​linux​​​下安装​​openssl​​​,执行​​config​​​和​​make​​​之后,在执行​​make install​​时如果出现下面的错误

cms.pod around line 457: Expected text after =item, not a number 

cms.pod around line 461: Expected text after =item, not a number
cms.pod around line 465: Expected text after =item, not a number
cms.pod around line 470: Expected text after =item, not a number
cms.pod around line 474: Expected text after =item, not a number
POD document had syntax errors at /usr/bin/pod2man line 69.

则在root权限下,执行​​rm -f /usr/bin/pod2man​​​ 然后重新​​make install​​ 9、运行刚才安装的erlang