Install Latest curl version 7.84.0 on Ubuntu 22.04/20.04/HestiaCP/VestaCP
In this tutorial we’ll install Latest version of curl on Ubuntu OS/server. By default Ubuntu curl version is old and doesn’t have any updated package available. You can follow this tutorial to install latest version of curl on Ubuntu server.
Short Description on curl :
curl is a command line tool and library for transferring data with URL syntax, supporting HTTP, HTTPS, FTP, FTPS, GOPHER, TFTP, SCP, SFTP, SMB, TELNET, DICT, LDAP, LDAPS, FILE, IMAP, SMTP, POP3, RTSP and RTMP. libcurl offers a myriad of powerful features. curl is used in command lines or scripts to transfer data. It is also used in cars, television sets, routers, printers, audio equipment, mobile phones, tablets, settop boxes, media players and is the internet transfer backbone for thousands of software applications affecting billions of humans daily.
Step 1 :
Remove current installed curl if installed :
apt remove curl apt purge curl
Step 2 :
Install Curl dependencies :
apt install -y build-essential libcurl4 openssl libssl-dev libssh-dev zlib1g-dev zlib libbrotli-dev brotli libkrb5-dev libldap2-dev librtmp-dev libpsl-dev libnghttp2-dev
Step 3 :
Download and Install curl :
run this commands one by one in ssh terminal :
cd /usr/local/src rm -rf curl* wget https://curl.se/download/curl-7.84.0.zip unzip curl-7.84.0.zip cd curl-7.84.0 ./configure --with-ssl --with-zlib --with-gssapi --enable-ldap --enable-ldaps --with-libssh --with-nghttp2 make make install
Step 4:
Checking curl version :
curl -V
example output :
root@mysterydata:# curl -V curl 7.84.0 (x86_64-pc-linux-gnu) libcurl/7.82.0 OpenSSL/1.1.1 zlib/1.2.11 brotli/1.0.4 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) libssh/0.7.0/openssl/zlib nghttp2/1.30.0 librtmp/2.3 Release-Date: 2022-03-05 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp Features: AsynchDNS brotli GSS-API HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets
Thats it you’ve installed latest curl version on Ubuntu server
Troubleshoot :
if you get this errors :
curl: symbol lookup error: curl: undefined symbol: curl_url_cleanup curl: symbol lookup error: curl: undefined symbol: curl_mime_free
Run the below Steps ensure you’re using root (sudo):
apt build-dep curl
Then run Step 3 commands
Now Run this command to build shared lib cache and links :
ldconfig
ZLIB not found or not installing
*** Unable to locate package zlib
you can install ZLib from repository :
apt install zlib1g-dev zlib1g
Zlib Install from DEB :
For Ubuntu :
cd /usr/local/src wget http://security.ubuntu.com/ubuntu/pool/main/z/zlib/zlib1g_1.2.11.dfsg-2ubuntu5_amd64.deb wget http://security.ubuntu.com/ubuntu/pool/main/z/zlib/zlib1g-dev_1.2.11.dfsg-2ubuntu5_amd64.deb dpkg -i zlib1g_1.2.11.dfsg-2ubuntu5_amd64.deb dpkg -i zlib1g-dev_1.2.11.dfsg-2ubuntu5_amd64.deb
Zlib Install from Source :
cd /usr/local/src wget http://www.zlib.net/zlib1211.zip unzip zlib1211.zip cd zlib-1.2.11 ./configure --prefix=/usr/local/zlib make && make install