How to Install Memcached From Source on Ubuntu 16.04

This tutorial explain how to install memcached from source on Ubuntu 16.04 (LTS) Xenial Xerus. 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.

Overview

This tutorial explain how to install memcached from source on Ubuntu 16.04 (LTS) Xenial Xerus. 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 16.04 is 1.4.25 while the latest stable of Memcached is 1.5.10.

Prerequisite

This tutorial assumes we have a fresh install of Ubuntu 16.04. Any flavor of ubuntu will works but in this tutorial I use Ubuntu Server 16.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 16.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 16.04

Now all tools installed we can start compiling Memcached on Ubuntu 16.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://memcached.org/files/memcached-1.5.11.tar.gz

To download using curl we can use command below.


curl http://memcached.org/files/memcached-1.5.11.tar.gz --output memcached-1.5.11.tar.gz

After download finished, Extract downloaded file using command below


tar xzf memcached-1.5.11.tar.gz 

Go to the new directory


cd memcached-1.5.11/

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.5.11

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.0.21

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 16.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.8-stable/libevent-2.1.8-stable.tar.gz

If you prefer curl, you can also download libevent 2.1.8 source using command below.


curl https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz --output libevent-2.1.8-stable.tar.gz

Extract downloaded file


tar xzf libevent-2.1.8-stable.tar.gz

Go to the extracted directory


cd libevent-2.1.8-stable

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


make install

We assume you already download source code of Memcached 1.5.11. Extracted the compressed source code


tar xzf memcached-1.5.11.tar.gz 

Go to the new directory


cd memcached-1.5.11/

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 16.04 (Xenial Xerus). We also tried to compile latest stable release of libevent and compile memcached with compiled libevent. Until next time.