下面给你一个在 Linux 上从源码编译 OpenSSL 的完整、常用流程(以 OpenSSL 1.1.1 / 3.x 为例,适用于 Ubuntu / CentOS / Debian 等)。
sudo apt update
sudo apt install -y build-essential gcc make perl
sudo yum groupinstall -y "Development Tools"
sudo yum install -y perl
cd /usr/src
wget https://www.openssl.org/source/openssl-3.2.1.tar.gz
tar -xzf openssl-3.2.1.tar.gz
cd openssl-3.2.1
可去 https://www.openssl.org/source/ 查看最新版本
/usr/local/openssl)./config --prefix=/usr/local/openssl \
--openssldir=/usr/local/openssl \
shared zlib
参数说明:
--prefix:安装目录shared:生成动态库(.so)zlib:启用 zlib 压缩支持no-sharedmake -j$(nproc)
make test # 可选,但推荐
sudo make install
echo "/usr/local/openssl/lib64" | sudo tee /etc/ld.so.conf.d/openssl.conf
sudo ldconfig
/usr/local/openssl/bin/openssl version
输出示例:
OpenSSL 3.2.1 30 Jan 2024
⚠ 不推荐直接覆盖系统 openssl(可能影响系统工具)
如确实需要:
sudo mv /usr/bin/openssl /usr/bin/openssl.bak
sudo ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
openssl: error while loading shared librariessudo ldconfig
或检查 LD_LIBRARY_PATH
make -j$(nproc)
./config fips --prefix=...
wget https://www.openssl.org/source/openssl-3.2.1.tar.gz
tar -xzf openssl-3.2.1.tar.gz
cd openssl-3.2.1
./config
make
sudo make install
如果你告诉我:
我可以给你更精确的命令。