下面是在 Linux(以常见发行版为例) 上 从源码编译安装 OpenSSL 的完整流程,适用于需要指定版本或自定义安装路径的场景。
# Debian / Ubuntu
sudo apt update
sudo apt install -y build-essential checkinstall \
zlib1g-dev libssl-dev
# CentOS / Rocky / Alma
sudo yum groupinstall -y "Development Tools"
sudo yum install -y zlib-devel
openssl version
以 OpenSSL 3.2.1 为例(推荐 3.x 系列):
cd /usr/local/src
sudo wget https://www.openssl.org/source/openssl-3.2.1.tar.gz
sudo tar -zxvf openssl-3.2.1.tar.gz
cd openssl-3.2.1
官方下载地址:
https://www.openssl.org/source/
sudo mkdir -p /usr/local/openssl
./Configure \
--prefix=/usr/local/openssl \
--openssldir=/usr/local/openssl \
shared \
zlib
常用参数说明:
| 参数 | 说明 |
|---|---|
--prefix |
安装路径 |
--openssldir |
配置文件路径 |
shared |
编译动态库 |
zlib |
启用 zlib 支持 |
no-tests |
跳过测试(可选,加快编译) |
make -j$(nproc)
sudo make install
编译时间较长,请耐心等待
echo "/usr/local/openssl/lib64" | sudo tee /etc/ld.so.conf.d/openssl.conf
sudo ldconfig
如果是 32 位系统,可能是
lib而不是lib64
编辑 ~/.bashrc 或 /etc/profile:
export PATH=/usr/local/openssl/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/openssl/lib64:$LD_LIBRARY_PATH
生效:
source ~/.bashrc
openssl version
输出示例:
OpenSSL 3.2.1 30 Jan 2024
✅ 推荐 不要直接覆盖系统 OpenSSL
✅ 使用 --prefix 安装到 /usr/local/openssl
./configure --with-openssl=/usr/local/openssl
尝试:
make clean
./Configure ...
make
sudo rm -rf /usr/local/openssl
sudo rm /etc/ld.so.conf.d/openssl.conf
sudo ldconfig
如果你告诉我:
我可以给你 完全定制化的编译方案 ✅