下面以 Debian 系统为例,说明如何从源码 编译安装 OpenSSL(常用于升级 OpenSSL 版本或自定义编译参数)。
sudo apt update
sudo apt install -y build-essential checkinstall \
zlib1g-dev libssl-dev perl
build-essential提供 gcc、make 等
perl是 OpenSSL 编译必需
以 OpenSSL 3.0.x 为例(可自行替换版本):
cd /usr/local/src
sudo wget https://www.openssl.org/source/openssl-3.0.13.tar.gz
sudo tar -xzf openssl-3.0.13.tar.gz
cd openssl-3.0.13
官方下载地址:https://www.openssl.org/source/
./config --prefix=/usr/local/openssl \
--openssldir=/usr/local/openssl \
shared zlib
参数说明:
--prefix:安装目录--openssldir:配置文件目录shared:生成动态库zlib:启用 zlib 支持如需调试:
./config --prefix=/usr/local/openssl shared zlib -d
make
make test # 可选,建议执行
sudo make install
echo "/usr/local/openssl/lib64" | sudo tee /etc/ld.so.conf.d/openssl.conf
sudo ldconfig
若是
lib而非lib64,对应修改
sudo mv /usr/bin/openssl /usr/bin/openssl.bak
sudo ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
openssl version
输出示例:
OpenSSL 3.0.13 30 Jan 2024
检查:
which openssl
openssl version
确保 PATH 和 ldconfig 正确。
重新编译依赖 OpenSSL 的软件,或设置:
export LD_LIBRARY_PATH=/usr/local/openssl/lib64
如果只是想升级:
sudo apt install openssl libssl-dev
如果你有 特定 Debian 版本(如 10/11/12) 或 要编译 OpenSSL 1.1.1 / 3.2 / 给 Nginx 用,可以告诉我,我给你更精确的命令。