Introduzione

Memcached è un archivio dati di valori-chiave in-memory ad alte prestazioni gratuito e open source. Viene utilizzato principalmente come sistema di memorizzazione nella cache per velocizzare le applicazioni memorizzando nella cache vari oggetti dai risultati delle chiamate al database.

In questo tutorial, spiegheremo come installare e configurare Memcached su CentOS 8.

Prerequisiti

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

Se desideri installare Memcached su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi 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 Memcached

I pacchetti memcached sono inclusi nei repository CentOS 8 predefiniti. L'installazione è piuttosto semplice, basta digitare il seguente comando:

sudo yum install memcached libmemcached

Il pacchetto libmemcached contiene diversi strumenti da riga di comando per la gestione del server Memcached.

Una volta completata l'installazione, avviare e abilitare il servizio Memcached

sudo systemctl start memcached
sudo systemctl enable memcached

Ecco fatto, a questo punto hai Memcached installato e in esecuzione sul tuo server CentOS 8.

Configurare Memcached

Memcached può essere configurato modificando il file /etc/sysconfig/memcached. Per impostazione predefinita, Memcached è impostato per l'ascolto su tutte le interfacce. Nelle sezioni seguenti, ti mostreremo come configurare il servizio per l'accesso locale e remoto.

Se Memcached configurato in modo errato può essere utilizzato per eseguire un attacco DDoS (Distributed Denial of Service).

Solo accesso locale

Se anche il client che si connette al server è in esecuzione sullo stesso host, si consiglia di impostare il servizio Memcached in modo che ascolti solo localhost.

Per fare ciò, apri il filememcache di configurazione con il tuo editor di testo:

sudo vi /etc/sysconfig/memcached

Nel parametro OPTIONS aggiungi -l 127.0.0.1. Questo indica a Memcached di legarsi solo all'interfaccia specificata:

OPTIONS="-l 127.0.0.1"

Riavviare il servizio Memcached per rendere effettive le modifiche:

sudo systemctl restart memcached

Accesso remoto

Se l'applicazione che si connetterà a Memcached è ospitata su un server remoto, è necessario configurare il firewall e consentire l'accesso alla porta Memcached 11211 solo dall'indirizzo IP del client.

Nell'esempio seguente si presuppone che si desidera connettersi al server Memcached su una rete privata. L'IP del server Memcached è 192.168.222.222 e l'indirizzo IP del client è 192.168.111.111

CentOS viene fornito con uno strumento di configurazione del firewall FirewallD. I comandi seguenti creeranno una nuova zona denominata memcached, apriranno la porta 11211 e consentiranno l'accesso solo dall'indirizzo IP del client.

sudo firewall-cmd --new-zone=memcached --permanent
sudo firewall-cmd --zone=memcached --add-port=11211/udp --permanent
sudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanent
sudo firewall-cmd --zone=memcached --add-source=192.168.100.30/32 --permanent
sudo firewall-cmd --reload

Una volta configurato il firewall, il passaggio successivo è modificare la configurazione Memcached e impostare il servizio per l'ascolto sull'interfaccia di rete privata del server:

Apri il  file memcached di configurazione:

sudo nano /etc/sysconfig/memcached

Nel OPTIONS parametro aggiungere l'indirizzo IP del server -l 192.168.222.222:

OPTIONS="-l 192.168.222.222"

Salvare il file e riavviare il servizio Memcached:

sudo systemctl restart memcached

Connessione a Memcached

Per connettersi al server Memcached è necessario utilizzare uno client language-specific.

PHP

Per utilizzare Memcached come database di memorizzazione nella cache per l'applicazione PHP come WordPress, Drupal o Magento, è necessario installare l'estensione php-pecl-memcached:

sudo yum install php-pecl-memcache

Python

Esistono diverse librerie Python per l'interazione con memcache. Puoi installare la tua libreria preferita usando pip:

pip install pymemcache
pip install python-memcached

Conclusione

Hai imparato come installare Memcached sul tuo server CentOS 8. Per ulteriori informazioni su questo argomento consultare Memcached Wiki.