Memcached adalah software gratis dan open source yang menyimpan cache dalam memory. Memcached paling sering digunakan untuk mempercepat aplikasi dengan caching berbagai objek dari hasil panggilan database.

Kami sarankan Anda untuk menguji setiap tutorial atau panduan yang ada di Internet di virtual machine (vmware atau virtualbox) sebelum menerapkan ke server produksi, agar tidak mengacaukan sistem yang berjalan ketika ada kesalahan.

Dalam tutorial ini, kita akan membahas proses menginstal dan mengkonfigurasi Memcached versi terbaru di Centos 7.

Persiapan

Sebelum melanjutkan dengan tutorial ini, pastikan Anda masuk sebagai pengguna biasa dengan hak istimewa sudo.

Install Memcached

Paket memcached disertakan dalam repositori default CentOS 7. Instalasi pun cukup mudah, cukup ikuti langkah-langkah di berikut :

sudo yum install memcached libmemcached

Paket libmemcached berisi beberapa alat baris perintah untuk mengelola server Memcached.

Setelah instalasi selesai, mulai dan aktifkan layanan Memcached

sudo systemctl start memcached
sudo systemctl enable memcached

Pada poin ini, Memcached telah terinstal dan berjalan di server CentOS 7 Anda.

Konfigurasi Memcached di Ubuntu

Memcached dapat dikonfigurasi dengan mengedit file /etc/sysconfig/memcached. Secara default, Memcached dikonfigurasikan untuk listen koneksi di semua interface.

Dalam sesi di bawah ini, kita akan membahas cara bagaimana konfigurasi memcached untuk akses lokal dan remote access.

Ketika Memcached dikonfigurasi dengan tidak tepat, dapat digunakan untuk melakukan serangan distributed denial-of-service (DDoS).

Local Access

Jika klien yang terhubung ke server juga berjalan di host yang sama, disarankan untuk mengatur layanan Memcached untuk listen koneksi dari localhost saja.

Untuk melakukannya, buka file konfigurasi memcached dengan teks editor Anda:

sudo nano /etc/sysconfig/memcached

Dalam parameter OPTIONS,  tambahkan -l 127.0.0.1. Pengaturan ini akan menginstruksikan Memcached untuk bind pada interface yang ditentukan saja.

OPTIONS="-l 127.0.0.1"

Restart Memcached agar perubahan segera di terapkan :

sudo systemctl restart memcached

Remote Access

Jika aplikasi yang akan terhubung ke Memcached di-host di remote server, Anda perlu mengkonfigurasi firewall dan mengizinkan akses ke port Memcached 11211 hanya dari alamat IP klien.

Contoh berikut mengasumsikan bahwa Anda ingin terhubung ke server Memcached melalui jaringan pribadi. IP server Memcached adalah 192.168.100.20 dan alamat IP klien adalah 192.168.100.30

CentOS dilengkapi dengan alat konfigurasi firewall FirewallD. Perintah di bawah ini akan membuat zona baru bernama memcached, buka port 11211 dan izinkan akses hanya dari alamat IP klien.

sudo firewall-cmd --new-zone=memcached --permanent
sudo firewall-cmd --zone=memcached --add-port=11211/udp --permanent
sudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanent
sudo firewall-cmd --zone=memcached --add-source=192.168.100.30/32 --permanent
sudo firewall-cmd --reload

Setelah firewall Anda dikonfigurasi, langkah selanjutnya adalah mengedit konfigurasi Memcached dan mengatur layanan untuk listen pada private network server:

Buka file konfigurasi memcached:

sudo nano /etc/sysconfig/memcached

Pada bagian parameter OPTIONS tambahakan IP address server -l 192.168.100.20:

OPTIONS="-l 192.168.100.20"

Simpan file dan restart layanan memcached dengan mengetik perintah :

sudo systemctl restart memcached

Koneksi ke Memcached

Untuk terhubung ke server Memcached, Anda perlu menggunakan klien khusus untuk menterjemahkan bahasa pemrograman.

Koneksi ke Memcached menggunakan PHP

Untuk menggunakan Memcached sebagai caching database untuk aplikasi PHP Anda seperti WordPress, Drupal, Joomla atau Magento, Anda perlu menginstal ekstensi php--pecl-memcached:

sudo apt install php-pecl-memcache

Koneksi ke Memcached menggunakan Python

Ada beberapa Python libraries untuk berinteraksi dengan memcache. Anda dapat menginstal libraries pilihan Anda menggunakan pip:

pip install pymemcache
pip install python-memcached

Kesimpulan

Anda telah belajar cara menginstal Memcached di server CentOS 7. Untuk informasi lebih lanjut tentang topik ini, konsultasikan dengan Memcached Wiki.