Cómo instalar Redis en Ubuntu 20.04
Redis es un almacén de claves/valores en memoria de código abierto, que se utiliza como base de datos, caché y agente de mensajes. Es una base de datos distribuida en memoria de clave-valor con durabilidad opcional. Admite estructuras de datos comunes como cadenas, hashes, listas, conjuntos, mapas de bits, conjuntos ordenados, HyperlogLogs, stream e índices geoespaciales con consultas de radio.
En este tutorial, te mostraremos cómo instalar y configurar el Servidor Redis en Ubuntu 20.04 LTS. Primero instalaremos el Servidor Redis, y luego aseguraremos la instalación para que esté lista para la producción.
Requisitos previos
Para esta guía, instalaremos el Servidor Redis en Ubuntu 20.04 con 1GB de RAM y 2 núcleos de CPU. Esto es sólo para pruebas, y necesitarás más que esto para tu producción.
Qué vamos a hacer
- Instalar el Servidor Redis
- Configuración básica del Servidor Redis
- Asegurar el Servidor Redis
- Probando
Paso 1 – Instalar el Servidor Redis
En primer lugar, actualizaremos todos los repositorios del sistema Ubuntu y actualizaremos todos los paquetes.
Ejecuta los siguientes comandos apt.
sudo apt update
sudo apt upgrade
Después, instala el paquete Redis-server desde el repositorio oficial de Ubuntu utilizando el comando apt que aparece a continuación.
sudo apt install redis-server
Una vez completada la instalación, obtendrás un mensaje de error sobre el servicio Redis que no se ha podido iniciar, ignora el mensaje de error y lo configuraremos en el siguiente paso.
Paso 2 – Configuración básica del servidor Redis
En este paso, vamos a configurar el servidor Redis básico. En el sistema Linux, la configuración de Redis se encuentra en el directorio ‘/etc/redis’.
Ve al directorio ‘/etc/redis’ y edita el archivo de configuración ‘redis.conf’ utilizando el editor vim.
cd /etc/redis/
vim redis.conf
En primer lugar, tenemos que decidir la dirección IP ‘bind’ que ejecutará el servicio redis. No es recomendable utilizar la dirección IP pública para el servicio de redis, o si estás ejecutando el servicio de redis múltiple/cluster, debes utilizar la red interna.
Cambia la dirección ‘bind’ por la dirección IP de localhost para este ejemplo.
bind 127.0.0.1
Después de esto, tenemos que configurar cómo se ejecutará el servicio de redis en el servidor. Como vamos a utilizar el servidor Ubuntu y systemd, tenemos que cambiar la configuración de la línea ‘supervisada’ por ‘systemd’.
supervised systemd
Guarda y cierra.
Ahora reinicia el servicio redis y añádelo al tiempo de arranque.
systemctl restart redis-server
systemctl enable redis-server
Asegúrate de que no hay ningún error y comprueba su estado.
systemctl status redis-server
Como resultado, el servicio de redis está funcionando en el servidor Ubuntu 20.04.
Ahora comprueba el puerto predeterminado de Redis ‘6379’ utilizando el comando netstat que aparece a continuación.
ss -plnt4
Y obtendrás el resultado de que el servicio redis se está ejecutando en la dirección IP localhost con el puerto por defecto ‘6379’.
Ahora comprueba el servicio Redis utilizando los comandos ‘redis-cli’ como se indica a continuación.
redis-cli ping
redis-cli ping "Hello Redis"
Y obtendrás el resultado que se indica a continuación.
Si tu instalación es correcta, obtendrás la respuesta del Servidor Redis con ‘PONG’ o la respuesta con el texto que acabas de escribir tras la opción ‘ping’.
La instalación básica y la configuración del Servidor Redis se han completado con éxito.
Paso 3 – Asegurar la instalación de Redis
En este paso, vamos a asegurar nuestra instalación de Redis. Hay 3 cosas que debes saber para asegurar el Servidor Redis.
1. Seguridad de la red
La seguridad de red para el servidor Redis está relacionada con la configuración ‘bind’ en la configuración de Redis ‘redis.conf’. Se recomienda utilizar la red privada interna para tu instalación de Redis y no utilizar la pública.
Ve al directorio ‘/etc/redis’ y edita el archivo de configuración ‘redis.conf’.
cd /etc/redis/
vim redis.conf
En la sección ‘bind’, cambia la dirección IP por la de tu red interna.
bind INTERNAL-IP-ADDRESS
Guarda y cierra.
Y ahora el servicio Redis se ejecutará bajo la ‘DIRECCIÓN IP INTERNA’.
2. Autenticación por contraseña
La autentificación por contraseña para Redis te dará el control de acceso a tu servidor Redis. Se trata de una pequeña capa de seguridad que mejorará la seguridad de tu servidor Redis, y que aún no está habilitada por defecto en la instalación.
Para habilitar la autenticación por contraseña para el servidor Rediser, tendrás que descomentar la sección ‘requirepass’ en el archivo ‘redis.conf’ y escribir después tu contraseña fuerte.
requirepass HakaseLabsRedisPasswd
Cambia el‘HakaseLabsRedisPasswd‘ por tu contraseña fuerte. Y ahora la autenticación por contraseña para Redis ha sido habilitada.
3. Desactivar el comando peligroso de Redis
Redis proporciona una función para desactivar algunos comandos específicos de Redis. Esta función puede utilizarse para cambiar el nombre o desactivar algunos de los comandos peligrosos, como el comando ‘FLUSHALL’ para borrar todos los datos, el comando ‘CONFIG’ para establecer parámetros de configuración a través de la CLI de Redis, etc.
Para cambiar o desactivar el comando de Redis, puedes utilizar la opción ‘renombrar-comando’. Edita el archivo de configuración de Redis ‘redis.conf’ y añade algunas configuraciones a continuación.
# rename-command COMMAND "CUSTOM"
rename-command FLUSHALL "DELITALL"
rename-command CONFIG "MYSERVERCONF"
Guarda y cierra.
Una vez completado todo, reinicia el servicio Redis utilizando el comando systemctl que aparece a continuación.
systemctl restart redis-server
Y la seguridad básica de Redis para asegurar la instalación de Redis se ha aplicado a nuestro host.
Otra consideración, puede que también necesites el soporte de «Cifrado de datos» para Redis, así como la codificación segura necesaria en el lado de la aplicación.
Paso 4 – Pruebas
En este paso, vamos a probar nuestra implementación del Servidor Redis utilizando la línea de comandos ‘redis-cli’.
1. Probando el host y la autenticación
Conéctate al Servidor Redis utilizando el comando redis-cli especificando el nombre de host/dirección IP del servidor redis y el puerto.
redis-cli -h 127.0.0.1 -p 6379
Cambia el‘127.0.0.1‘ por tu propia dirección IP.
Una vez que estés conectado al servidor, prueba el comando ping.
ping
ping "Hello Redis"
Ahora obtendrás el resultado que se indica a continuación.
Estás obteniendo el error ann porque necesitas autenticarte antes de invocar cualquier comando en el shell CLI de Redis.
Ejecuta el siguiente comando para autenticarte en el servidor Redis.
AUTH HakaseLabsRedisPasswd
Una vez autenticado, puedes intentar el comando ping y obtendrás una respuesta del servidor Redis.
ping
ping "Hello Redis"
A continuación se muestra el resultado después de haberte autenticado en el Servidor Redis.
2. Probar los comandos deshabilitados/rebautizados
Ejecuta todos los comandos que hemos renombrado en el shell y obtendrás el error del comando.
FLUSHALL
CONFIG
A continuación se muestra el resultado del error de esos comandos.
A continuación, ejecuta los comandos ‘CUSTOM’ de cada uno.
Crea una nueva clave mediante el comando redis-cli como se indica a continuación.
SET Name "Hakase Labs"
SET Blog "Howtoforge.com"
Keys *
Ahora borra todas las claves y datos utilizando el comando ‘FLUSHALL’ renombrado ‘DELITALL’.
DELITALL
Para el comando ‘CONFIG’, puedes intentar recuperar o establecer un nuevo valor de la configuración del Servidor Redis. El comando ‘CONFIG’ ha sido renombrado a ‘MYSERVERCONF’.
MYSERVERCONF get bind
MYSERVERCONF get requirepass
Y a continuación se muestra el resultado de este nuevo comando personalizado renombrado.
Se ha completado la instalación básica del Servidor de Redis en Ubuntu 20.04, y se ha aplicado la seguridad básica para el Servidor de Redis.