Redis adalah penyimpanan nilai kunci dalam memori sumber terbuka gratis yang mendukung berbagai jenis struktur data. Anda dapat menggunakannya sebagai database, cache, perantara pesan, dan antrian. Ini digunakan untuk membangun aplikasi web berkinerja tinggi dan skalabel. Ini mendukung berbagai bahasa pemrograman seperti, Java, PHP, C, Perl, Python, C#, Lua, Go, dan banyak lagi. Ini adalah lintas platform dan berfungsi di sebagian besar sistem operasi berbasis Unix termasuk, Linux, *BSD, dan OS X.
Dalam tutorial ini, kami akan menjelaskan cara menginstal Redis di server CentOS 8.
Prasyarat
- Server yang menjalankan CentOS 8.
- Sandi root dikonfigurasi untuk server.
Instal Server Redis
Secara default, paket Redis tersedia di repositori default CentOS 8. Anda dapat menginstalnya dengan menjalankan perintah berikut:
dnf install redis -y
Setelah menginstal server Redis, mulai layanan Redis dan aktifkan untuk memulai pada sistem reboot dengan perintah berikut:
systemctl start redis
systemctl enable redis
Anda juga dapat memverifikasi status server Redis dengan perintah berikut:
systemctl status redis
Anda akan mendapatkan output berikut:
Loaded: loaded (/usr/lib/systemd/system/redis.service; disabled; vendor preset: disabled) Drop-In: /etc/systemd/system/redis.service.d ??limit.conf Active: active (running) since Tue 2020-09-15 04:52:54 EDT; 6s ago Main PID: 3076 (redis-server) Tasks: 4 (limit: 12527) Memory: 6.6M CGroup: /system.slice/redis.service ??3076 /usr/bin/redis-server 127.0.0.1:6379 Sep 15 04:52:54 centos8 systemd[1]: Starting Redis persistent key-value database... Sep 15 04:52:54 centos8 systemd[1]: Started Redis persistent key-value database.
Secara default, Redis mendengarkan pada port 6379. Anda dapat memeriksanya dengan perintah berikut:
ss -ant | grep 6379
Anda akan mendapatkan output berikut:
LISTEN 0 128 127.0.0.1:6379 0.0.0.0:*
Selanjutnya, uji konektivitas Redis dengan perintah berikut:
redis-cli
Anda akan melihat output berikut:
127.0.0.1:6379>
Sekarang, jalankan perintah berikut untuk memeriksa konektivitas:
127.0.0.1:6379> ping
Anda akan melihat output berikut:
PONG
Konfigurasi Redis Cache
Selanjutnya, Anda perlu mengonfigurasi Redis sebagai server caching. Anda dapat melakukannya dengan mengedit file konfigurasi Redis:
nano /etc/redis.conf
Tambahkan baris berikut di akhir file:
maxmemory 128mb maxmemory-policy allkeys-lru
Simpan dan tutup file setelah Anda selesai. Kemudian, restart layanan Redis dengan perintah berikut:
systemctl restart redis
Server Redis Aman
Secara default, redis-cli memungkinkan Anda untuk menjalankan perintah apa pun di dalam shell Raedis. Jadi ada baiknya untuk mengamankan shell Redis dengan kata sandi. Anda dapat mengaktifkan otentikasi kata sandi dengan mengedit file /etc/redis.conf:
nano /etc/redis.conf
Temukan baris berikut:
# requirepass foobared
Dan, ganti dengan baris berikut:
requirepass A	D3Fs4%#df
Simpan dan tutup file setelah Anda selesai. Kemudian, restart layanan Redis untuk menerapkan perubahan konfigurasi:
systemctl restart redis
Sekarang, sambungkan ke Redis dengan perintah berikut:
redis-cli
Setelah terhubung, jalankan perintah berikut:
127.0.0.1:6379> INFO server
Anda akan mendapatkan kesalahan berikut karena Anda tidak mengautentikasi.
NOAUTH Authentication required.
Sekarang, jalankan perintah berikut untuk mengautentikasi dengan kata sandi yang ditentukan dalam file konfigurasi Redis:
127.0.0.1:6379> AUTH A	D3Fs4%#df
Anda akan melihat output berikut:
OK
Sekarang, jalankan perintah berikut:
127.0.0.1:6379> INFO server
Anda akan mendapatkan output berikut:
# Server redis_version:5.0.3 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:28849dbea6f07cc8 redis_mode:standalone os:Linux 4.18.0-193.14.2.el8_2.x86_64 x86_64 arch_bits:64 multiplexing_api:epoll atomicvar_api:atomic-builtin gcc_version:8.3.1 process_id:3176 run_id:2bf42acb9a0c0f251220c9bf5d66982b1c0b1d87 tcp_port:6379 uptime_in_seconds:41 uptime_in_days:0 hz:10 configured_hz:10 lru_clock:6324712 executable:/usr/bin/redis-server config_file:/etc/redis.conf
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Ganti Nama Dangerous Command
Disarankan juga untuk mengganti nama beberapa perintah berbahaya di dalam shell Redis. Salah satu perintah yang berbahaya adalah "config". Ini digunakan untuk mengambil kata sandi Redis.
Mari kita lihat cara mengambil kata sandi Redis dengan perintah "config".
Pertama, sambungkan ke Redis dengan perintah berikut:
redis-cli
Setelah terhubung, autentikasi Redis dengan perintah berikut:
127.0.0.1:6379> AUTH A	D3Fs4%#df
Selanjutnya, ambil kata sandi Redis menggunakan perintah berikut:
127.0.0.1:6379> config get requirepass
Anda harus mendapatkan kata sandi Redis di output berikut:
1) "requirepass" 2) "A	D3Fs4%#df"
Anda dapat mengganti nama perintah "config" dengan mengedit file /etc/redis.conf:
nano /etc/redis.conf
Temukan baris berikut:
# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
Dan, ganti dengan baris berikut:
rename-command CONFIG hitredis
Simpan dan tutup file. Kemudian, restart layanan Redis dengan perintah berikut:
systemctl restart redis
Sekarang, sambungkan dan autentikasi Redis dengan perintah berikut:
redis-cli
127.0.0.1:6379> AUTH A	D3Fs4%#df
Sekarang, ambil kata sandi Redis dengan perintah "config":
127.0.0.1:6379> config get requirepass
Anda akan mendapatkan kesalahan berikut:
(error) ERR unknown command `config`, with args beginning with: `get`, `requirepass`,
Sekarang, jalankan perintah yang diubah namanya seperti yang ditunjukkan di bawah ini:
127.0.0.1:6379> hitredis get requirepass
Anda harus mendapatkan kata sandi Redis Anda di output berikut:
1) "requirepass" 2) "A	D3Fs4%#df"
Kesimpulan
Selamat! Anda telah berhasil menginstal dan mengamankan server Redis di CentOS 8. Sekarang Anda dapat meng-host aplikasi Anda untuk mengonfigurasinya untuk menggunakan cache Redis. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.