HHVM (Hip Hop Virtual Machine) è un compilatore just-in-time sviluppato da Facebook per eseguire applicazioni scritte in linguaggio PHP e Hack. HHVM è più veloce del tradizionale motore PHP di ZEND e viene utilizzato da Facebook per gestire miliardi di richieste Web al giorno. HHVM ha un throughput di richieste Web 9 volte superiore e una riduzione del consumo di memoria 5 volte superiore rispetto al motore Zend PHP 5.2 + APC. vedi di più qui.
Questo tutorial descrive l'installazione di Nginx, MariaDB, HHVM e Wordpress su Debian 8 (Jessie).
1 Prerequisiti
Il server dovrebbe eseguire un'installazione minima del server Debian 8 (64 bit). Se installi il server da zero, dai un'occhiata a questa guida per ottenere un'installazione minima pulita. Userò l'IP 192.168.1.100 come IP del mio server. Sostituisci questo IP con l'IP del tuo server in tutti i comandi in cui appare.
2 Installa Nginx
Il pacchetto Nginx è disponibile nel repository apt di Debian. Nginx può essere installato con il seguente comando:
apt-get update
apt-get install nginx unzip
Riavvia Nginx al termine dell'installazione.
systemctl start nginx
Ora puoi testare Nginx nel tuo browser per vedere se è installato correttamente. Aprire l'IP del server:http://192.168.1.100/. Dovresti vedere una pagina simile a quella qui sotto.
3 Installa e configura MariaDB
Installerò MariaDB invece di MySQL per sfruttare le sue migliori prestazioni e funzioni aggiuntive. MariaDB è un fork del MySQL Database Server gestito dagli sviluppatori MySQL originali.
Per installare MariaDB, esegui il seguente comando apt-get:
apt-get install mariadb-client mariadb-server
E avvia MariaDB con systemctl:
systemctl start mysql
Ora accedi a MariaDB con il comando "mysql", il comando richiederà la password che hai impostato durante l'installazione di MariaDB sopra.
mysql -u root -p
TYPE YOUR PASSWORD
Il passaggio successivo consiste nel creare un nuovo database con il nome wordpressdb e un nuovo utente del database con il nome wpuser per l'installazione di WordPress. Esegui i comandi seguenti all'interno del prompt di MySQL per ottenerlo. Sostituisci la password "[email protected]" con una password sicura che verrà utilizzata come password per il nuovo database di WordPress.
create database wordpressdb;
create user [email protected] identified by '[email protected]';
grant all privileges on wordpressdb.* to [email protected] identified by '[email protected]';
flush privileges;
\q
4 Installa e configura HHVM
Aggiungi il repository da hhvm.com al file del repository di Ubuntu /etc/apt/sources.list e aggiorna il repository:
wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | apt-key add -
echo deb http://dl.hhvm.com/debian jessie main | tee /etc/apt/sources.list.d/hhvm.list
apt-get update
Quindi installa il pacchetto HHVM:
apt-get install hhvm
HHVM viene fornito con uno script install_fastcgi.sh per connettere Nginx con HHVM. Esegui il comando seguente:
/usr/share/hhvm/install_fastcgi.sh
Configura HHVM per l'avvio automatico all'avvio del server:
update-rc.d hhvm defaults
HHVM deve essere utilizzato per /usr/bin/php anche se hai installato php-cli, quindi eseguiamo lo script Debian update-alternatives per riconfigurare il PHP predefinito:
/usr/bin/update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60
Quindi avvia HHVM con systemctl:
systemctl start hhvm
Nel passaggio successivo, verificherò se HHVM viene utilizzato per analizzare le pagine PHP in Nginx e sulla shell.
Crea un nuovo file con il nome info.php nella directory /var/www/html/:
cd /var/www/html/
nano info.php
E aggiungi questo codice PHP nel file:
<?php echo 'HipHop'; ?>
Ora accedi al file nel tuo browser:http://192.168.1.100/info.php. Quando vedi la parola HipHop nella tua pagina web, HHVM funziona correttamente.
Infine prova HHVM nella console/terminale del tuo server, digita questo comando:
php info.php
php -v
Il primo comando mostrerà la parola "HipHop", il secondo la versione HHVM.
rm /var/www/html/info.php
5 Installa Wordpress
Inserisci /var/www/html/ cartella, scarica WordPress ed estrai l'archivio:
cd /var/www/html/
wget wordpress.org/latest.zip
unzip latest.zip
Il comando unzip estrae Wordpress nella sottodirectory "wordpress", sposterò tutti i file e le directory di WordPress in /var/www/html/ come mi piace per accedere a wordpress su / sul server e non su /wordpress/:
cd /var/www/html/
mv wordpress/* .
rm -rf wordpress/
Quindi cambia il proprietario dei file di WordPress in www-data dell'utente e del gruppo. Normalmente, tutti i file nella directory /var/www/html/ sono di proprietà dell'utente e del gruppo www-data.
find . -type d -exec chown www-data:www-data {} \;
find . -type f -exec chown www-data:www-data {} \;
Rinominare il file wp-config-sample.php in wp-config.php. Quindi apri il file con l'editor nano e imposta il nome del database, l'utente e la password che sono stati creati durante la configurazione del database.
mv wp-config-sample.php wp-config.php
nano wp-config.php
DB_NAME = wordpressdb DB_USER = wpuser DB_PASSWORD = [email protected]
Ora modifica il file nginx virtualhost /etc/nginx/sites-available/default e aggiungi index.php come primo elemento dell'impostazione di configurazione dell'indice. Questa impostazione indica a Nginx di utilizzare il file index.php come file di indice standard quando si accede al sito Web con / (senza un nome file).
rm -f index.nginx.html
nano /etc/nginx/sites-available/default
Quindi riavvia Nginx:
systemctl restart nginx
Prova ad accedere all'IP del server:http://192.168.1.100/ di nuovo, verrai reindirizzato al programma di installazione di WordPress. Segui le istruzioni del programma di installazione per completare l'installazione.
1) Scegli la tua lingua, ad esempio:inglese (Stati Uniti) e premi il pulsante Continua.
2) Inserisci il nome utente e la password che verranno utilizzati per autenticare l'amministratore di WordPress e il tuo indirizzo email, quindi premi il pulsante Installa Wordpress.
Attendi fino al termine dell'installazione, quindi vai al Login amministratore di WordPress:http://192.168.1.100/wp-login.php, oppure visita la home page di WordPress http://192.168.1.100/.
Wordpress è ora installato con HHVM e Nginx sul tuo server Debian 8.
6 Conclusione
La configurazione descritta in questo tutorial combina alcune delle opzioni software più veloci per eseguire un sito Wordpress. Nginx è un server Web ad alte prestazioni ampiamente utilizzato che è in grado di servire le pagine più velocemente del tradizionale server Web Apache, HHVM è un sostituto ad alta velocità per il motore Zend PHP per eseguire script PHP e MariaDB è un sostituto di MySQL molto veloce.
Questo tutorial si basa sul tutorial Howtoforge di Muhammed Arul per Ubuntu 15.04.