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

In questo tutorial, tratteremo il processo di installazione e configurazione dell'ultima versione di Memcached su Debian 10.

Se il vostro intento è installare Memcached su di un server in remoto continuate a leggere, altrimenti se volete installare Memcached sul vostro computer locale 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

Prerequisiti

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

Installare Memcached

I pacchetti memcached sono inclusi nei repository Debian 10 predefiniti. L'installazione è piuttosto semplice, basta seguire i passaggi seguenti:

Inizia aggiornando l'elenco dei pacchetti apt:

sudo apt update

Installa Memcached digitando:

sudo apt install memcached libmemcached-tools

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

Una volta completata l'installazione, il servizio Memcached verrà avviato automaticamente. Per verificare lo stato del servizio, immettere il seguente comando:

sudo systemctl status memcached

L'output sarà simile al seguente:

● memcached.service - memcached daemon
  Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled)
  Active: active (running) since Tue 2019-03-11 12:04:22 PDT; 32s ago
    Docs: man:memcached(1)
Main PID: 10423 (memcached)
   Tasks: 10 (limit: 2319)
  CGroup: /system.slice/memcached.service
          `-10753 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid

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

Configurazione di Memcached

Memcached può essere configurato modificando il file /etc/memcached.conf. Le impostazioni di configurazione predefinite sono sufficienti per la maggior parte degli utenti.

Per impostazione predefinita, Memcached è configurato per l'ascolto solo su localhost. Se anche il client che si collega al server è in esecuzione sullo stesso host, non è necessario modificare il file di configurazione predefinito.

Accesso remoto

Se configurato in modo errato, Memcached può essere utilizzato per eseguire un attacco DDoS (Distributed Denial of Service). Se si desidera consentire l'accesso remoto al server Memcached, è necessario configurare il firewall e consentire l'accesso alla porta UDP 11211 Memcached solo da client attendibili.

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

Debian non viene fornito con uno strumento di configurazione del firewall chiamato UFW.

Per facilitare la configurazione del Firewall su Debian, consigliamo l'installazione di UFW che permette una semplice configurazione iniziale:

sudo apt install ufw

Per impostazione predefinita, UFW è installato ma non abilitato. Prima di abilitare il firewall UFW, aggiungere una regola che consenta le connessioni SSH in entrata (se utilizzi la porta standard per la connessione ssh):

sudo ufw allow 22

Consenti valutazione dall'indirizzo IP del client remoto:

sudo ufw allow from 192.168.222.22 to any port 11211

Abilita UFW digitando:

sudo ufw status

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

Per fare ciò, apri il file di configurazione memcached.conf:

sudo nano /etc/memcached.conf

Individua la riga che inizia con -l 127.0.0.1 e sostituisci 127.0.0.1 con l'indirizzo IP del server 192.168.111.11.

# Specify which IP address to listen on. The default is to listen on all IP addresses
# This parameter is one of the only security measures that memcached has, so make sure
# it's listening on a firewalled interface.
-l 192.168.111.11

Riavviare il servizio Memcached per rendere effettive le modifiche:

sudo systemctl restart memcached

Ora puoi connetterti al server Memcached dalla tua posizione remota.

Connessione a Memcached

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

PHP

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

sudo apt install php-memcached

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 Debian. Per ulteriori informazioni su questo argomento consultare Memcached Wiki.