How To Install Memcached From Source on Ubuntu 20.04
Categories:
Overview
This tutorial explain how to install memcached from source on Ubuntu 20.04 (LTS) Focal Fossa. Memcached can be use for any caching usage but mostly used by dynamic web application to reduce database load. We can also cache API calls and page rendering.
Memcached (pronounced: mem-cash-dee) is a free, high performance, distributed memory object caching system.
Why Memcached from source? Ubuntu already shipped with Memcached but not the latest version. The version shipped with Ubuntu 20.04 is 1.5.22 while the latest stable of Memcached is 1.6.9.
Prerequisite
This tutorial assumes we have a fresh install of Ubuntu 20.04. Any flavor of ubuntu will works but in this tutorial I use Ubuntu Server 20.04.
Install Tools and Dependencies
Before we can compile memcached, we need to install tools to compile memcached and memcached dependencies.
We can use command below to install three packages needed so we can compile memcached on ubuntu 20.04.
sudo apt-get install gcc make libevent-dev libc6-dev --no-install-recommends
We use --no-install-recommends
options so apt will only install package that we asked to install and its dependencies only.
You can see description of each package that we install below:
- gcc is GNU C compiler that will be used to compile memcached source code
- make is utility for directing compilation
- libc6-dev is GNU C library and header files
- libevent-dev is asynchronous event notification library development files
Compile Memcached on Ubuntu 20.04
Now all tools installed we can start compiling Memcached on Ubuntu 20.04.
Download memcached source code from memcached website. To get latest version of Memcached you can visit Memcached download page.
To download using wget
we can use command below.
wget -c http://www.memcached.org/files/memcached-1.6.9.tar.gz
To download using curl
we can use command below.
curl http://www.memcached.org/files/memcached-1.6.9.tar.gz --output memcached-1.6.9.tar.gz
After download finished, Extract downloaded file using command below
tar xzf memcached-1.6.9.tar.gz
Go to the new directory
cd memcached-1.6.9/
Configure the code before we can compile memcached. We will use --prefix=/opt/memcached
so memcached binary and libraries will be installed on /opt/memcached instead of /usr/local
./configure --prefix=/opt/memcached
After configuration complete. let’s compile Memcached
make
$ ./memcached --version
memcached 1.6.9
To install memcached we can use command below
sudo make install
We need to use sudo since we’re installing on /opt
directory.
Compiling Memcached With Latest Version of Libevent
Memcached use libevent library. The one shipped with ubuntu is version 2.1.11
We can use latest version of Libevent to compile memcached. If you’re wondering why compile memcached with latest version of libevent? for now just because we can. I haven’t done any benchmark to compare memcached compiled with libevent shipped with ubuntu 20.04 and memcached compiled with latest version of libevent.
Let’s get started. Download libevent 2.1.8 using wget
wget -c https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz
Extract downloaded file
tar xzf libevent-2.1.12-stable.tar.gz
Go to the extracted directory
cd libevent-2.1.12-stable
Before we run configure, we need to install libssl-dev
package. Since this version of libevent needs openssl headers. We can install libssl-dev using the command below.
sudo apt-get install libssl-dev
Run configure with --prefix
option since we want to install libevent on /opt/libevent
instead of on default path.
./configure --prefix=/opt/libevent
Compile libevent using make
make
Install compiled libevent
sudo make install
We assume you already download source code of Memcached 1.6.9. Extracted the compressed source code
tar xzf memcached-1.6.9.tar.gz
Go to the new directory
cd memcached-1.6.9/
We run ./configure
with prefix and with-libevent option
./configure --prefix=/opt/memcached --with-libevent=/opt/libevent
Compile memcached source using make
make
We can test whether memcached already compiled successfully by checking version using command below
./memcached --version
To install compiled memcache we will use make with install option.
make install
References
Summary
In this tutorial we learned how to compile memcached from source on Ubuntu 20.04 (Focal Fossa). We also tried to compile latest stable release of libevent and compile memcached with compiled libevent. Until next time.