Come Installare Redis su Ubuntu

Contenuto1 Introduzione2 Prerequisiti3 Installare e Configurare Redis4 Verificare il funzionamento di Redis5 Aggiungere una Password a Redis6 Conclusione Introduzione Redis è un database key-value residente in memoria con persistenza facoltativa, […]

Avatar di gbfactory
gbfactory 30 Ottobre 2021

Introduzione

Redis è un database key-value residente in memoria con persistenza facoltativa, noto per la sua flessibilità, le elevatissime prestazioni e l'ampio supporto da molti linguaggi di programmazione. In questa guida vedremo come installare Redis su Ubuntu Server 20.04 e configurarlo. La procedura è comunque applicabile anche ad altre versioni del medesimo sistema operativo.

Come Installare Redis su Ubuntu Logo di Redis

Prerequisiti

Per poter seguire questa guida è necessario avere accesso a un server Ubuntu 20.04, preferibilmente con un utente non-root con privilegi sudo e con un firewall configurato. Puoi seguire la guida sulla configurazione iniziale di un server Ubuntu prima di procedere con l'installazione di Redis.

Installare e Configurare Redis

Per installare Redis utilizzeremo il gestore di pacchetti APT per installarlo direttamente dalla repository ufficiale di Ubuntu. Prima però aggiorniamo la cache dei pacchetto locale con il seguente comando:

sudo apt update

A questo punto possiamo installare Redis scrivendo:

sudo apt install redis-server

Questo scaricherà ed installerà Redis con le dipendenze necessarie. Una volta terminata l'installazione potremmo passare alla configurazione, che richiederà di apportare modifiche al file generato automaticamente durante l'installazione.

Apriamo il file con il nostro editor utilizzando il comando:

sudo nano /etc/redis/redis.conf

All'interno del file dobbiamo trovare l'impostazione supervised, per farlo possiamo aiutarci con la funzione di ricerca dell'editor accessibile con Ctrl + W. Questa impostazione ci consente di definire un init system per gestire Redis come servizio, consentendoci di avere più controllo sul funzionamento del software. Il file predefinito prevedete che supervised sia impostato a no. Dato che stiamo utilizzando Ubuntu, che utilizza systemd come init system, possiamo cambiare questa impostazione in systemd.

supervised systemd

Una volta apportato questo cambiamento abbiamo terminato le nostre modifiche e siamo pronti per salvare e chiudere il file. Se state utilizzando Nano come editor possiamo utilizzare la combinazione di tasto Ctrl + X, confermare con Y (Si) e infine premere Invio.

Per rendere effettive le modifiche apportate dobbiamo riavviare Redis, operazione che possiamo fare con il seguente comando:

sudo systemctl restart redis.service

A questo punto Redis è stato installato e configurato ed è in esecuzione su nostro server, pronto per essere utilizzato. Prima però dobbiamo verificare che funzioni correttamente.

Verificare il funzionamento di Redis

Prima di procedere con altre modifiche alla configurazione, è opportuno verificare che Redis funzioni correttamente. Ci sono vari modi per fare questo, e li vedremo in questa sezione della guida.

Iniziamo controllando che il servizio di Redis sia in esecuzione con il seguente comando:

sudo systemctl status redis

Se Redis è in esecuzione senza alcun errore, il comando dovrebbe stampare in console un output simile al seguente:

● redis-server.service - Advanced key-value store
     Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-10-30 17:31:35 UTC; 1 weeks 2 days ago
       Docs: http://redis.io/documentation,
             man:redis-server(1)
    Process: 2668220 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)
   Main PID: 2668221 (redis-server)
      Tasks: 5 (limit: 4562)
     Memory: 2.3M
     CGroup: /system.slice/redis-server.service
             └─2668221 /usr/bin/redis-server 127.0.0.1:6379

Qui possiamo notare che Redis è in esecuzione ed è abilitato, il che significa che Redis verrà avviato automaticamente all'accensione o al riavvio del server.

Questa impostazione è comoda in molte situazioni, tuttavia potrebbe essere preferibile avviare manualmente Redis ad ogni avvio del sistema. In quel caso possiamo riconfigurare il servizio di Redis in questo modo:

sudo systemctl disable redis

Per verificare che Redis funzioni correttamente, possiamo connetterci al server utilizzando redis-cli, il client Redis da riga di comando digitando:

redis-cli

Nel prompt che segue, verifichiamo la connettività inviando il comando ping:

127.0.0.1:6379> ping
PONG

L'output PONG ci conferma che la connessione al server funziona correttamente. Adesso proviamo a vedere se riusciamo ad impostare dei valori a delle chiavi eseguendo con il seguente comando:

127.0.0.1:6379> set prova "Ciao mondo"
OK

Dopo averlo impostato, possiamo recuperare il valore della chiave scrivendo:

127.0.0.1:6379> get prova
"Ciao mondo"

Se tutto funziona correttamente, in console verrà stampato il valore impostato in precedenza. Una volta terminato anche questa prova, possiamo disconnetterci dal terminale di Redis con il seguente comando:

127.0.0.1:6379> exit

Come ultima prova verifichiamo se Redis è in grado di tenere in memoria i dati anche dopo essere stato fermato o riavviato. Per farlo, la prima cosa necessaria è ovviamente riavviare Redis con:

sudo systemctl restart redis

Dopo il riavvio possiamo riconnetterci all'interfaccia da riga di comando con:

redis-cli

Adesso possiamo confermare il che nostro valore "prova" impostato prima sia ancora disponibile:

127.0.0.1:6379> get prova

Una volta verificato che il valore sia ancora accessibile, possiamo nuovamente uscire dal terminale:

127.0.0.1:6379> exit

Terminate queste prove, la nostra installazione di Redis è funzionante e pronta all'uso. Tuttavia per rendere il nostro sistema più sicuro possiamo scegliere di aggiungere una password al nostro database, che sarà richiesta ogni volta che qualcuno cercherà di connettersi.

Aggiungere una Password a Redis

Aggiungendo una password a Redis rendiamo disponibile il comando auth, che rende obbligatoria l'autenticazione per chi vuole accedere al database. La password è configurabile direttamente dal file di configurazione di Redis, quindi apriamo nuovamente il file con il nostro editor:

sudo nano /etc/redis/redis.conf

Andiamo alla sezione SECURITY e individuiamo la seguente riga commentata:

# requirepass foobared

Scommentiamo la riga rimuovendo il cancelletto # e sostituiamo foobared con una password sicura.

Conclusione

In questa guida abbiamo visto come installare e configurare Redis su Ubuntu, verificato il suo funzionamento e infine aggiunto una password per rendere il nostro sistema più sicuro.