Introduzione

Redis è un archivio di strutture di dati in memoria open source. Può essere utilizzato come database, cache e broker di messaggi e supporta varie strutture di dati come stringhe, hash, elenchi, set ecc. Redis fornisce elevata disponibilità tramite Redis Sentinel incluso monitoraggio, notifiche Failover automatico. Fornisce inoltre il partizionamento automatico su più nodi Redis con Redis Cluster.

Questo tutorial descrive come installare e configurare Redis su un server Ubuntu 18.04. Le stesse istruzioni valgono per Ubuntu 16.04 e qualsiasi distribuzione basata su Ubuntu.

Prerequisiti

Prima di iniziare con il tutorial, assicurati di aver effettuato l'accesso come utente con privilegi sudo.

Se il vostro intento è installare Redis su di un server in remoto continuate a leggere, altrimenti saltate il primo paragrafo "Connessione al Server" e leggere il successivo.

Connessione al Server

Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:

ssh [email protected]_DEL_SERVER

Successivamente sarà necessario inserire la password dell'utente root.

Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:

ssh [email protected]_DEL_SERVER

Successivamente vi verrà chiesto di inserire la password del vostro utente.

La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:

ssh [email protected]_DEL_SERVER -p PORTA

Installare Redis su Ubuntu

Il pacchetto Redis è incluso nei repository Ubuntu 18.04 predefiniti. L'installazione è piuttosto semplice, basta seguire i passaggi seguenti:

Inizia aggiornando l'elenco dei pacchetti apt eseguendo il seguente comando nel tuo terminale SSH:

sudo apt update

Installa Redis digitando:

sudo apt install redis-server

Una volta completata l'installazione, il servizio Redis si avvierà automaticamente. Per verificare lo stato del servizio, immettere il seguente comando:

sudo systemctl status redis-server

Dovresti vedere qualcosa del genere:

● redis-server.service - Advanced key-value store
   Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2018-10-28 05:10:45 PDT; 2h ago
     Docs: http://redis.io/documentation,
           man:redis-server(1)
  Process: 2197 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS)
  Process: 2201 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)
 Main PID: 2226 (redis-server)
    Tasks: 4 (limit: 2319)
   CGroup: /system.slice/redis-server.service
           `-2226 /usr/bin/redis-server 0.0.0.0:6379

Il servizio Redis non verrà avviato se IPv6 è disabilitato sul server.

Congratulazioni, a questo punto hai Redis installato e in esecuzione sul tuo server Ubuntu 18.04.

Configurare Redis Remote Access

Per impostazione predefinita, Redis non consente connessioni remote. È possibile connettersi al server Redis solo da 127.0.0.1 (localhost), la macchina su cui è in esecuzione Redis.

Procedere come segue solo se si desidera connettersi al server Redis da host remoti. Se si utilizza una configurazione a server singolo, in cui l'applicazione e Redis sono in esecuzione sullo stesso computer, non è necessario abilitare l'accesso remoto.

Per configurare Redis per accettare connessioni remote, apri il file di configurazione Redis con il tuo editor di testo:

sudo nano /etc/redis/redis.conf

Individua la riga che inizia con bind 127.0.0.1 ::1 e sostituisci 127.0.0.1 con 0.0.0.0.

# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bind 0.0.0.0 ::1

Salvare e chiudere il file premendo CTRL+X, seguito da Y per salvare le modifiche e quindi ENTER se stai utilizzando nano.

Riavviare il servizio Redis per rendere effettive le modifiche:

sudo systemctl restart redis-server

Utilizzare il comando seguente per verificare che redis sia in ascolto su tutte le interfacce sulla porta 6379:

ss -an | grep 6379

Dovresti vedere qualcosa di simile, 0.0.0.0 indica tutti gli indirizzi IPv4 sulla macchina.

tcp  LISTEN 0   128   0.0.0.0:6379   0.0.0.0:*
tcp  LISTEN 0   128      [::]:6379      [::]:*  

Successivamente, dovrai aggiungere una regola firewall che abilita il traffico dai tuoi computer remoti sulla porta TCP 6379.

Supponendo che si stia utilizzando UFW per gestire il firewall e si desidera consentire l'accesso dalla sottorete 192.168.121.0/24, eseguire il comando seguente:

sudo ufw allow proto tcp from 192.168.121.0/24 to any port 6379

A questo punto, il server Redis accetterà connessioni remote sulla porta TCP 6379.

Assicurarsi che il firewall sia configurato per accettare connessioni solo da intervalli IP attendibili.

Per verificare che tutto sia impostato correttamente, puoi provare a eseguire il ping del server Redis dal tuo computer remoto usando l'utilità redis-cli:

redis-cli -h <REDIS_IP_ADDRESS> ping

Il comando dovrebbe restituire una risposta di PONG:

PONG

Conclusione

Hai installato Redis con successo sul tuo server Ubuntu 18.04. Per ulteriori informazioni su come gestire l'installazione di Redis, visitare la pagina ufficiale della documentazione di Redis.