怎样编译安装mod_gnutls

2020年10月29日 | 分类: 【技术】

【介绍】

参考:https://amon.org/mod_gnutls-old

【依赖】

GNUTLS:

参考:https://amon.org/gnutls

Python 3:

参考:https://amon.org/python

参考:https://developer.aliyun.com/article/640213

EPEL 7仓库提供了Python3(python 3.6)的安装源,如果你使用CentOS7或更新的版本的系统你也可以按照下面的步骤很轻松的从EPEL仓库安装。

用yum安装python 3.6:

sudo yum install epel-release
sudo yum install python36
mv /usr/bin/python /usr/bin/python2.7.5
ln -sv /usr/bin/python3.6 /usr/bin/python

安装 yaml 模块:

pip install pyyaml

运行pip命令会报错:

/usr/bin/pip: No such file or directory

通过命令查找pip位置:

which pip

输出:

/usr/local/bin/pip

输入:

type pip

输出:

pip is hashed (/usr/bin/pip)

发现pip升级之后的位置已经更改为/usr/local/bin/pip,但是pip的缓存地址依旧是/usr/bin/pip

解决方法很简单,通过如下命令清除缓存

hash -r

清除缓存之后,pip命令就能使用了。

修改完python默认版本之后,会存不能执行yum命令,需要做一些修改,如下:

/usr/bin/yum 顶部
/usr/bin/yum-config-manager 顶部
/usr/libexec/urlgrabber-ext-down 顶部

#!/usr/bin/python2.7.5

【安装】

参考:https://mod.gnutls.org/wiki/develop

下载:https://mod.gnutls.org/downloads/

wget https://mod.gnutls.org/downloads/mod_gnutls-0.10.0.tar.bz2 && tar -xjvf mod_gnutls-0.10.0.tar.bz2 && cd mod_gnutls-0.10.0
export LIBGNUTLS_CFLAGS="-I/usr/include/gnutls" LIBGNUTLS_LIBS="-L/usr/lib -lgnutls"
./configure --with-apxs=/usr/local/apache2/bin/apxs
make && make install

配置信息:

Configuration summary for mod_gnutls:

   * mod_gnutls version:        0.10.0
   * Apache Modules directory:  /usr/local/apache2/modules
   * GnuTLS Library version:
   * CFLAGS for GnuTLS:         -I/usr/include/gnutls
   * LDFLAGS for GnuTLS:        -L/usr/lib -lgnutls
   * SRP Authentication:        no
   * MSVA Client Verification:  no
   * Build documentation:       no

输出:

...
Libraries have been installed in:
   /usr/local/apache2/modules

输出:

编译安装完成。

【验证】

设置Apache,重启Apache之后,查看phpinfo:

...
Apache Environment
Variable	Value
HTTPS 	on
SSL_VERSION_LIBRARY 	GnuTLS/3.6.5
SSL_VERSION_INTERFACE 	mod_gnutls/0.9.0
SSL_PROTOCOL 	TLS1.3 
...