WordPress è la piattaforma di blogging e CMS open source più popolare al mondo, che alimenta un quarto di tutti i siti Web su Internet oggi. Si basa su PHP e MySQL e racchiude un sacco di funzionalità che possono essere estese con plugin e temi gratuiti e premium. WordPress è il modo più semplice per creare il tuo negozio online, sito web o blog.
Questo tutorial descrive come installare WordPress su CentOS 7. È un processo abbastanza semplice che richiede meno di dieci minuti per essere completato.
Utilizzeremo uno stack LEMP con Nginx come server web, certificato SSL, l'ultimo PHP 7.2 e MySQL/MariaDB come server di database.
Prerequisiti #
Assicurati che i seguenti prerequisiti siano soddisfatti prima di continuare con questo tutorial:
- Fai puntare un nome di dominio all'indirizzo IP pubblico del tuo server. In questo tutorial useremo
example.com
. - Acceduto come utente con privilegi sudo.
- Nginx installato seguendo queste istruzioni.
- Hai un certificato SSL installato per il tuo dominio. Puoi generare un certificato SSL Let's Encrypt gratuito seguendo queste istruzioni.
Creazione del database MySQL #
WordPress memorizza i suoi dati e la sua configurazione in un database MySQL. Il primo passo è creare un database MySQL, un account utente MySQL e concedere l'accesso al database.
Se non hai già MySQL o MariaDB installato sul tuo server Ubuntu puoi installarlo seguendo una delle istruzioni seguenti:
- Installa MySQL su CentOS 7.
- Installa MariaDB su CentOS 7.
Accedi alla shell MySQL eseguendo il comando seguente:
mysql -u root -p
Dall'interno della shell MySQL, esegui le seguenti istruzioni SQL per creare un database denominato wordpress
, utente denominato wordpressuser
e per concedere tutte le autorizzazioni necessarie all'utente:
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'change-with-strong-password';
FLUSH PRIVILEGES;
EXIT;
Installazione di PHP 7.2 #
CentOS 7 viene fornito con la versione PHP 5.4. La versione PHP consigliata per WordPress è PHP 7.2.
Per installare PHP e tutte le estensioni PHP richieste, esegui i seguenti comandi:
sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi-php72
sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl
Abbiamo installato PHP FPM perché useremo Nginx come server web.
Per impostazione predefinita, l'FPM PHP verrà eseguito come utente apache
sulla porta 9000. Cambieremo l'utente in nginx
e passare dal socket TCP al socket Unix. Per farlo, apri il /etc/php-fpm.d/www.conf
file modifica le righe evidenziate in giallo:
...
user = nginx
...
group = nginx
...
listen = /run/php-fpm/www.sock
...
listen.owner = nginx
listen.group = nginx
Assicurati che il /var/lib/php
directory ha la proprietà corretta utilizzando il seguente comando chown:
sudo chown -R root:nginx /var/lib/php
Una volta apportate le modifiche, abilita e avvia il servizio PHP FPM:
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
Download di Wordpress #
Prima di scaricare l'archivio di Wordpress, crea prima una directory in cui collocheremo i file di WordPress:
sudo mkdir -p /var/www/html/example.com
Il passaggio successivo consiste nel scaricare l'ultima versione di WordPress dalla pagina di download di WordPress utilizzando il seguente comando wget:
cd /tmp
wget https://wordpress.org/latest.tar.gz
Al termine del download, estrai l'archivio di WordPress e sposta i file nella directory principale dei documenti del dominio:
tar xf latest.tar.gz
sudo mv /tmp/wordpress/* /var/www/html/example.com/
Imposta le autorizzazioni corrette in modo che il server web possa avere pieno accesso ai file e alle directory del sito:
sudo chown -R nginx: /var/www/html/example.com
Configurazione di Nginx #
A questo punto dovresti già avere Nginx con certificato SSL installato sul tuo sistema, in caso contrario controlla i prerequisiti per questo tutorial.
Per creare un nuovo blocco server per la nostra istanza WordPress utilizzeremo la ricetta Nginx dal sito ufficiale di Nginx.
Apri il tuo editor di testo e crea un nuovo blocco del server nginx:
sudo nano /etc/nginx/conf.d/example.com.conf
Aggiungi le seguenti righe:
/etc/nginx/conf.d/example.com.conf# Redirect HTTP -> HTTPS
server {
listen 80;
server_name www.example.com example.com;
include snippets/letsencrypt.conf;
return 301 https://example.com$request_uri;
}
# Redirect WWW -> NON WWW
server {
listen 443 ssl http2;
server_name www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com;
root /var/www/html/example.com;
index index.php;
# SSL parameters
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
include snippets/letsencrypt.conf;
# log files
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires max;
log_not_found off;
}
}
Non dimenticare di sostituire example.com con il tuo dominio WordPress e impostare il percorso corretto per i file del certificato SSL. Tutte le richieste HTTP verranno reindirizzate a HTTPS. Gli snippet utilizzati in questa configurazione vengono creati in questa guida. Prima di riavviare il servizio Nginx, verifica la configurazione per assicurarti che non ci siano errori di sintassi:
sudo nginx -t
Se non ci sono errori, l'output dovrebbe essere simile a questo:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
e puoi riavviare Nginx digitando:
sudo systemctl restart nginx
Completamento dell'installazione di WordPress #
Ora che Wordpress è stato scaricato e la configurazione del server è completa, puoi completare l'installazione tramite l'interfaccia web.
Apri il browser, digita il tuo dominio e apparirà una schermata simile alla seguente:
Seleziona la lingua che desideri utilizzare e fai clic su Continue
pulsante.
Successivamente, vedrai la seguente pagina di informazioni, fai clic su Let's go!
pulsante.
Nella schermata successiva, la procedura guidata di configurazione ti chiederà di inserire i dettagli della connessione al database. Inserisci l'utente MySQL e i dettagli del database che hai creato in precedenza.
Avvia l'installazione di WordPress facendo clic su Run the Installation
pulsante.
Nel passaggio successivo dovrai inserire un nome per il tuo sito WordPress e scegliere un nome utente (per motivi di sicurezza non utilizzare "admin").
Il programma di installazione genererà automaticamente una password complessa per te. Non dimenticare di salvare questa password. Puoi anche impostare la password da solo.
Inserisci il tuo indirizzo email e seleziona se vuoi scoraggiare i motori di ricerca dall'indicizzare il sito (sconsigliato).
Fai clic su Install WordPress
e una volta completata l'installazione verrai indirizzato a una pagina che ti informa che WordPress è stato installato.
Per accedere alla pagina di accesso di WordPress, fai clic su Log in
pulsante.
Inserisci il tuo nome utente e password.
Verrai reindirizzato alla dashboard di amministrazione di WordPress.
Da qui, puoi iniziare a personalizzare la tua installazione di WordPress installando nuovi temi e plugin.