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
Back to top button