Installazione del demone Memcache via shell
Memcached è un’estensione PHP che ti permette di connetterti allo stesso demone memcached.
In primo luogo tramite WHM > Modules Installed dovrete cercare l’estensione ed installarla per le diverse versioni di PHP sul server.
Ricordarsi che se nel file php.ini generali del server, se nelle opzioni disable_functions avete popen, questo deve essere messo in commento, altrimenti non sarà possibile accedere alle librerie esterne per l’installazione.
Quindi procedete con l’installazione di memcache e se siete sicuri che memcached è installato, non basterà riavviare il server, ma provate con questo comando per verificare se veramente è installato e funzionante:
kill -9 $(pgrep memcached)
systemctl start memcached
systemctl enable memcached
infine
systemctl status memcachedMemcached è disponibile per impostazione predefinita tramite i repository CentOS.
Se comunque il codice precedente da un risultato simile a seguente
# systemctl start memcached
Failed to start memcached.service: Unit not found.all’ora provate con questo altro codice.
yum clean all
yum -y install memcached
systemctl start memcached
systemctl enable memcachedQuesto dovrebbe garantire l’avvio di memcached al riavvio del server.
service httpd restartOltre a verificarlo direttamente tramite phpinfo, che a volte è disabilitato per motivi di sicurezza, è possibile eseguire il seguente script PHP così da capire se tutto funziona a dovere.
/** --- <strong>Verify MemCache</strong> --- */
<?php
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', true);
$mem = new memcached();
$mem->addServer("127.0.0.1",11211);
$result = $mem->get("Test");
if ($result) {
echo $result;
} else {
echo "Test key not found, adding... Reload page.";
$mem->set("Test", "We found the key, memcached is working") or die ("Couldn't save anything to memcached......");
}
?>Ultimata la fase di installazione sarà necessario verificare che il file di configurazione sia sicuro, Memcached non dispone di funzionalità di sicurezza integrate, motivo per cui non è una buona idea utilizzarlo su piattaforme di hosting condiviso.
La sua configurazione predefinita accetta connessioni da chiunque su Internet, una vulnerabilità spesso sfruttata negli attacchi “Denial of Service” distribuiti.
Aggiungeremo alcune opzioni di avvio per creare una configurazione più sicura.
nano /etc/sysconfig/memcachedInserisci le seguenti linee di codice
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="128"
OPTIONS="-l 127.0.0.1 -U 0"L’opzione “-l 127.0.0.1” collega Memcached all’interfaccia di rete locale. L’opzione -U disabilita il protocollo UDP, comunemente utilizzato negli attacchi DDoS.
La quantità di memoria disponibile per la memorizzazione nella cache, il valore predefinito è 64 megabyte, ma è possibile modificarlo modificando l’opzione CACHESIZE in questo file.
Il file di configurazione di Memcached si trova nel percorso /etc/sysconfig/memcached.
# set ram size to 2048 - 2GiB
CACHESIZE="4096"Installazione dei moduli memcache con EasyApache 4
Ultimata l’installazione da terminale, sarà necessario installare e attivare le estensioni di Memcache per tutte le versioni di Php installate sul server.
Procedete dall’area di cPanel Software → EasyApache 4 → Customize
Ora nel enu PHP Extension cerca Memcached e seleziona tutte le versioni di Php installate.
Ultimata la selezione, procedi sino alla fine e ricompila il tutto facendo clic su Provisioning
Terminata tale operazione, da shell esegui il seguente comando
systemctl restart memcached
service httpd restartInstallazione plugin Memcache WordPress
Nella reposity di WordPress, scarica il plugin Memcache : https://wordpress.org/plugins/memcached/
ATTENZIONE – Non installare il plugin direttamente tramite WordPress, ma caricalo tramite file manager o FTP
Ora carica il file object-cache.php nella tua cartella /wp-content, e aggiungi le seguenti righe di codice alla fine del tuo file wp-config.php
globale $memcached_servers;
$memcached_servers = array('default' => array('127.0.0.1:11211'));Installa il motore di memorizzazione nella cache Redis sul server cPanel
