WordPress è un sistema di gestione dei contenuti gratuito e open source scritto in PHP e abbinato a un database MySQL o MariaDB.
Benvenuto nel costruttore di siti Web più famoso al mondo. Il 42% del Web è basato su WordPress.
Contenuti correlati:
- Installazione e configurazione di Mysql Server 8 su Centos 8
Prerequisiti
Per seguire questa guida, assicurati di avere quanto segue:
- Server Centos 8
- Accesso root o utente con accesso sudo
- Nome di dominio con record DNS A mappato al server
- Accesso a Internet dal server
Indice dei contenuti
- Aggiornamento del sistema
- Installazione del server di database mysql 8
- Crea mysql wordpress usr
- Installa il server Web Nginx
- Installa PHP con le dipendenze
- Configura le impostazioni PHP e PHP FPM
- Scarica e installa WordPress
- Configurazione di wordpress
- Configura Nginx per servire il sito
- Completa l'installazione di WordPress
1. Aggiornamento del sistema
Assicurati che il tuo sistema sia aggiornato prima di procedere. Utilizzare il comando seguente per aggiornare i pacchetti:
sudo dnf -y update
Uscita:
$ sudo dnf -y update
Last metadata expiration check: 1:18:02 ago on Tue 17 Aug 2021 11:20:55 AM UTC.
Dependencies resolved.
Nothing to do.
Complete!
2. Installa il server database MySQL 8
Nota: Per vedere una guida dettagliata sull'installazione del server MySQL, controlla questa guida qui.
Ora che il sistema è aggiornato, installa il server mysql. Mysql è disponibile nei repository Centos 8 come mysql-server
pacchetto. Installalo con questo comando:
sudo dnf install -y mysql-server
Una volta completata l'installazione, avvia il servizio utilizzando questo comando:
sudo systemctl start mysqld
Abilita l'avvio del servizio all'avvio:
sudo systemctl enable mysqld
Infine, usa il comando di installazione sicura fornito da mysql per impostare le iniziali e la password per l'utente mysql.
sudo mysql_secure_installation
Annotare la password di root.
3. Crea utente mysql wordpress
È sempre buona norma creare un utente dedicato da utilizzare quando ci si connette al database da mysql. Accedi come utente root e usa questi comandi per creare un utente:
Creare un database che sarà utilizzato dal nostro sito:
create database wp_db;
Crea un utente:
create user 'wp_user'@'%' identified by 'strongpass';
Concedi all'utente creato i privilegi al db:
grant all privileges on wp_db.* to 'wp_user'@'%';
Ora salva il database, l'utente e la password da utilizzare quando avremo installato wordporess.
4. Installa il server Web Nginx
Utilizzeremo nginx per servire il traffico in arrivo dal dominio designato al nostro sito wordpress. Avremo bisogno di un host virtuale e di un dominio già mappato sul server che utilizzeremo per servire wordpress.
Per installare Nginx:
sudo dnf -y install nginx
Una volta completata l'installazione, avvia Nginx e abilita l'avvio automatico dopo un riavvio:
systemctl start nginx
systemctl enable nginx
Puoi controllare se il server web è in esecuzione con questo comando:
sudo systemctl status nginx
Uscita
$ sudo systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2021-08-17 12:40:45 UTC; 21s ago
Main PID: 70209 (nginx)
Tasks: 3 (limit: 23800)
Memory: 5.4M
CGroup: /system.slice/nginx.service
├─70209 nginx: master process /usr/sbin/nginx
├─70210 nginx: worker process
└─70211 nginx: worker process
Aug 17 12:40:45 app-server.citizix.com systemd[1]: Starting The nginx HTTP and reverse proxy server...
Aug 17 12:40:45 app-server.citizix.com nginx[70206]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Aug 17 12:40:45 app-server.citizix.com nginx[70206]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Aug 17 12:40:45 app-server.citizix.com systemd[1]: Started The nginx HTTP and reverse proxy server.
5. Installa PHP con le dipendenze
WordPress è codificato in PHP. Avremo bisogno del runtime php per servire wordpress nel nostro server.
WordPress funziona in PHP 7.4. L'ultima versione di php non è disponibile nei repository Centos predefiniti. Abilitiamolo con questo comando:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Ora abilita php 7.4 con questo comando:
sudo dnf module enable php:remi-7.4
Ora installiamo phpusa questo comando per installare:
sudo dnf install -y php \
php-common \
php-mbstring \
php-gd \
php-intl \
php-xml \
php-json \
php-mysqlnd \
php-fpm
6. Configura le impostazioni PHP e PHP FPM
Le impostazioni php globali sono memorizzate in /etc/php.ini
file. Aggiorniamo queste impostazioni.
Apri php.ini con il tuo editor di testo preferito, userò vim
sudo vim /etc/php.ini
Cerca quanto segue e aggiorna i valori come mostrato di seguito:
post_max_size = 64M
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 32M
date.timezone = Africa/Nairobi
php-fpm
è responsabile della fornitura del nostro contenuto php, il suo file di configurazione si trova qui:/etc/php-fpm.d/www.conf
.
Ora apri il /etc/php-fpm.d/www.conf
file di configurazione:
sudo vim /etc/php-fpm.d/www.conf
Cerca le direttive utente e gruppo. Apporta le seguenti modifiche da Apache a nginx:
user = nginx
group = nginx
Salva e chiudi il file, quindi riavvia il servizio PHP-FPM per applicare le modifiche alla configurazione:
sudo systemctl restart php-fpm
7. Scarica e installa WordPress
Ora che abbiamo configurato i server, scarichiamo e installiamo wordpress sul server. L'ultima versione di WordPress può essere scaricata dal loro sito Web ufficiale.
Creiamo una directory in cui verranno serviti i nostri contenuti wordpress:
sudo mkdir /var/www/dev-citizix
Assicurati che nginx
l'utente possiede il contenuto:
sudo chown -R nginx.nginx /var/www/dev-citizix
Scarica gli ultimi contenuti wordpress:
cd /tmp
curl -LO https://wordpress.org/latest.zip
Esempio di output:
$ curl -LO https://wordpress.org/latest.zip
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 15.7M 100 15.7M 0 0 6650k 0 0:00:02 0:00:02 --:--:-- 6647k
$ ls
latest.zip
Estrai e sposta il contenuto nella nostra directory del server:
unzip latest.zip
mv wordpress/* /var/www/dev-citizix
8. Configurazione di wordpress
Ora che il contenuto di wordpress è stato copiato nella directory del sito, aggiorniamo la configurazione del db utilizzando il file di esempio fornito.
Passa alla directory del sito:
cd /var/www/dev-citizix/
Copia il tuo wp-config-sample
file in wp-config.php
.
cp wp-config-sample.php wp-config.php
Apri il file di configurazione in un editor di testo:
vim wp-config.php
Aggiorna queste variabili:DB_NAME
, DB_USER
, DB_PASSWORD
, DB_HOST
:
<?php
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'xxx' );
/** MySQL database username */
define( 'DB_USER', 'xxx' );
/** MySQL database password */
define( 'DB_PASSWORD', 'xxx' );
/** MySQL hostname */
define( 'DB_HOST', 'xxx' );
/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );
/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
Salva il file di testo una volta terminato.
Rendi l'utente Nginx come proprietario della directory di WordPress, in modo che abbia accesso e sia in grado di servire i file.
sudo chown -R nginx:nginx /var/www/dev-citizix
9. Configura Nginx per servire il sito
Ora che la configurazione è a posto, configuriamo un host virtuale nginx per servire il contenuto che abbiamo appena aggiunto a /var/www/dev-citizix
.
Creiamo un sito virtuale nella directory in cui nginx fornisce contenuti qui /etc/nginx/conf.d
:
sudo vim /etc/nginx/conf.d/dev-citizix.conf
Aggiungi il seguente contenuto:
server {
listen 80;
server_name dev.citizix.com;
root /var/www/dev-citizix;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Assicurati che la configurazione aggiunta sia corretta usando questo comando per testare:
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Dopo aver confermato che tutto è a posto, riavvia Nginx per rendere effettive le modifiche:
sudo systemctl restart nginx
10. Completa l'installazione di WordPress
Una volta completati tutti i passaggi precedenti, l'installazione dalla riga di comando è completata. Puoi aprire il tuo browser web preferito e puntarlo su http://dev.citizix.com. Dovresti ottenere la seguente schermata:

Da lì puoi seguire le istruzioni per configurare il tuo wordpress.
Conclusione
Siamo riusciti a configurare Centos 8 con Mysql 8, Php 7.4 e Nginx per servire wordpress in questa guida.