How to install and Secure Redis on Ubuntu 20.04
Redis is an open-source (BSD licensed), in-memory data structure store. You can use it as a Memcached alternative to store simple key-value pairs. 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.
Table of Contents:
- Install Redis
- Configure Redis
- Install PHP Extension (Optional)
- Connect to Redis Server
- Managing the Redis Service
Step 1: Prerequisites
- System running Ubuntu 20.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.
Step 3: Configure Redis
Redis can start without a configuration file using a built-in default configuration. But to make any extra parameter changes, you can use its configuration file:
/etc/redis/redis.conf. Edit the Redis configuration file in a text editor to make changes:
sudo nano /etc/redis/redis.conf
Update the following values in the Redis configuration file. You can use its configuration file:
maxmemory 256mb maxmemory-policy allkeys-lru
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:
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:
bind 127.0.0.1 ::1
Verify redis is listening on all interfaces on port 6379. Run the following command:
ss -an | grep 6379
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:
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:
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!!