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

Come installare e configurare Nginx, WordPress e Mysql 8 in Rocky Linux/Centos 8

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

  1. Aggiornamento del sistema
  2. Installazione del server di database mysql 8
  3. Crea mysql wordpress usr
  4. Installa il server Web Nginx
  5. Installa PHP con le dipendenze
  6. Configura le impostazioni PHP e PHP FPM
  7. Scarica e installa WordPress
  8. Configurazione di wordpress
  9. Configura Nginx per servire il sito
  10. 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.


Cent OS
  1. Come installare Mysql 8 su Rocky Linux/Centos 8

  2. Come installare e configurare Ansible su Rocky Linux/CentOS 8

  3. Come installare Erlang su Rocky Linux/Alma Linux/CentOS 8

  4. Come installare e utilizzare Podman in Rocky Linux/Alma Linux/Centos 8

  5. Come installare MySQL Server su CentOS 7

Come installare MySQL 8 su CentOS 8

Come installare e configurare Jenkins in Rocky Linux/Centos 8

Come installare e configurare NextCloud utilizzando LEMP su Rocky Linux/Centos 8

Come installare e configurare FreeIPA su Rocky Linux/Centos 8

Come installare Nginx su CentOS 6

Come installare Nginx su Rocky Linux 9