如何编译安装curl或libcurl-devel?

编译安装

1 基础知识

1.1 libcurl的介绍

libcurl是一个免费且易于使用的客户端URL传输库

1.2 libcurl的功能

– 支持DICT,FILE,FTP,FTPS,Gopher,HTTP,HTTPS,IMAP,IMAPS,LDAP和LDAPS协议
– 支持POP3,POP3S,RTMP,RTSP,SCP, SFTP,SMTP,SMTPS,Telnet和TFTP协议
– 支持SSL证书
– 支持HTTP POST,HTTP PUT,FTP上传
– 基于HTTP表单的上传
– 支持代理
– 支持cookie
– 支持用户+密码验证(基本,摘要,NTLM,协商,Kerberos)
– 支持文件传输恢复
– 支持http代理隧道等等

1.3 libcurl的兼容性

– libcurl具有高度可移植性,可在多种平台上构建和工作
– libcurl支持Solaris,NetBSD,FreeBSD,OpenBSD,Darwin,HPUX,IRIX,AIX,Tru64,Linux系统
– libcurl支持UnixWare,HURD,Windows,Amiga,OS / 2,BeOs,Mac OS X,Ultrix,QNX系统
– libcurl支持OpenVMS,RISC OS,Novell NetWare,DOS等系统

2 最佳实践

2.1 安装前的准备

2.1.1 安装编译工具

yum -y install gcc gcc-c++ make expat-devel

2.1.2 下载软件包

cd ~
wget https://curl.haxx.se/download/curl-7.65.3.tar.gz

注意:其他版本请从以下目录下载,
https://curl.haxx.se/download/

2.1.3 解压软件包

cd ~
tar -xf curl-7.65.3.tar.gz

2.2 编译安装

2.2.1 预编译软件库

cd ~/curl-7.65.3
./configure --prefix=/usr/local/curl-7.65.3 \
            --with-nghttp2 \
            --with-ssl

参数“–with-nghttp2”需要安装以下包解决依赖关系,

yum install -y libnghttp2-devel

如果遇到以下错误提示,

configure: error: --with-ssl was given but OpenSSL could not be detected

需要安装如下包解决依赖关系,

yum install openssl-devel

2.2.2 编译并安装软件库

make
make install

2.2.3 配置程序环境变量

echo 'export CURL_HOME=/usr/local/curl-7.65.3' > /etc/profile.d/curl.sh
echo 'export PATH=${CURL_HOME}/bin:$PATH' >> /etc/profile.d/curl.sh
source /etc/profile

配置完成后,请使用如下命令测试,

curl -V

可见如下显示,

curl 7.65.3 (x86_64-pc-linux-gnu) libcurl/7.65.3 OpenSSL/1.0.2k-fips zlib/1.2.7
Release-Date: 2019-07-19
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL UnixSockets

2.2.4 加载动态库

echo /usr/local/curl-7.65.3/lib/ > /etc/ld.so.conf.d/curl-7.65.3.conf

配置完成后,请使用以下命令去人加载,

ldconfig -v

2.2.5 确认软件可用

/usr/local/curl-7.65.3/bin/curl-config --version

显示如下,

libcurl 7.55.1

参阅文档
==================

编译安装的文档
————–
https://curl.haxx.se/docs/install.html

官方首页
————-
https://curl.haxx.se/libcurl/

软件下载
————–
https://curl.haxx.se/download/
https://curl.haxx.se/download.html

没有评论

发表回复

PHP
如何编译安装php-fpm的模块?

1 前言 一个问题,一篇文章,一出故事。 笔者最新部署了一个PHP-FPM的环境,本章将整理如何部署 …

PHP
如何基于Oracle Linux 9.x编译安装PHP-FPM 8.x?

1 前言 一个问题,一篇文章,一出故事。 PHP-FPM可以跟Nginx配合使Nginx环境具备运行 …

Tomcat
如何编译安装Tomcat的Native库?

1 基础知识 Tomcat的Native库允许Tomcat使用OpenSSL作为JSSE的替代品来支 …