I Requisiti di Sistema di WordPress

Prima di rispondere alla Domanda “Come installare WordPress?”, bisogna decidere dove installare WordPress e quali sono i requisiti tecnici (o requisiti di sistema di WordPress) che devono essere rispettati.

Ma prima di questo, bisogna decidere tra un’installazione indipendente di WordPress (detta self-hosted) e un’installazione di WordPress ospitata sulla piattaforma gestita di WordPress.com. La prima soluzione garantisce massima funzionalità, indipendenza operativa, possesso dei dati e proprietà dell’installazione. La seconda soluzione garantisce semplicità e rapidità di utilizzo, oltre ad un’ottima indicizzazione e alla possibilità di condividere i propri contenuti nel network di WordPress.com.

Se si decide per la soluzione indipendente, allora bisognerà occuparsi dell’installazione e della configurazione del software. Se si tratta di un’installazione di prova o di sviluppo per testare il proprio codice, allora la scelta dovrà per forza di cose portarci ad installare WordPress sul nostro computer (installazione locale), oppure in un ambiente di gestione temporanea (staging) o di sviluppo.

Quando il sito sarà pronto per essere pubblicato (cioè per andare in produzione), allora bisognerà installare WordPress su un server collegato a Internet, generalmente fornito da un provider di hosting (o host).

In questo capitolo analizzeremo gli strumenti software da conoscere prima di procedere all’installazione di WordPress, dopo aver chiarito le principali differenze tra WordPress.org (self-hosted) e WordPress.com. In particolare, tratteremo i seguenti argomenti:

Premessa: che differenza c’è tra WordPress.org e WordPress.com

Esistono due modi diversi di utilizzare WordPress: creando un’installazione indipendente, cioè installandolo autonomamente in uno spazio server offerto da un provider di hosting, oppure iscrivendosi al servizio offerto da WordPress.com.

WordPress indipendente (o stand-alone)

Scegliendo di utilizzare WordPress in modo indipendente, potrete sfruttare al massimo tutte le sue funzionalità, avrete accesso a tutte le sue estensioni (temi e plugin) e potrete anche sviluppare le vostre applicazioni personali. Inoltre, manterrete il possesso dei dati del sito e ne avrete la completa titolarità. Ciò vuol dire che, scegliendo di avere un’installazione indipendente di WordPress, avrete il massimo delle funzionalità del CMS e del controllo sia del software che dei dati.

Questa libertà ha però un costo: dovrete installare WordPress su un server remoto, dopo aver sottoscritto un abbonamento ad un fornitore di un servizio di hosting, e dovrete occuparvi della configurazione e della manutenzione del software.

Sebbene l’installazione di WordPress sia estremamente semplice (è famosa l’installazione in 5 minuti), come vedrete nel corso di questa guida, potrebbero comunque nascere delle difficoltà, soprattutto per gli utenti meno esperti. Inoltre, un servizio di hosting di scarsa qualità, e privo di un efficiente servizio di assistenza, potrebbe lasciarvi in panne prima del previsto. Scegliere l’indipendenza significa seguire un percorso di qualità e responsabilità, a partire dalla scelta dell’host, ma anche di maggiore impegno nella gestione e manutenzione del CMS.

Nell’ambito delle attività di manutenzione, è estremamente importante l’aggiornamento del software. WordPress è un software open source, così come sono open source le sue estensioni. Questo significa che il suo codice è pubblicamente disponibile, e per questo noto anche agli hacker. Per risolvere le vulnerabilità e aggiungere funzionalità al software, vengono periodicamente rilasciati aggiornamenti che sarà necessario installare per mantenere il proprio ambiente sicuro e funzionale.

Avere un’installazione di WordPress indipendente significa anche avere la responsabilità di effettuare periodicamente il backup dell’installazione e aggiornare regolarmente il software. Anche questi argomenti saranno trattati nel corso di questa guida.

La home page di WordPress.org
La home page di WordPress.org

Se invece non vi serve l’indipendenza e il controllo di un’installazione self-hosted, e vi basta scrivere testi e pubblicare contenuti multimediali, allora correte ad aprire un account su WordPress.com.

WordPress ospitato su WordPress.com

Se il vostro obiettivo è quello di essere online con WordPress con il minimo sforzo, allora potete pensare di aprire un account su WordPress.com e partire subito con il vostro primo blog (o sito web).

WordPress.com è un servizio di hosting per WordPress. Ci si iscrive gratuitamente e si ha subito a disposizione un sito bello e pronto. Non è necessario procedere all’istallazione, e la configurazione è limitata all’aspetto del sito e ad una serie di funzionalità di base.

Tuttavia, Automattic, l’azienda proprietaria di WordPress.com, ha scopo di lucro e offre funzionalità più avanzate agli utenti disposti a pagare il costo di un piano pro. Quindi, per beneficiare di servizi più avanzati e avere maggiori possibilità di personalizzazione, sarà comunque necessario sostenere un costo.

Scegliendo la soluzione hosted di WordPress.com, non dovrete mai preoccuparvi di effettuare un backup o di aggiornare il software, perché sarà chi gestisce la piattaforma a mettere in sicurezza il vostro sito e a provvedere agli aggiornamenti per voi.

Prima di decidere, però, è bene che stabiliate con precisione di cosa avete bisogno, cioè di quali funzionalità e di quali caratteristiche grafiche volete dotare il vostro sito, perché la scelta tra WordPress.come e un’installazione indipendente dovrebbe dipendere dagli obiettivi che ci si pone, piuttosto che dalla convenienza economica o dall’impegno richiesto nella manutenzione del software. Insomma, vi serve innanzi tutto un progetto.

wordpress.com
I piani di WordPress.com a confronto

Fatta questa dovuta precisazione, da qui in avanti ci occuperemo di tutto quello che riguarda un’installazione indipendente di WordPress, a cominciare dalle (poche) conoscenze di base che bisogna avere per gestire il software con una certa padronanza.

I Requisiti di Sistema di WordPress

Se avete deciso di installare WordPress in modo indipendente, la vostra prima preoccupazione sarà quella di verificare i requisiti di sistema dell’ambiente software su cui installerete il vostro sito. Per requisiti di sistema intendiamo le versioni minime richieste delle tecnologie necessarie al funzionamento di WordPress.

A gennaio 2020, WordPress richiede almeno:

  • PHP versione 7.3 o superiore
  • MySQL versione 5.6 o superiore o MariaDB versione 10.1 o superiore
  • Software server Apache (con modulo mod_rewrite) o Nginx
  • Compatibilità con il protocollo HTTPS

Cosa vuol dire tutto questo? Vediamo!

Cosa è PHP

PHP è l’acronimo di PHP Hypertext Processor, ed è un ambiente software e un linguaggio di programmazione per la creazione dinamica di pagine web. A differenza delle pagine statiche, il contenuto delle pagine web dinamiche può cambiare in base alle azioni dell’utente o a causa di nuove informazioni provenienti dal database (ad esempio, un nuovo articolo del blog).

In particolare, PHP permette l’interazione con diversi sistemi di database, come ad esempio MySQL e MariaDB, da cui vengono prelevati i dati che costituiranno le pagine di un sito web.

Nel sito ufficiale del progetto PHP, si legge:

PHP è un popolare linguaggio di scripting a scopi generali particolarmente adatto allo sviluppo web. Veloce, flessibile e pragmatico, PHP alimenta di tutto, dal vostro blog ai siti web più popolari del mondo.

PHP è anche il linguaggio di programmazione con cui è stato sviluppato il motore di WordPress, quello che viene comunemente chiamato Core di WordPress.

Chi volesse imparare le basi della programmazione in PHP, può cominciare dalla guida a PHP del W3Schools.

PHP
PHP (origine Wikipedia)

I sistemi di gestione del database: MySQL e MariaDB

Un database è un archivio che permette di memorizzare grandi quantità di dati ed effettuare su di essi operazioni di vario tipo, come la creazione, la modifica, l’eliminazione e la selezione. Per la gestione di questi dati, si opera attraverso un software che viene definito DBMS, ossia Database Management System. Le operazioni sui dati del database sono effettuate tramite SQL (Structured Query Language), definito come un linguaggio standardizzato per database basati sul modello relazionale (RDBMS).

I DBMS più utilizzati con PHP sono MySQL e MariaDB, e sono gli stessi DBMS che si incontreranno nella maggior parte delle installazioni di WordPress.

MySQL

MySQL è un Relational database management system (RDBMS), ossia un sistema di gestione di database relazionale che consente di creare la struttura di database e tabelle di database, oltre che a permettere di creare, visualizzare, modificare e cancellare i record delle tabelle. Il software è composto da un’interfaccia a riga di comando e un server ed è supportato da numerosi linguaggi di programmazione, tra cui PHP. L’utente potrà quindi accedere al database sia attraverso riga di comando, sia attraverso il linguaggio di programmazione.

MySQL
MySQL (origine mysql.com)

MariaDB

MariaDB è un DBMS nato da un fork di MySQL, e con questo condivide le caratteristiche principali. Esistono comunque delle differenze tra i due software, tra cui prestazioni superiori e funzionalità aggiuntive, che stanno favorendo l’adozione sempre più diffusa di MariaDB. Se siete interessati, ecco un approfondimento sulle differenze tra i due DBMS.

MariaDB
MariaDB (origine Wikipedia)

Chi volesse saperne di più su SQL, può dare un’occhiata alla guida a SQL del W3Schools.

Il software server: Apache e Nginx

Un server è contemporaneamente due cose: un computer (hardware) e un programma (software).

Il sistema server hardware/software rappresenta un nodo terminale della rete opposto al client dell’utente che vi accede.

In altre parole si tratta di un computer o di un programma che fornisce i dati richiesti da altri elaboratori, facendo quindi da host per la trasmissione delle informazioni virtuali – Wikipedia

Architettura client-server
Architettura client-server (fonte Wikipedia)

Con il termine server, quindi, ci riferiamo sia alla componente hardware che alla componente software. La componente software eroga una serie numerosa di servizi, tra cui:

  • File server
  • Database server (DBMS)
  • FTP server
  • Web server
  • Mail serverProxy server
  • Cloud server
  • e molti altri.

Apache ed Nginx sono due dei più noti Web Server utilizzati in Internet e sono raccomandati per l’installazione di WordPress.

Cosa fa un web server? Leggiamo la definizione che ne dà Wikipedia:

In informatica un server web (o web server) è un’applicazione software che, in esecuzione su un server, è in grado di gestire le richieste di trasferimento di pagine web di un client, tipicamente un web browser. […] Su un server web risiedono dunque i siti web tramite hosting. L’insieme di tutti i web server interconnessi a livello mondiale dà vita al World Wide Web.

I server web più utilizzati e raccomandati da WordPress.org sono Apache e Nginx.

Apache Web Server

Apache HTTP Server è il server web gratuito sviluppato dalla Apache Software Foundation. È una delle piattaforme server più diffuse, compatibile con la maggior parte dei sistemi operativi. Apache è una piattaforma modulare, il che vuol dire che le sue funzioni possono essere estese con componenti aggiuntivi chiamati moduli, i quali possono essere aggiunti o rimossi in base alle proprie esigenze.

Apache HTTP Server
Apache HTTP Server (origine apache.org)

Un modulo di Apache necessario per il corretto funzionamento di WordPress è il mod_rewrite. Si tratta di un modulo che permette di riscrivere gli URL a livello di server in modo che gli indirizzi predefiniti composti da lunghe e incomprensibili coppie chiave=valore vengano permanentemente trasformate in stringhe comprensibili agli esseri umani. Grazie al mod_rewrite di Apache, è possibile trasformare il seguente URL:

https://miosito.com/?p=123

in quest’altro:

https://miosito.com/titolo-articolo/

Generalmente non dovrete preoccuparvi del modulo mod_rewrite in quanto tutti i principali host che forniscono servizi di hosting di WordPress forniscono il modulo di default.

Nginx

Nginx è un server web leggero e dalle alte prestazioni, grazie ad un utilizzo efficiente delle risorse. Nginx può in realtà essere implementato in vari modi. Spesso viene implementato su Apache web server, permettendo di sfruttare la potenza di Apache e al contempo ottenere le prestazioni di Nginx. Ma può essere utilizzato anche standalone web server, ossia come server web indipendente.

Nginx non prevede l’installazione di mod_rewrite, che è specifico di Apache. La configurazione del rewriting degli URL avviene nei file di configurazione di Nginx.

Nginx
Nginx (origine Wikipedia)

Non è tra gli scopi di questa guida approfondire questi argomenti, ma i lettori più ambizioni possono approfondire il discorso sulle regole di rewriting nel blog di AskApache e nel blog ufficiale di Nginx, in Creating NGINX Rewrite Rules e
Converting Apache Rewrite Rules to NGINX Rewrite Rules.

I protocolli HTTP e HTTPS

HTTP (Hypertext Transfer Protocol) è un protocollo per la trasmissione di informazioni sul web. Wikipedia lo definisce così:

In telecomunicazioni e informatica l’HyperText Transfer Protocol (HTTP) è un protocollo a livello applicativo usato come principale sistema per la trasmissione d’informazioni sul web ovvero in un’architettura tipica client-server.

Chiariamo il concetto. Un protocollo di rete è un insieme di regole che stabiliscono in che modo due o più apparecchiature di rete (come host, computer e telefono cellulare) comunicano tra di loro. All’interno del sistema dei protocolli di rete, HTTP fa parte del gruppo dei protocolli trasferimento di file, insieme al protocollo FTP, di cui si discuterà più avanti in questa guida.

L’HTTP è un protocollo che lavora con un’architettura di tipo client/server: il client esegue una richiesta e il server restituisce la risposta mandata da un altro host. Nell’uso comune il client corrisponde al browser ed il server la macchina su cui risiede il sito web. Vi sono quindi due tipi di messaggi HTTP: messaggi richiesta e messaggi risposta.

Quindi l’HTTP è un protocollo di trasferimento dati sul web. La sua prima versione risale addirittura alla fine degli anni ’80, ad opera di Tim Berners-Lee. Nonostante gli incredibili meriti di HTTP, questo soffre comunque di una serie di limitazioni, alcune “preoccupanti” in quanto relative alla sicurezza nella trasmissione dei dati.

Lo sviluppo della tecnologia di rete ci ha portato una versione del protocollo, HTTP/2, rilasciata nel mese di maggio del 2015.

Per utilizzare il protocollo HTTP/2, è necessario che le richieste del client vengano crittografate e trasmesse con URL HTTPS. A questo scopo è necessario dotarsi di un certificato SSL.

Nella parte finale della guida si affronteranno più dettagliatamente questi argomenti. Per il momento basti dire che molti dei principali provider di hosting oggi forniscono certificati SSL gratuiti e supportano HTTPS. Per adesso vi è sufficiente accertarvi che il vostro provider di hosting garantisca questa funzionalità.