GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare WordPress con Nginx e Lets Encrypt SSL su CentOS 8

WordPress è un sistema di gestione dei contenuti gratuito, open source e più utilizzato al mondo. È una piattaforma di blogging molto potente che può essere utilizzata per ospitare blog, siti Web portfolio e piattaforme di e-commerce. WordPress utilizza Apache/Nginx come server web, MariaDB/MySQL come database ed elaborazione PHP. WordPress fornisce un numero enorme di temi e plugin che possono essere utilizzati per personalizzarne le funzionalità.

In questo tutorial spiegheremo come installare WordPress con Nginx sul server CentOS 8 e poi metteremo al sicuro il server utilizzando un certificato SSL Let's Encrypt gratuito.

Prerequisiti

  • Un server che esegue CentOS 8.
  • Sul tuo server è configurata una password di root.
  • Un nome di dominio valido è puntato all'indirizzo IP del tuo server.

Per iniziare

Per impostazione predefinita, SELinux è abilitato nel server CentOS 8. Quindi dovrai prima disabilitarlo.

Puoi farlo modificando il file /etc/selinux/config:

nano /etc/selinux/config

Apporta le seguenti modifiche:

SELINUX=disabled

Salva e chiudi il file. Quindi, riavvia il server per applicare le modifiche.

Installa il server LEMP

Prima di iniziare, dovrai installare Nginx, MariaDB, PHP e altri pacchetti richiesti sul tuo server. Puoi installarli tutti eseguendo il seguente comando:

yum install nginx php php-cli php-curl php-zip php-mbstring php-mysqlnd php-fpm curl unzip mariadb-server -y

Una volta installati tutti i pacchetti, avvia il servizio Nginx, PHP-FPM, MariaDB e abilita l'avvio dopo il riavvio del sistema:

systemctl start nginx
systemctl enable nginx
systemctl start mariadb
systemctl enable mariadb
systemctl start php-fpm
systemctl enable php-fpm

Puoi anche controllare lo stato del servizio PHP-FPM con il seguente comando:

systemctl status php-fpm

Dovresti ottenere il seguente output:

? php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-10-17 05:39:11 EDT; 4min 40s ago
 Main PID: 1475 (php-fpm)
   Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec"
    Tasks: 6 (limit: 5060)
   Memory: 28.5M
   CGroup: /system.slice/php-fpm.service
           ??1475 php-fpm: master process (/etc/php-fpm.conf)
           ??1478 php-fpm: pool www
           ??1479 php-fpm: pool www
           ??1480 php-fpm: pool www
           ??1481 php-fpm: pool www
           ??1482 php-fpm: pool www

Oct 17 05:39:10 centos8 systemd[1]: Starting The PHP FastCGI Process Manager...
Oct 17 05:39:11 centos8 systemd[1]: Started The PHP FastCGI Process Manager.

Una volta terminato, puoi procedere al passaggio successivo.

Configura il database di WordPress

Per impostazione predefinita, il server MariaDB non è protetto. Quindi dovrai prima proteggerlo. Puoi proteggerlo con il seguente comando:

mysql_secure_installation

Rispondi a tutte le domande come mostrato di seguito:

Enter current password for root (enter for none):
Set root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Una volta protetto, dovresti ottenere il seguente output:

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Quindi, accedi alla shell di MariaDB con il seguente comando:

mysql -u root -p

Fornisci la tua password di root quando richiesto, quindi crea un database e un utente per WordPress con i seguenti comandi:

MariaDB [(none)]> CREATE DATABASE wpdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES on wpdb.* to 'wpuser'@'localhost' identified by 'password';

Quindi, svuota i privilegi ed esci dalla shell MariaDB con il seguente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Una volta configurato il database, puoi procedere al passaggio successivo.

Scarica WordPress

Puoi scaricare l'ultima versione di WordPress con il seguente comando:

cd /var/www/html
wget https://wordpress.org/latest.tar.gz

Una volta scaricato, estrai il file scaricato con il seguente comando:

tar -xvzf latest.tar.gz

Quindi, cambia la proprietà della directory di wordpress in nginx:

chown -R nginx: /var/www/html/wordpress/

Quindi, cambia la directory in wordpress e rinomina il file di configurazione predefinito di wordpress:

cd /var/www/html/wordpress
cp wp-config-sample.php wp-config.php

Quindi, modifica il file wp-config.php nel tuo editor di testo preferito:

nano wp-config.php

Definisci le informazioni del tuo database come mostrato di seguito:

/** The name of the database for WordPress */
define( 'DB_NAME', 'wpdb' );

/** MySQL database username */
define( 'DB_USER', 'wpuser' );

/** MySQL database password */
define( 'DB_PASSWORD', 'password' );

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

Salva e chiudi il file, quando hai finito.

Configura Nginx per WordPress

Successivamente, dovrai creare un file di configurazione dell'host virtuale Nginx per servire WordPress. puoi crearlo con il seguente comando:

nano /etc/nginx/conf.d/wordpress.conf

Aggiungi le seguenti righe:

server {
    listen 80;
    server_name example.com;
    root /var/www/html/wordpress;
    index index.php;

    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;
    }

}

Salva e chiudi il file. Quindi, controlla nginx per eventuali errori di sintassi con il seguente comando:

nginx -t

Dovresti ottenere il seguente output:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Infine, riavvia il servizio Nginx per applicare le modifiche alla configurazione:

systemctl restart nginx

Accedi al dashboard di WordPress

WordPress è installato e configurato, ora è il momento di accedere all'interfaccia web.

Apri il tuo browser web e digita l'URL http://example.com . Verrai reindirizzato alla seguente pagina:

Fornisci tutte le informazioni richieste come nome del sito, nome utente amministratore, password, e-mail amministratore e fai clic su Installa WordPress pulsante. Una volta terminata l'installazione. Dovresti vedere la seguente pagina:

Fare clic su accesso pulsante. Verrai reindirizzato alla pagina di accesso di WordPress:

Fornisci il nome utente e la password dell'amministratore e fai clic su Accedi pulsante. Dovresti vedere la dashboard di WordPress nella pagina seguente:

Proteggi WordPress con Let's Encrypt

Per proteggere il tuo sito WordPress con Let's Encrypt SSL gratuito, dovrai installare il client Certbot Let's Encrypt nel tuo sistema. Per impostazione predefinita, Certbot non è disponibile nel repository predefinito di CentOS 8. Quindi dovrai scaricarlo dal sito Web ufficiale di Certbot.

Puoi scaricare e installare Certbot con i seguenti comandi:

wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

Ora, esegui il comando seguente per ottenere e installare un certificato SSL per il tuo sito Web WordPress.

certbot-auto --apache -d example.com

Ti verrà chiesto di fornire un indirizzo e-mail e di accettare i termini del servizio. Dovrai anche scegliere se reindirizzare o meno il traffico HTTP su HTTPS. Seleziona l'opzione appropriata e premi Invio. Al termine dell'installazione, dovresti ottenere il seguente output:

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2019-08-14. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Imposta Crittografiamo il rinnovo automatico

Il certificato Let's Encrypt è valido per 90 giorni. Pertanto si consiglia di rinnovare il certificato prima della scadenza. Puoi impostare il processo Cron per rinnovare automaticamente il certificato.

Per farlo, crea il crontab con il seguente comando:

crontab -e

Aggiungi la seguente riga:

0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && /usr/local/bin/certbot-auto renew

Salva e chiudi il file, quando hai finito.

Conclusione

Nel tutorial sopra, abbiamo imparato come installare e configurare WordPress con Nginx sul server CentOS. Abbiamo anche imparato come proteggere il sito WordPress con Let's Encrypt SSL gratuito. Spero che ora tu possa ospitare facilmente il tuo sito Web WordPress.


Cent OS
  1. Come installare ownCloud 9.1 con Nginx e MariaDB su CentOS 7

  2. Come installare WordPress con HHVM e Nginx su CentOS 7

  3. Come installare Laravel 5.x con Nginx e PHP-FPM 7.1 su CentOS 7

  4. Installa Magento su CentOS 7, con Nginx, PHP-FPM e MariaDB

  5. Come installare Let's Encrypt su CentOS 8 con Nginx

Come installare Drupal con Nginx e Lets Encrypt SSL su Ubuntu 20.04 LTS

Come installare ElkArte Forum con Apache e Lets Encrypt SSL su CentOS 8

Come installare Shopware 6 con NGINX e Lets Encrypt su CentOS 8

Come installare PrestaShop con Apache e Lets Encrypt SSL su CentOS 8

Come installare OwnCloud 8 con Nginx e PHP-FPM su CentOS 6

Come installare Let's Encrypt SSL con Nginx su CentOS 7