温馨提示×

OpenSSL在Linux怎么编译安装

小樊
42
2026-08-13 21:27:14
栏目: 云计算

下面是在 Linux(以常见发行版为例)从源码编译安装 OpenSSL 的完整流程,适用于需要指定版本或自定义安装路径的场景。


一、准备编译环境

1. 安装依赖

# 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 源码

1. 查看当前系统 OpenSSL 版本(可选)

openssl version

2. 下载指定版本

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/


三、配置编译参数

1. 创建安装目录(推荐)

sudo mkdir -p /usr/local/openssl

2. 配置

./Configure \
  --prefix=/usr/local/openssl \
  --openssldir=/usr/local/openssl \
  shared \
  zlib

常用参数说明:

参数 说明
--prefix 安装路径
--openssldir 配置文件路径
shared 编译动态库
zlib 启用 zlib 支持
no-tests 跳过测试(可选,加快编译)

四、编译并安装

make -j$(nproc)
sudo make install

编译时间较长,请耐心等待


五、配置系统环境

1. 配置动态链接库

echo "/usr/local/openssl/lib64" | sudo tee /etc/ld.so.conf.d/openssl.conf
sudo ldconfig

如果是 32 位系统,可能是 lib 而不是 lib64


2. 配置环境变量

编辑 ~/.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

七、常见问题

1. 系统自带 OpenSSL 冲突

✅ 推荐 不要直接覆盖系统 OpenSSL
✅ 使用 --prefix 安装到 /usr/local/openssl


2. 编译 Python / Nginx 时使用新 OpenSSL

./configure --with-openssl=/usr/local/openssl

3. 编译失败

尝试:

make clean
./Configure ...
make

八、卸载(可选)

sudo rm -rf /usr/local/openssl
sudo rm /etc/ld.so.conf.d/openssl.conf
sudo ldconfig

如果你告诉我:

  • Linux 发行版(Ubuntu / CentOS / Rocky)
  • 是否需要 OpenSSL 1.1.1 / 3.0 / 3.2
  • 是否用于 Python / Nginx / CMake

我可以给你 完全定制化的编译方案

0