如何编译安装Tomcat的Native库?

Tomcat

1 基础知识

Tomcat的Native库允许Tomcat使用OpenSSL作为JSSE的替代品来支持TLS连接

2 最佳实践

2.1 环境配置

如果你没有Tomcat的环境,可参阅如下章节部署,

如何基于RHEL 9.x部署TomCat之二?

2.2 编译Tomcat Native

2.2.1 准备软件包

cd /usr/tomcat/apache-tomcat-9.0.5/bin/
tar -xf tomcat-native.tar.gz

2.2.2 预编译软件包

cd /usr/tomcat/apache-tomcat-9.0.5/bin/tomcat-native-1.2.16-src/native/
./configure --with-apr=/usr/bin/apr-1-config \
            --with-java-home=$JAVA_HOME \
            --with-ssl=yes \
            --prefix=/usr

如果遇到如下错误提示,

checking for APR... configure: error: the --with-apr parameter is incorrect. It must specify an install prefix, a build directory, or an apr-config file.

你需要使用如下命令解决此依赖关系,

dnf install -y apr-devel

如果遇到如下错误提示,

configure: error: in `/usr/tomcat/apache-tomcat-9.0.5/bin/tomcat-native-1.2.16-src/native':
configure: error: C compiler cannot create executables

你需要使用如下命令解决此依赖关系,

dnf install -y gcc

如果遇到如下错误提示,

checking OpenSSL library version >= 1.0.2... configure: error: Your version of OpenSSL is not compatible with this version of tcnative

你需要使用如下命令解决此依赖关系,

dnf install -y openssl-devel

2.2.3 编译软件包

make

如果遇到如下错误提示,

gcc: fatal error: cannot read spec file ‘/usr/lib/rpm/redhat/redhat-hardened-cc1’: No such file or directory

你需要使用如下命令解决此依赖关系,

dnf install -y redhat-rpm-config

2.2.4 安装软件包

make install

2.2.5 确认库注册成功

ldconfig -v 2>&1 | grep -i native

如果见到如下行则表明库加载成功,

        libtcnative-1.so.0 -> libtcnative-1.so.0.2.16

参阅文档
=================
https://tomcat.apache.org/native-doc/

没有评论

发表回复

Tomcat
如何用JSSE配置Tomcat 9 HTTPS?

1 前言 一个问题,一篇文章,一出故事。 笔者需要在Tomcat生产环境启用Tomcat的HTTPS …

Tomcat
如何用OpenSSL SSL/TLS配置Tomcat 9 HTTPS?

1 前言 一个问题,一篇文章,一出故事。 笔者需要在Tomcat生产环境启用Tomcat的HTTPS …

编译安装
如何基于Oracle Linux 9.x 编译BerkeleyDB?

1 基础知识 1.1 简介 Berkeley DB是一个开源的文件数据库,介于关系数据库与内存数据库 …