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 updateUscita:
$ 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-serverUna volta completata l'installazione, avvia il servizio utilizzando questo comando:
sudo systemctl start mysqldAbilita l'avvio del servizio all'avvio:
sudo systemctl enable mysqldInfine, usa il comando di installazione sicura fornito da mysql per impostare le iniziali e la password per l'utente mysql.
sudo mysql_secure_installationAnnotare 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 nginxUna volta completata l'installazione, avvia Nginx e abilita l'avvio automatico dopo un riavvio:
systemctl start nginx
systemctl enable nginxPuoi controllare se il server web è in esecuzione con questo comando:
sudo systemctl status nginxUscita
$ 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.rpmOra abilita php 7.4 con questo comando:
sudo dnf module enable php:remi-7.4Ora 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-fpm6. 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.iniCerca 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.confCerca le direttive utente e gruppo. Apporta le seguenti modifiche da Apache a nginx:
user = nginx
group = nginxSalva e chiudi il file, quindi riavvia il servizio PHP-FPM per applicare le modifiche alla configurazione:
sudo systemctl restart php-fpm7. 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-citizixScarica gli ultimi contenuti wordpress:
cd /tmp
curl -LO https://wordpress.org/latest.zipEsempio 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.zipEstrai e sposta il contenuto nella nostra directory del server:
unzip latest.zip
mv wordpress/* /var/www/dev-citizix8. 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.phpApri 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-citizix9. 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.confAggiungi 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 successfulDopo aver confermato che tutto è a posto, riavvia Nginx per rendere effettive le modifiche:
sudo systemctl restart nginx10. 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.