Redis, che sta per "server del dizionario remoto", è un archivio chiave-valore che archivia i dati come coppie chiave-valore. Redis è un database NoSQL, il che significa che non ha tabelle, righe e colonne come nei database MySQL e Oracle. Non utilizza INSERT, SELECT, UPDATE e DELETE. Invece, Redis utilizza le strutture di dati per archiviare i dati. Utilizza cinque strutture di dati primarie tra cui stringhe, elenchi, insiemi, insiemi ordinati e hash, nonché tre strutture di dati aggiuntive tra cui bitmap, hyperloglog e indici geospaziali. Una delle caratteristiche più importanti di Redis è che è un database in memoria, il che significa che mantiene i dati in memoria, rendendolo super veloce. Tuttavia, Redis ha anche opzioni per scrivere i dati sul disco.
In questo tutorial, ti mostreremo come installare e proteggere Redis su Ubuntu 18.04.
Prerequisiti
- Un nuovo VPS Ubuntu 18.04 sulla piattaforma Atlantic.net Cloud.
- Una password di root configurata sul tuo server.
Crea server cloud Atlantic.Net
Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 18.04 come sistema operativo con almeno 1GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.
Dopo aver effettuato l'accesso al tuo server Ubuntu 18.04, esegui il seguente comando per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.
apt-get update -y
Installa il server Redis
apt-get install redis-server php-redis -y
Dopo aver installato il server Redis, sarà necessario configurare il server Redis per utilizzare il sistema init per la gestione di Redis come servizio. Puoi configurarlo modificando il file redis.conf:
nano /etc/redis/redis.conf
Trova la seguente riga:
supervised no
Sostituiscilo con la seguente riga:
supervised systemd
Salva e chiudi il file. Quindi, riavvia il servizio Redis per applicare le modifiche:
systemctl restart redis
Puoi anche controllare lo stato del servizio Redis con il seguente comando:
systemctl status redis
Dovresti ottenere il seguente output:
Verifica server Redis
Si consiglia di verificare se il server Redis funziona come previsto o meno.
Puoi testarlo usando l'utilità della riga di comando redis-cli:
redis-cli 127.0.0.1:6379> ping
Se tutto va bene, dovresti ottenere il seguente output:
PONG
Ora puoi uscire dalla shell Redis con il seguente comando:
exit
Puoi anche controllare la versione del Redis con il seguente comando:
redis-cli -v
Uscita:
redis-cli 4.0.9
Per ulteriori informazioni su Redis, eseguire il comando seguente:
redis-cli info
Dovresti vedere la seguente schermata:
Puoi anche verificare la porta di ascolto Redis con il seguente comando:
netstat -lnp | grep redis
Dovresti vedere che il server Redis è in ascolto su localhost sulla porta 6379:
Proteggi Redis con password
Innanzitutto, genera una password complessa con il comando OpenSSL come mostrato di seguito:
openssl rand 60 | openssl base64 -A
Dovresti vedere il seguente output (una password come questa):
MGDCmmWh2Ot+aZDv7TBr54SY5PueoSAVhX41sApcOLWYBTlPrfe01OT/nqO0YWK/y0ROozsDi9Dw61jR
Ora, incolla la tua password nel file di configurazione di Redis /etc/redis/redis.conf:
nano /etc/redis/redis.conf
Trova la seguente riga:
# requirepass foobared
Sostituiscilo con la seguente riga:
requirepass MGDCmmWh2Ot+aZDv7TBr54SY5PueoSAVhX41sApcOLWYBTlPrfe01OT/nqO0YWK/y0ROozsDi9Dw61jR
Salva e chiudi il file. Quindi, riavvia il servizio Redis per applicare le modifiche:
systemctl restart redis
Ora, connettiti alla riga di comando di Redis con il seguente comando:
redis-cli 127.0.0.1:6379>
Ora, esegui il comando seguente per verificare se la password Redis funziona:
127.0.0.1:6379> set test "How Are You"
Riceverai il seguente errore perché non è stata eseguita l'autenticazione:
(error) NOAUTH Authentication required.
Ora, autentica Redis con la password come mostrato di seguito:
127.0.0.1:6379> auth MGDCmmWh2Ot+aZDv7TBr54SY5PueoSAVhX41sApcOLWYBTlPrfe01OT/nqO0YWK/y0ROozsDi9Dw61jR
Dovresti ottenere il seguente output:
OK
Ora, esegui di nuovo il comando precedente:
127.0.0.1:6379> set test "How Are You"
Uscita:
OK
Ora, ottieni il valore del test:
127.0.0.1:6379> get test
Dovresti vedere il seguente output:
"How Are You"
Dopo aver eseguito correttamente il test, esci dalla riga di comando di Redis con il seguente comando:
127.0.0.1:6379> exit
Rinomina comandi pericolosi
È sempre una buona idea rinominare alcuni comandi pericolosi tra cui config, shutdown, flushdb, flushall e rename. Questi comandi possono distruggere o cancellare i tuoi dati se eseguiti per errore.
Puoi rinominare questi comandi modificando il file /etc/redis/redis.conf:
nano /etc/redis/redis.conf
Aggiungi le seguenti righe alla fine del file:
rename-command CONFIG ATLANTICCONFIG rename-command FLUSHDB ATLANTICFLUSHDB rename-command SHUTDOWN ATLANTICSHUTDOWN rename-command FLUSHALL ATLANTICFLUSHALL
Salva e chiudi il file, quindi riavvia il servizio Redis per implementare le modifiche:
systemctl restart redis
Per testare i comandi precedenti, inserisci la riga di comando Redis:
redis-cli
Ora, autentica Redis con la password come mostrato di seguito:
127.0.0.1:6379> auth MGDCmmWh2Ot+aZDv7TBr54SY5PueoSAVhX41sApcOLWYBTlPrfe01OT/nqO0YWK/y0ROozsDi9Dw61jR
Dovresti ottenere il seguente output:
OK
Ora, prova a eseguire il comando CONFIG originale come mostrato di seguito:
127.0.0.1:6379> config get requirepass
Dovresti ricevere il seguente errore:
(error) ERR unknown command 'config'
Ora riprova con il comando rinominato:
127.0.0.1:6379> atlanticconfig get requirepass
Dovresti vedere il seguente output:
1) "requirepass" 2) "MGDCmmWh2Ot+aZDv7TBr54SY5PueoSAVhX41sApcOLWYBTlPrfe01OT/nqO0YWK/y0ROozsDi9Dw61jR"
Conclusione
Congratulazioni! Il tuo server Redis è ora installato e protetto. Questo metodo è compatibile con Atlantic.Net VPS Hosting. Per ulteriori informazioni, puoi visitare la pagina della documentazione Redis.