Iniziamo questa guida spiegando che cos’è WordPressWordPress è un motore di sviluppo di “blog” e/o di “web-pages”, capace di far sviluppare tali piattaforme in totale autonomia (content management system –CMS-) ovvero senza necessariamente essere esperti sviluppatori. E’ Open Source, pertanto si può installare il programma liberamente in un server personale consentendo distribuzione del proprio sito Internet / blog con tutti i relativi contenuti multimediali o testuali. Il linguaggio usato per lo sviluppo è il PHP, e il database predefinito è il MySQL.

Il sistema operativo che utilizzaremo è Ubuntu Server 18.04, un Sistema Operativo a Console, senza nessuna interfaccia GUI, e Nginx come WebServer di dialogo verso la rete, oltre all’Apache il cui utilizzo è limitato al localhost per le interazioni tra Blog WordPress e MariaDB.

Iniziamo aprendo la Bash Console (in questa guida è stata usata GitBash, molto comoda, stabile e veloce) e apriamo una connessione SSH con il Server nel quale voglia installare WordPress (..vedi guida..).

Una volta connessi al server useremo questi comandi:

sudo apt update
sudo apt install wordpress php libapache2-mod-php mariadb-server php-mysql

Come installare WordPress in un Ubuntu Server 18.04 con WebServers Apache e Nginx e DataBase MariaDB

Configurazioni Webserver Apache

Il prossimo passaggio è quello di creare un file di configurazione WordPress per Apache WebServer

sudo nano /etc/apache2/sites-available/wordpress.conf

all’interno del file appena creato inseriamo questa configurazione:

Alias /blog /usr/share/wordpress
<Directory /usr/share/wordpress>
    Options FollowSymLinks
    AllowOverride Limit Options FileInfo
    DirectoryIndex index.php
    Order allow,deny
    Allow from all
</Directory>
<Directory /usr/share/wordpress/wp-content>
    Options FollowSymLinks
    Order allow,deny
    Allow from all
</Directory>

Come installare WordPress in un Ubuntu Server 18.04 con WebServers Apache e Nginx e DataBase MariaDB

Dato che il WebServer principale sarà Nginx, il prossimo step è quello di modificare le porte di default del WebServer Apache, pertanto iniziamo eseguendo questo comando:

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

una volta aperto il file “/000-default.conf” modificheremo i parametri in questo modo:

#<VirtualHost *:80>
<VirtualHost *:81>

Come installare WordPress in un Ubuntu Server 18.04 con WebServers Apache e Nginx e DataBase MariaDB

La modifica successiva sarà alle porte di ascolto del WebServer Apache, modificando il file “ports.conf”

sudo nano /etc/apache2/ports.conf

una volta entrati nell’editor del file apporteremo queste modifiche:

#Listen 80
Listen 81

<IfModule ssl_module>
#Listen 443
Listen 444
</IfModule>

<IfModule mod_gnutls.c>
#Listen 443
Listen 444
</IfModule>

Ora si andrà ad abilitare il blog, le riscritture e i reload di apache:

sudo a2ensite wordpress
sudo a2enmod rewrite
sudo service apache2 restart
sudo service apache2 status

Installazione webserver nginx

sudo apt install nginx
sudo service nginx status
sudo nano /etc/nginx/conf.d/Wordpressite.nginx.conf

nella finestra di editor che si è aperta inseriamo questi parametri di configurazione:

resolver 8.8.8.8;
server{
    listen 80;
  server_name www.tuoindirizzo.it;
    location /blog/ {
        proxy_pass_header Server;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass http://127.0.0.1:81/blog/;
    }
}

Ora dovrà essere riavviato nginx

sudo service nginx restart
sudo service nginx status

Se è tutto corretto dovrà essere visualizzata una risposta simile a quella nella foto seguente:

Configurazione del Database “Maria DB”

Per motivi di sicurezza è fondamentale configurare l’accessibilità al database solo da localhos (127.0.0.1), quindi se si volesse accedere allo stesso tramite dei GUI si dovrà aprire un tunnel SSH (ma in questo caso non server fare nulla)

sudo mysql -u root

si è aperta la finestra di comunicazione con il database, dove verranno inseriti questi comandi

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('UNA_PASSWORD_A_SCELTA');
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY 'password';
SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('UNA_PASSWORD_A_SCELTA');
GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' WITH GRANT OPTION;
FLUSH PRIVILEGES;
SELECT User, Host, Password FROM mysql.user;
exit;

Configurazione dei parametri WordPress

Aprire il file di configurazione WordPress tramite questo comando:

sudo nano /etc/wordpress/config-www.tuoindirizzo.it.php

modificare i parametri esistenti con quelli settati nelle precedenti configurazioni:

<?php
define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpress');
define('DB_PASSWORD', '<PASSWORD_SETTATA_PER_LOCALHOST_NEL_DATABASE>');
define('DB_HOST', 'localhost');
define('DB_COLLATE', 'utf8_general_ci');
define('WP_CONTENT_DIR', '/usr/share/wordpress/wp-content');
?>

Ora non resta che riavviare il servizio MariaDB

sudo service mysql restart
sudo service mysql status

Prima configurazione del blog

Aprire un browser a a scelta e digitare:
–  http://www.ilmiodominio.it/blog/wp-admin/install.php

si aprirà la pagina di prima configurazione del Blog. Verranno richieste varie informazioni tra cui username, password di accesso ecc..
Una volta inseriti tutti i parametri richiesti ci verrò restituita la pagina di benvenuto………. ed il blog è pronto!