Hosting scalabile per WordPress – vm03

In quest’ultimo articolo, completeremo l’installazione del sistema con l’installazione del server mysql e con il download, l’installazione e la configurazione di WordPress.
Partiamo con la creazione della VM destinata al database: sarà una semplicissima VM con installato MySQL.

Creiamo questa VM partendo da una installazione “vanilla” di Debian Squeeze (6.0.1), dotando la VM di 512MB di RAM, 1 VCPU (CPU virtuale), 0.25 CPU (assegnamo il 50% della potenza di una CPU fisica), 1 scheda di rete con IP privato, 1024 MB Disco Swap e un disco Datablock per il mysql.

Configurazione di base
Come per vm1 la prima cosa che andremo a fare è modificare alcune delle configurazoni di default, in particolare il file hosts che ci consentirà di raggiungere tramite mnemonico le VM del nostro sistema:

<strong>/etc/hosts</strong>
10.10.1.1   lb
10.10.1.2   php-appserver1 mysql
10.10.1.3   mysql-server1

e il file /etc/hostname

<strong>/etc/hostname</strong>
mysql-server1

Assicuriamoci di aver montato il datablock nella directory /var/lib/mysql:

<strong>/etc/fstab</strong>
/dev/sdc       /var/lib/mysql   ext3    defaults        0       0

Installazione di mysql
Per installare mysql è sufficiente lanciare il comando:

apt-get install mysql-server

e modifichiamo il file /etc/mysql/my.cnf per rispondere alle richieste di rete:

<strong>/etc/mysql/my.cnf</strong>
...
bind-address            = 0.0.0.0
...

Infine facciamo in modo che l’utente root possa autenticarsi sul server mysql da qualsiasi host in rete locale:

mysql -p
mysql> create database wordpress;
mysql> GRANT ALL ON wordpress.* TO 'wordpress'@'%' identified by 'password01';
mysql> flush privileges;
mysql> quit;

A questo punto potete provare a spostarvi su vm2 e lanciare il comando:

mysql -h mysql -p -u wordpress wordpress

per verificare che l’installazione di mysql sia corretta

Installazione di WordPress
Spostamoci su vm1 e lanciamo i seguenti comandi:

cd /var/www
wget http://wordpress.org/latest.tar.gz
tar zxvf latest.tar.gz
rm latest.tar.gz
chown -R www-data:www-data wordpress
mv wordpress/* .
rmdir wordpress

Ora andando via web all’indirizzo pubblico del load balancer sarà possibile iniziare la procedura standard di installazione di wordpress. Ricordarsi di inserire come dati di autenticazione sul database;

Database Name: wordpress
User Name: wordpress
Password: password01
Database Host: mysql

Alla fine del processo di installazione, wordpress sarà attivo e funzionante come su un qualsiasi altro hosting… solo un po’ più veloce.

Ottimizzazione di WordPress
L’ottimizzazione di WordPress, in realtà riguarda solamente l’installazione di due plugin.
Il primo plugin da installare è senza dubbio il più importante ed è nginx Compatibility: questo permette di sfruttare la configurazione di nginx nel server vm2 per attivare i permalink di wordpress proprio come su apache. La funzionalità dei permalink, permette di modificare il comportamento dei link di wordpress per renderli più idonei al funzionalmento con i motori di ricerca.
Il secondo plugin da installare per sfruttare appieno l’installzione è W3 Total Cache: questo plugin permette di gestire in maniera efficente memcached e apc per tenere una cache sia del precompilato php (per questo il mio consiglio è di utilizzare APC) sia per tenere una cache di oggetti e query al database (e per questo è praticamente obbligatorio usare memcached).