How to install and Secure Redis on Ubuntu 22.04
Mar 25, 2022, Originally published at techvblogs.com ・4 min read
Redis is a data store that can store key-value data structures on memory and disk by optimizing the rapid creation of applications through the availability of very versatile data structures. Moreover, you can use it as a NoSQL database or even a message broker with the Pub-Sub pattern. Redis is written in C programming language. The Redis project is developed and maintained by a project core team and, as of 2015, is sponsored by Redis Labs .
Therefore, it represents one of the best solutions for developing applications requiring rapid real-time data exchange. For different application contexts, it’s one of the most used open-source databases nowadays.
This tutorial will help you install the Redis server and PHP extensions on an Ubuntu 22.04 LTS system.
Table of contents:
- Prerequisites
- Install Redis
- Configure Redis
- Install PHP Extension (Optional)
- Connect to Redis Server
- Managing the Redis Service
Step 1: Prerequisites
- System running Ubuntu 22.04
- Access Terminal Command line
- Sudo or root privileges on local or remote machines
Step 2: Install Redis
Redis packages are available under the default apt repository for the installation of Redis on an Ubuntu VPS.
Start by updating the packages to the latest version. Run the following command:
sudo apt update
Install Redis using the following command.
sudo apt install redis-server
Once the installation is completed, you can check the version of Redis using the following command.
redis-server -v
Step 3: Configure Redis
Redis can start without a configuration file using a built-in default configuration. Aim to make Any extra parameter exchange, you can use ict configuration file: /etc/redis/redis.conf
. Edit the Redis configuration file in a text editor to make changes:
sudo nano /etc/redis/redis.conf
Configure Memory
Update the following values in the Redis configuration file. You can use its configuration file /etc/redis/redis.conf
.
maxmemory 256mb
maxmemory-policy allkeys-lru
Configure supervisord
For Ubuntu, we can safely select the systemd as the supervised so that Redis can interact with your supervision tree. You can use its configuration file /etc/redis/redis.conf
.
Binding to localhost
By default, the Redis server doesn’t accept remote connections. You can connect to Redis only from 127.0.0.1 (localhost) — the machine where Redis is running.
If you are using a single server setup where the client connecting to the database is also running on the same host, you should not enable remote access. You can use its configuration file /etc/redis/redis.conf
.
bind 127.0.0.1 ::1
Verify redis is listening on all interfaces on port 6379. Run the following command:
ss -an | grep 6379
Configure Password
Configuring a Redis password enables one of its two built-in security features — the auth command, which requires clients to authenticate to access the database. You can use its configuration file /etc/redis/redis.conf
.
Redis for the changes to take effect.
sudo systemctl restart redis-server
Step 4: Install PHP Extension (Optional)
Next, if you need to use Redis with a PHP application, you need to install Redis PHP extension on your Ubuntu system. To install the Redis PHP extension, type:
sudo apt install php-redis
The installer will automatically enable the redis extension for all the pre-installed PHP versions. If your installer new PHP version after this, you can use the below command to help the redis module. Run the following command:
sudo phpenmod -v <Any PHP Version> -s ALL redis
Step 5: Connect to Redis Server
Redis provides redis-cli utility to connect to the Redis server. Run the following command:
redis-cli
Few more examples of the redis-cli command-line tool.
redis-cli info
redis-cli info stats
redis-cli info server
You can find more details about redis-cli here .
Step 6: Managing the Redis Service
Now that you have your service up and running, let’s go over basic management commands.
To stop your service, run this command:
sudo systemctl stop redis-server
To start your service, run this command:
sudo systemctl start redis-server
To disable your service, run this command:
sudo systemctl disable redis-server
To enable your service, run this command:
sudo systemctl enable redis-server
To status your service, run this command:
sudo systemctl status redis-server
Thank you for reading this article.