Costruire un server Web LAMP con WordPress

Introduzione

  • Cosa faremo
    Impareremo a configurare un ambiente LAMP (Linux, Apache, MySQL, PHP) sul nostro Raspberry Pi e lo configureremo per funzionare come un server web. Scaricheremo e installeremo WordPress e configureremo un sito Web di base al quale si potrà accedere da qualsiasi dispositivo sulla stessa rete del nostro Pi.
  • Cosa impareremo
    Seguendo questa risorsa e configurando un server Web e un sito Web WordPress impareremo come:
         1 – Installare il software sul nostro Raspberry Pi
         2 – Installare e configurare Apache, PHP e MySQL per creare un server Web LAMP
         3 – Scaricare WordPress ed eseguilo come sito Web locale sul nostro Raspberry Pi
        4 – Configurare WordPress e rendere il sito Web accessibile ad altri dispositivi sulla rete locale

Di cosa avremo bisogno

  • Hardware
    Un computer Raspberry Pi collegato a Internet

Installiamo un server Web Apache

Apache è una popolare applicazione web server che possiamo installare su Raspberry Pi per consentirle di pubblicare pagine web. Da solo, Apache può pubblicare file HTML su HTTP. Con moduli aggiuntivi può pubblicare pagine Web dinamiche usando linguaggi di scripting come PHP.

Installare Apache

Apriamo una finestra di terminale selezionando Accessori > Terminale dal menu. Installiamo il pacchetto apache2 digitando il seguente comando nel terminale e premendo Invio:

sudo apt-get install apache2 -y

Provare il web server

Per impostazione predefinita, Apache inserisce un file HTML di prova nella cartella Web che sarà possibile visualizzare dal proprio Pi o da un altro computer sulla rete. Apriamo la pagina Web predefinita di Apache sul nostro Raspberry Pi in questo modo:

1 – Apriamo Chromium selezionando Internet > Chromium Web Browser dal menu.
2 – Inseriamo nella barra degli indirizzi l’url http://localhost.

Dovremmo vedere nella finestra del nostro browser l’immagine seguente:

Questo significa che Apache funzionante correttamente! Saremo anche in grado di aprire questa pagina Web da qualsiasi altro computer della nostra rete utilizzando l’indirizzo IP di Raspberry Pi, ad es. http://192.168.1.10. Per scoprire l’indirizzo IP del nostro Raspberry Pi, digitiamo hostname -I nella finestra del terminale. L’indirizzo IP del nostro Raspberry Pi è davvero utile e ci permetterà di accedervi da remoto.

Modifica della pagina Web predefinita

Questa pagina Web predefinita è solo un file HTML nel file system. Si trova in /var/www/html/index.html. Andiamo in questa directory nel terminale e diamo un’occhiata a cosa c’è dentro:

cd /var/www/html
ls -al

Dovremmo vedere questo nella finestra:

totale     12
drwxr-xr-x     2     root root 4096 8 gennaio 01:29     .
drwxr-xr-x     3     root root 4096 8 gennaio 01:28     ..
-rw-r – r–       1     root root 177 8 gennaio 8 01:29    index.html

Questo dimostra che esiste un file in /var/www/html/ chiamato index.html. Il ‘.‘ si riferisce alla directory stessa /var/www/html mentre ‘..‘ si riferisce alla directory principale /var/www/.

Cosa significano le colonne

Le autorizzazioni del file o della directory (drwxrwxrwx)
Il numero di file nella directory (o 1 se si tratta di un file).
L’utente che possiede il file o la directory (root)
Il gruppo proprietario del file o della directory (root)
La dimensione del file o della directory (4096)
La data e l’ora dell’ultima modifica (8 gennaio 01:29)

Come possiamo vedere, la directory html e il file index.html sono entrambi di proprietà dell’utente root, quindi dovremo utilizzare il comando sudo per modificarli. Possiamo modificare questo file usando leafpad:

sudo leafpad index.html

Se apportiamo una modifica al file, lo salviamo e aggiorniamo il browser, vedremo apparire la modifica. Lo faremo tra poco.

Installiamo PHP

PHP è un preprocessore: è il codice che viene eseguito quando il server riceve una richiesta per una pagina web tramite un browser web. Elabora ciò che deve essere mostrato sulla pagina, quindi invia quella pagina al browser. A differenza dell’HTML statico, PHP può mostrare contenuti diversi in circostanze diverse. Anche altre linguaggi sono in grado di farlo, ma poiché WordPress è scritto in PHP, questo è quello che dovremo usare questa volta. PHP è una linguaggio molto popolare sul web: grandi progetti come Facebook e Wikipedia sono scritti in PHP. Installiamo il pacchetto PHP con il seguente comando:

sudo apt-get install php -y

Testiamo PHP

1 – Creiamo il file index.php:

sudo leafpad index.php

2 – Inseriamo alcuni contenuti PHP in esso:

<? php echo “ciao mondo”; ?>

3 – Salviamo il file.

4 – Eliminiamo il file index.html, perché ha la precedenza su index.php:

sudo rm index.html

5 – Aggiorniamo il nostro browser ricaricando la pagina.

A questo punto dovremmo vedere “ciao mondo”. Questa pagina non è dinamica, ma è già implementata in PHP.

Se vediamo il codice PHP grezzo invece di “ciao mondo”, ricarichiamo e riavviamo Apache in questo modo:

sudo service apache2 restart

Ora modifichiamo il nostro file index.php per includere alcuni contenuti dinamici, ad esempio il seguente codice mostrerà data e ora:

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

Oppure mostriamo le informazioni sul preprocessore PHP con il codice seguente:

<? php phpinfo (); ?>

Installiamo MySQL

MySQL (pronunciato My Sequel o My S-Q-L) è un motore di database popolare. Come PHP, è ampiamente utilizzato sui server Web, motivo per cui progetti come WordPress lo utilizzano e perché tali progetti sono così popolari. Installiamo i pacchetti MySQL Server e PHP-MySQL immettendo il seguente comando nella finestra del terminale:

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

Ora riavviamo Apache:

sudo service apache2 restart

Configurare MySQL / MariaDB

Per configurare il nostro sito WordPress, abbiamo bisogno di un database. È qui che entrano in gioco MySQL e MariaDB! Iniziamo configuando la sicurezza del server eseguendo il comando di installazione sicura MySQL nella finestra del terminale.

sudo mysql_secure_installation

Ci verrà chiesto Inserisci la password corrente per root ,inseriamo la password che abbiamo immesso durante l’installazione di MySQL e premiamo Invio, se non avevamo immesso nessuna password durante l’installazione o non ci era stata chiesta, premiamo semplicemente Invio.

Digitare Y e premere Invio per impostare o modificare la nuova password di root.

Digitare una nuova password al prompt Nuova password: e premere Invio. Importante: ricordiamo questa nuova password di root, poiché ci servirà in seguito per configurare WordPress.

Digitare Y per rimuovere utenti anonimi.

Digitare Y per non consentire l’accesso root da remoto.

Digitare Y per rimuovere il database di prova.

Digitare Y per ricaricare le tabelle dei privilegi.

Al termine, vedremo il messaggio: Tutto fatto! e grazie per aver utilizzato MariaDB !.

Creiamo il database per WordPress

Eseguiamo mysql nella finestra del terminale:

sudo mysql -uroot -p

Inserisci la password di root che abbiamo creato al punto precedente. Saremo accolti dal messaggio Benvenuti nel monitor MariaDB. Ora creiamo il database vero e proprio per l’installazione di WordPress, al prompt di MariaDB [(none)]> digitiamo l’istruzione:

create database wordpress;

Notare il punti e virgola che terminano l’istruzione. Se l’istruzione ha avuto successo, dovremmo vedere questo:

Query OK, 1 row affected (0.00 sec)

Ora concediamo i privilegi di database all’utente root. Nota: dopo aver IDENTIFIED BY dovremo inserire la nostra password.

GRANT ALL PRIVILEGES ON wordpress.* TO ‘root’@’localhost’ IDENTIFIED BY ‘nostra password‘;

Per rendere effettive le modifiche, è necessario aggiornare i privilegi del database:

FLUSH PRIVILEGES;

Usciamo dal prompt di MariaDB con Ctrl + D.

Scarichiamo WordPress

Possiamo scaricare WordPress da wordpress.org usando il comando wget. Utilmente, una copia dell’ultima versione di WordPress è sempre disponibile su wordpress.org/latest.tar.gz, quindi possiamo prendere l’ultima versione senza doverla cercare sul sito web. Al momento in cui scrivo, questa è la versione 4.5. Cambiamo la directory in /var/www/html/ ed eliminiamo tutti i file nella cartella.

cd /var/www/html/
sudo rm *

Scarichiamo WordPress usando wget.

sudo wget http://wordpress.org/latest.tar.gz

Estraiamo il tarball di WordPress per accedere ai file di WordPress.

sudo tar xzf latest.tar.gz

Spostiamo il contenuto della directory wordpress estratta nella directory corrente.

sudo mv wordpress/* .

Riordiniamo rimuovendo il tarball e la directory wordpress ora vuota.

sudo rm -rf wordpress latest.tar.gz

Eseguendo il comando ls o tree -L 1 ora vedremo i contenuti del progetto WordPress:

├── index.php
├── license.txt
├── readme.html
├── wp-activ.php
├── wp-admin
├── wp-blog-header.php
├── wp-commenti-post.php
├── wp-config-sample.php
├── contenuto wp
├── wp-cron.php
├── wp-comprende
├── wp-links-opml.php
├── wp-load.php
├── wp-login.php
├── wp-mail.php
├── wp-settings.php
├── wp-signup.php
├── wp-trackback.php
└── xmlrpc.php

3 directory, 16 file

Questa è la cartella di un’installazione predefinita di WordPress. I file modificati per personalizzare l’installazione appartengono alla cartella wp-content. Ora dovremo cambiare il proprietario di tutti questi file in favore dell’utente Apache:

sudo chown -R www-data: .

Configurazione di WordPress

Apriamo il browser web sul nostro Pi e digitiamo l’indirizzo http://localhost, dovremo vedere una pagina di WordPress che chiede di scegliere la tua lingua.

Selezioniamo la nostra lingua e clicchiamo su Continua. Ci verrà presentata la schermata di benvenuto di WordPress.

Facciamo clic su Let’s go!
Ora compiliamo le informazioni di base sul sito come segue:

Nome database: wordpress
Nome utente: root
Password: <LA NOSTRA PASSWORD>
Host database: localhost
Prefisso tabella: wp_

Facciamo clic su Invia per procedere.
Facciamo clic sul pulsante Esegui l’installazione.
Ora ci verrà proposta la schermata di configurazione del sito che stiamo creando:

Inseriamo le informazioni: diamo un titolo al nostro sito, creiamo un nome utente e una password per l’amministratore del sito e inseriamo il nostro indirizzo email. Premiamo il pulsante Installa WordPress, quindi accediamo utilizzando l’account appena creato. Ora che abbiamo effettuato l’accesso e abbiamo configurato il nostro sito, possiamo vedere il pannello di amministrazione visitando l’indirizzo http://localhost/wp-admin.

Permalink amichevoli

Si consiglia di modificare le impostazioni dei permalink per rendere più amichevoli gli URL. Per fare ciò, accediamo al pannello di amministrazione di WordPress e andiamo alla dashboard. Andiamo su Impostazioni, quindi PermalinkSelezioniamo l’opzione che più ci aggrada e facciamo clic su Salva modifiche. Ora dovremo abilitare la mod-rewrite di Apache perché i permalink funzionino correttamente:

sudo a2enmod rewrite

Dovremo inoltre comunicare all’host virtuale che fornisce il sito di consentire la sovrascrittura delle richieste. Modifichiamo il file di configurazione di Apache per il nostro host virtuale:

sudo leafpad /etc/apache2/sites-available/000-default.conf

Aggiungiamo le seguenti righe dopo la riga 1.

<Directory “/var/www/html”>
    AllowOverride All
</Directory>

Assicuriamoci che sia all’interno di <VirtualHost *: 80> in questo modo:

<VirtualHost *:80>
    <Directory “/var/www/html”>
        AllowOverride All
    </Directory>
    …

Salviamo il file e usciamo.
Riavviamo Apache.

sudo service apache2 restart

Personalizzazione di WordPress

WordPress è molto personalizzabile. Facendo clic sul nome del nostro sito nella parte superiore della pagina (una volta effettuato l’accesso), verremo indirizzati alla Dashboard. Da lì, possiamo cambiare il tema, aggiungere pagine e post, modificare il menu, aggiungere plug-in e molto altro. Questo è solo un assaggio per ottenere qualcosa di interessante impostato sul web server di Raspberry Pi.

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.