Raspberry Web Server e WordPress

Realizziamo un Web Server con il Raspberry Pi e WordPress

In questo articolo vedremo come creare un server LAMP (Linux, Apache, MySQL, PHP) sul Raspberry Pi e come configurarlo per funzionare come web server con WordPress. 

COSA IMPARERETE

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

  • Installare il software sul vostro Raspberry Pi;
  • Installare e configurare Apache, PHP e MySQL in modo tale da creare un web server LAMP;
  • Scaricare WordPress ed eseguirlo come sito web locale sul vostro Raspberry Pi;
  • 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 e una scheda SD da almeno 8Gb.

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 installiamo 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.xxx (o qualunque altro sia l’indirizzo del Pi) da un altro computer collegato alla rete.

Per trovare l’indirizzo IP del Raspberry Pi, digita da terminale il seguente comando:

hostname -I 

 

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

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 php -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 service 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 php-mysql -y

Riavviate Apache:

sudo service apache2 restart

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.

Navigate su /www/wwwroot/elettronicalarosa.it/, e scaricate WordPress in questa cartella. Dovrete inizialmente cancellare il contenuto della cartella (assicuratevi di non cancellare file per voi importanti prima di dare il comando rm);

cd /www/wwwroot/elettronicalarosa.it/
sudo rm *

Cambiate poi la ownership di questa cartella nell’utenza pi.

sudo chown pi: .

Scaricate WordPress usando wget:

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

Estraete ora il tarball (il file compresso scaricato):

sudo tar xzf latest.tar.gz

Spostate i contenuti della cartella estratta (wordpress) nella directory corrente:

sudo mv wordpress/* .

Rimuovete la cartella (ora vuota) e il tarball:

sudo rm -rf wordpress latest.tar.gz

Eseguendo qui il comando ls oppure tree -L 1 potrete visualizzare i contenuti di 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
3 directories, 16 files

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

Cambiate l’ownership di tutti i file per dare accesso all’user di Apache:

sudo chown -R www-data: .

IMPOSTATE IL VOSTRO DATABASE WORDPRESS

Per avere un sito WordPress funzionante, occorre un database. Ci vengono incontro MySQL and MariaDB.

Avviate un’installazione sicura di MySQL tramite terminale:

sudo mysql_secure_installation

Ti verrà chiesto di inserire la password corrente dell’utente root

Enter current password for root (enter for none): — premere Enter.

Digitare Y e premere Enter per Set root password?.

Digitare una nuova password New password: e premere Enter.

Importante: ricorda questa password per l’utente root, ne avrai bisogno dopo per configurare WordPress.

Digitare Y per Remove anonymous users.

Digitare Y per Disallow root login remotely.

Digitare Y per Remove test database and access to it.

Digitare Y per Reload privilege tables now.

Quando avrai finito, vedrai il messaggio All done! e Thanks for using MariaDB!.

Create il database WordPress

Avviate mysql da terminale:

sudo mysql -uroot -p

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

Riceverai il seguente messaggio di benvenuto:Welcome to the MariaDB monitor.

Create il database per l’installazione di WordPress in MariaDB [(none)]> e inserire nel prompt:

create database wordpress; wordpress indica il nome che volete dare al vostro database

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)

Ora garantite i privilegi all’user root.

Note: inserire il nome del database dopoPRIVILEGES ON e la la password dopoIDENTIFIED BY.

GRANT ALL PRIVILEGES ON wordpress.* TO 'root'@'localhost' IDENTIFIED BY 'YOURPASSWORD';

Per rendere effettivi i cambiamenti, aggiorniamo i privilegi al database:

FLUSH PRIVILEGES;

Uscire dal prompt di MariaDB con Ctrl + D.

CONFIGURAZIONE DI WORDPRESS

Dovete anzitutto reperire l’indirizzo IP del vostro Pi, per cui digitate da terminale il comando hostname -I.oppure navigare dal browser del vostro Pi usando http://localhost.

Dovreste vedere la pagina di configurazione di WordPress:

Selezionate la lingua e premete Continua.

Adesso vedrete la pagina di benvenuto:

Cliccate sul tasto Let’s go!.

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_

Cliccare su Submit per procedere e poi cliccare sul bottone Run the install.

SCHERMATA DI BENVENUTO

Ci siamo quasi.

Riempite 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.

Adesso fate il login con l’account appena creato http://localhost/wp-admin.

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.

Come fare il Log in su WordPress da un altro computer:

Per loggarsi da un altro computer, aprire il browser e digitate http://PI-IP-ADDRESS/wp-admin, usando l’indirizzo IP del vostro Raspberry.

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.

E’ necessario abilitare la modalità rewrite di Apache:

sudo a2enmod rewrite

E’ necessario anche dire al virtual host di consentire alle richieste di essere sovrascritte. Modifichiamo apache2.conf:

sudo nano /etc/apache2/apache2.conf

Modificare questa parte di codice:
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
</Directory>

<Directory /usr/share>
    AllowOverride None
    Require all granted
</Directory>

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

Con questa:

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
</Directory>

<Directory /usr/share>
    AllowOverride None
    Require all granted
</Directory>

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Modifica la configurazione di Apache per il tuo virtual host:

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

Aggiungi le seguenti linee dopo <VirtualHost *:80> così come di seguito:

<VirtualHost *:80>
<Directory "/www/wwwroot/elettronicalarosa.it">
AllowOverride All
</Directory>
...

Salve ed esci.
Riavvia Apache con:

sudo service apache2 restart

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.

Comments (21)

  1. Fregeau

    Hello There. I found your blog using msn. This is a really well written article. I will make sure to bookmark it and come back to read more of your useful information. Thanks for the post. I’ll certainly return.

  2. Liam

    Thanks very nice blog!

  3. Marc

    For newest news you have to pay a quick visit world-wide-web
    and on world-wide-web I found this website as a best website for most recent updates.

  4. Jeffrey

    I have read so many content concerning the blogger
    lovers except this piece of writing is genuinely a nice piece of
    writing, keep it up.

  5. Lennie

    For hottest information you have to visit the web and
    on web I found this web page as a most excellent site for newest updates.

  6. Dylan

    You should take part in a contest for one of the most
    useful websites on the net. I am going to highly recommend
    this web site!

  7. Brandon

    bookmarked!!, I love your website!

  8. Elliott

    That is really attention-grabbing, You’re an excessively skilled blogger.
    I’ve joined your rss feed and sit up for searching for extra of your magnificent post.
    Also, I have shared your site in my social networks!

  9. Gifdta

    It’s an awesome article for all the internet viewers; they will get advantage from it I am sure.

  10. Sheldon

    It’s actually a nice and helpful piece of info. I
    am happy that you just shared this useful info with us. Please stay us up to date like this.
    Thanks for sharing.

  11. Skilja

    I like the helpful info you provide for your articles.
    I will bookmark your blog and test once more here regularly.
    I’m quite sure I’ll be informed plenty of
    new stuff proper here! Good luck for the following!

  12. Valentine

    It’s a shame you don’t have a donate button! I’d most certainly donate to this excellent blog!
    I guess for now i’ll settle for bookmarking and adding your RSS feed
    to my Google account. I look forward to new updates and will talk
    about this website with my Facebook group. Talk soon!

  13. Russel

    Good site you’ve got here.. It’s difficult to find high quality
    writing like yours these days. I really appreciate
    people like you! Take care!!

  14. Oliver

    Hi there! I could have sworn I’ve been to this website before but after checking through some of the
    post I realized it’s new to me. Nonetheless, I’m definitely delighted I found it and
    I’ll be book-marking and checking back often!

  15. Harry

    This is really interesting, You are a very skilled blogger.

    I have joined your feed and look forward to seeking more of your great post.
    Also, I have shared your web site in my social networks!

  16. Jacob

    Pretty great post. I just stumbled upon your blog and wished
    to say that I have really enjoyed browsing your weblog posts.

    After all I will be subscribing for your rss feed and
    I hope you write again very soon!

  17. Darrin

    Hey very interesting blog!

  18. Isabelle

    I’m really enjoying the design and layout of your website.
    It’s a very easy on the eyes which makes it much more enjoyable for
    me to come here and visit more often. Did you hire out a developer to create your theme?

    Great work!

    • Corrado La Rosa

      Thanks for the appreciation … I made the site all by myself … I will try to improve it more and more 😉

  19. Blondell

    Excellent posts, Thanks!

  20. Cathy

    Perfect… Thanks

Lascia un commento

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

Close
Navigation

Categories