Realizziamo un web server LAMP con WordPress (e Raspberry Pi)

In questo articolo vedremo come creare uno stack LAMP (Linux, Apache, MySQL, PHP) sul vostro Raspberry Pi e come configurarlo per funzionare come web server. Dovrete scaricare e installare WordPress e realizzare un sito web di base al quale si possa accedere da qualunque dispositivo presente sulla stessa rete del vostro Pi.

Cosa imparerete

Seguendo le indicazioni presenti nell'articolo e realizzando il web server e il sito web con WordPress imparerete:

  • come installare il software sul vostro Raspberry Pi;
  • come installare e configurare Apache, PHP e MySQL in modo tale da creare un web server LAMP;
  • come scaricare WordPress ed eseguirlo come sito web locale sul vostro Raspberry Pi;
  • come configurare WordPress e rendere il vostro sito web accessibile agli altri dispositivi connessi alla vostra rete.

Di cosa avete bisogno

Dal punto di vista hardware non ci sono particolari requisiti: è sufficiente disporre della scheda Raspberry Pi con le periferiche di base.

Per quanto riguarda il software, è sufficiente una distribuzione aggiornata di Raspbian su scheda SD. Per ottenere maggiori informazioni in merito, potete fare riferimento a questa guida su come aggiornare Raspbian.

Apache web server

Apache è un web server molto popolare che può essere installato sul Raspberry Pi per gestire le richieste di pagine web. Di per sè, Apache è già in grado di servire file HTML su HTTP, ma con moduli addizionali può anche servire pagine web dinamiche utilizzando linguaggi di scripting come il PHP.

Installazione di Apache

Anzitutto installate il package apache2 digitando sul terminale il seguente comando:

sudo apt-get install apache2 -y

Test del Web Server

Di default, Apache mette un file HTML di test nella cartella web. Questa pagina web di default viene servita quando si naviga all'indirizzo http://localhost/ sul Pi stesso, oppure all'indirizzo http://192.168.1.10 (o qualunque altro sia l'indirizzo del Pi) da un altro computer collegato alla rete. Per scoprire l'indirizzo IP del Pi, digitate hostname -I dalla command line (se lo desiderate, potete approfondire l'argomento relativo al reperimento del vostro indirizzo IP).

Navigate alla pagina web di default, o con il Pi o con un qualunque altro dispositivo collegato alla rete, e dovreste vedere le informazioni di figura 1.

Fonte: www.raspberrypi.org

Figura 1: Web server works! [Fonte: www.raspberrypi.org]

Ciò significa che Apache sta funzionando!

PHP è un preprocessore; è in sostanza il codice eseguito quando il server riceve una richiesta di pagina web. PHP recupera le informazioni da visualizzare sulla pagina, e invia la pagina al browser. A differenza delle pagine HTML statiche, PHP può visualizzare contenuti differenti al verificarsi di determinate circostanze. Esistono altri linguaggi in grado di eseguire questa operazione, ma poichè WordPress è scritto in PHP, questo è proprio quello di cui abbiamo bisogno. PHP è molto popolare sul web; progetti di grandi dimensioni come Facebook e Wikipedia sono ad esempio scritti in PHP.

Installate i package PHP e Apache con il seguente comando:

sudo apt-get install php5 libapache2-mod-php5 -y

Testiamo PHP

Creiamo il file index.php:

sudo nano index.php

Aggiungiamo qualche istruzione PHP al suo interno:

<?php echo "hello world"; ?>

Salviamo ora il file. Cancelliamo poi index.html in quanto esso ha precedenza su index.php:

sudo rm index.html

Facciamo un refresh nel browser. Dovremmo vedere "hello world". Non si tratta di un contenuto dinamico, ma è servito comunque da PHP. Se vedete il codice PHP invece di "hello world", ricaricate e riavviate Apache con i comandi:

sudo /etc/init.d/apache2 reload
sudo /etc/init.d/apache2 restart

Potete anche provare dei contenuti dinamici, come ad esempio:

<?php echo date('Y-m-d H:i:s'); ?>

Oppure visualizzare le info relative a PHP:

<?php phpinfo(); ?>

Installazione di MySQL

MySQL è un popolare engine per database. Come PHP, la sua diffusa presenza sul web ne ha aumentato la popolarità. Questo è il motivo per cui progetti come WordPress lo utilizzano, e per cui questi progetti sono così popolari.

Installate i pacchetti MySQL Server e PHP-MySQL inserendo nel terminale i seguenti comandi:

sudo apt-get install mysql-server php5-mysql -y

Dopo aver installato MySQL vi verrà chiesta la password di root. Dovrete ricordarvela, per permettere al vostro sito di accedere al database.

Download di WordPress

Potete scaricare WordPress da wordpress.org utilizzando il comando wget. Fortunatamente, una copia dell'ultima versione di WordPress è sempre disponibile agli indirizzi wordpress.org/latest.tar.gz e wordpress.org/latest.zip. Al momento della scrittura di questo articolo, l'ultima versione disponibile era la 4.0.

Navigate su /var/www/html/, e scaricate WordPress in questa cartella. Dovrete inizialmente svuotare il contenuto della cartella (assicuratevi di non cancellare file per voi importanti prima di dare il comando rm); cambiate poi la ownership di questa cartella nell'utenza pi.

cd /var/www/html/
sudo chown pi: .
sudo rm *
wget http://wordpress.org/latest.tar.gz

Estraete ora il tarball, spostate i contenuti della cartella estratta (wordpress) nella directory corrente e rimuovete la cartella (ora vuota) e il tarball:

tar xzf latest.tar.gz
mv wordpress/* .
rm -rf wordpress latest.tar.gz

Eseguendo qui il comando ls oppure (tree -L 1) potrete visualizzare i contenuti di un progetto WordPress:

.
├── index.php
├── license.txt
├── readme.html
├── wp-activate.php
├── wp-admin
├── wp-blog-header.php
├── wp-comments-post.php
├── wp-config-sample.php
├── wp-content
├── wp-cron.php
├── wp-includes
├── wp-links-opml.php
├── wp-load.php
├── wp-login.php
├── wp-mail.php
├── wp-settings.php
├── wp-signup.php
├── wp-trackback.php
└── xmlrpc.php

Questa è la sorgente di un'installazione di default di WordPress. I file modificati per personalizzare la vostra installazione appartengono alla cartella wp-content.

Impostate il vostro database WordPress

Per avere un sito WordPress funzionante, occorre un database. Eseguite il comando mysql nel terminale e inserite le vostre credenziali di login (ad esempio username root, password password):

mysql -uroot -ppassword

Qui ho fornito la mia password (la parola password) direttamente sulla command line; non c'è alcun spazio tra -p e la password.

Alternativamtente potete fornire una flag -p vuota e attendere che vi venga richiesta la password:

mysql -uroot -p

Ora vi verrà richiesto di inserire la password dell'utente root che avete precedentemente creato.

Una volta connessi a MySQL, potete creare il database che la vostra installazione WordPress utilizzerà:

mysql> create database wordpress;

Notate il punto e virgola che chiude l'istruzione. Se tutto va bene dovreste vedere il seguente messaggio:

Query OK, 1 row affected (0.00 sec)

Uscite da MySQL digitando Ctrl + D.

Configurazione di WordPress

Dovete anzitutto reperire l'indirizzo IP del vostro Pi, per cui digitate da terminale il comando hostname -I. Navigate in http://YOUR-IP-ADDRESS e.g. http://192.168.1.5 nel browser del vostro Pi.

Dovreste vedere una pagina di errore di WordPress; perfetto! Cliccate sul tasto grande con la scritta Create a Configuration File seguito dal tasto Let's go! della pagina seguente.

Riempite ora le informazioni di base del sito come segue:

Database Name:      wordpress
User Name:          root
Password:           <YOUR PASSWORD>
Database Host:      localhost
Table Prefix:       wp_

Dopo la corretta connessione al database, vi dovrebbero essere mostrati i contenuti del vostro file wp-config.php.

Fonte: www.raspberrypi.org

Figura 2: Installazione di WordPress [Fonte: www.raspberrypi.org]

Copiate il testo, ritornate al terminale sul Pi e modificate il file con il comando nano wp-config.php. Incollate il testo in questo file, salvate e uscite con Ctrl + X, digitando poi Y per yes e premendo Enter (Figura 2).

Cliccate ora il tasto Run the install.

Schermata di benvenuto

Ci siamo quasi.

Fonte: www.raspberrypi.org

Figura 3: Schermata di benvenuto [Fonte: www.raspberrypi.org]

Rimepite il modulo: date un titolo al vostro sito, create una username e password, inserite il vostro indirizzo email e togliete la spunta dalla casella search engine. Cliccate il tasto Install WordPress, poi fate il login con l'account appena creato (figura 3).

Ora siete loggati e avete il vostro sito operativo, potete vedere il sito web digitando il vostro indirizzo IP nel browser sul Pi o su qualunque altro computer collegato alla stessa rete. Per fare nuovamente il login (oppure per loggarvi da un altro computer), andate all'indirizzo http://YOUR-IP-ADDRESS/wp-admin.

I permalink

E' consigliabile modificare le impostazioni permalink in modo tale da rendere gli URL più semplici. Per fare ciò, loggatevi a WordPress e andate sulla dashboard. Andate in Settings e poi in Permalinks. Selezionate l'opzione Post name e cliccate su Save Changes. Dopo aver salvato, vi verrà chiesto di aggiornare il vostro file .htaccess. Probabilmente non ne avrete ancora uno, per cui aggiungetelo in /var/www/html/ digitando nano .htaccess; notate come si tratti di un file nascosto, ed è questo il motivo per cui inizia con un punto. Incollate poi nel file i seguenti contenuti:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Salvate il file e ritornate alla homepage del sito. Cliccate sul titolo o sul ink della pagina di esempio e probabilmente vedrete la pagina di errore Not Found. Ciò avviene perchè il modulo rewrite non è stato abilitato in Apache. Per farlo, digitate sudo a2enmod rewrite.

Dovrete anche specificare il virtual host per permettere alle richieste di essere sovrascritte. Per fare ciò editate il file virtual host (con i permessi di root): sudo nano /etc/apache2/sites-available/default; inoltre, cambiate l'impostazione AllowOverride della riga 11 (all'interno del blocco <Directory /var/www/html/>) da None a All. Salvate il file e poi riavviate Apache con sudo service apache2 restart. Una volta riavviato, "rinfrescate" la pagina che dovrebbe essere correttamente caricata. Ora i post hanno URL del tipo /hello-world/ invece di /?p=123, e le pagine hanno URL come /sample-page/ invece di /?page_id=2.

Personalizzazione

WordPress ha un elevato livello di personalizzazione. Cliccando il nome del vostro sito nel banner WordPress nella parte alta dello schermo, verrete rediretti alla Dahboard. Da qui potete modificare il tema, aggiungere pagine e post, modificare il menu, aggiungere plugin e molto altro ancora.

Link

Link all'articolo originale: https://www.raspberrypi.org/learning/lamp-web-server-with-wordpress/

 

4 Commenti

  1. Maurizio Di Paolo Emilio Maurizio 27 giugno 2016
  2. ytooong 3 febbraio 2017
  3. stefano 20 marzo 2017

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *