GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Ospita WordPress in Ubuntu 20.04, Mysql 8, Ubuntu 20.04, Nginx

WordPress è un sistema di gestione dei contenuti gratuito e open source scritto in PHP e abbinato a un database MySQL o MariaDB. WordPress è uno dei CMS più popolari oggi disponibili.

WordPress.com è una piattaforma SaaS (Software-as-a-Service) ospitata che ti consente di creare un sito Web utilizzando i blocchi predefiniti di WordPress. Ti costerà ospitare il tuo sito web sul sito WordPress.

Il software WordPress è gratuito e Open Source ma per averlo installato e funzionante è necessario configurare l'hosting. In questa guida andremo con questa opzione, configurando WordPress in Ubuntu 20.04.

Prerequisiti

Per seguire questa guida, abbiamo bisogno di quanto segue:

  • Server Ubuntu 20.04 aggiornato con connessione Internet
  • Accesso root nel server o utente con accesso sudo
  • Conoscenza dell'utilizzo del terminale Linux

Passaggi necessari per far funzionare WordPress in Ubuntu 20.04

  1. Assicurati che il sistema sia aggiornato
  2. Installazione del server di database mysql 8 e creazione di un utente WordPress
  3. Installa il server Web Nginx
  4. Installa PHP con le dipendenze
  5. Configura le impostazioni PHP e PHP FPM
  6. Download e configurazione di WordPress
  7. Configura Nginx per offrire contenuti wordpress
  8. Verifica l'installazione di WordPress

1. Assicurati che il sistema sia aggiornato

Prima di procedere, assicuriamoci che il nostro server sia aggiornato. Utilizzare questi comandi per 1. Aggiornare i repository del server, 2. Aggiornare i pacchetti del server alle versioni più recenti:

# Update repos
sudo apt update

# Upgrade packages
sudo apt -y upgrade

2. Installazione del server di database mysql 8 e creazione di un utente WordPress

Il pacchetto mysql-server richiesto non è presente nei repository Ubuntu predefiniti. Quindi dobbiamo configurarlo.

Il team di mysql fornisce un .deb scaricabile file che configurerà i repository per l'installazione di mysql server 8. Scaricalo con questo comando:

curl -LO https://dev.mysql.com/get/mysql-apt-config_0.8.19-1_all.deb

Una volta terminato il download, è necessario installare il file deb scaricato. Usa questo comando per installare:

sudo dpkg -i ./mysql-apt-config_0.8.19-1_all.deb

Si aprirà una finestra di configurazione che ti chiederà di scegliere la versione del server MySQL e altri componenti come cluster, librerie client condivise o il workbench MySQL

Per ora poiché siamo interessati solo all'installazione di Mysql Server, lascia le impostazioni predefinite e fai clic su OK per procedere.

Installazione del server MySQL

Ora che i repository sono stati aggiunti per includere il server MySQL, ora possiamo installare. Aggiorniamo i repository per ottenere le ultime dal repository aggiunto usando questo comando:

$ sudo apt update

Quindi installa Mysql 8 Server usando questo comando:

sudo apt install -y mysql-server

Inserisci le tue credenziali di amministratore e il sistema installerà il pacchetto del server MySQL, i pacchetti client e i file comuni del database.

L'installazione ti chiederà di inserire e confermare un utente root e una password per il database MySQL.

Successivamente ti verrà chiesto di selezionare il plug-in di autenticazione. Si consiglia di scegliere di utilizzare una password complessa:

Dopodiché verrà impostata la nuova password e il servizio verrà ricaricato.

Conferma che il server mysql è attivo e funzionante con questo comando:

$ sudo systemctl status mysql
● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-09-28 13:08:22 UTC; 2min 23s ago
       Docs: man:mysqld(8)
             http://dev.mysql.com/doc/refman/en/using-systemd.html
    Process: 45123 ExecStartPre=/usr/share/mysql-8.0/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
   Main PID: 45173 (mysqld)
     Status: "Server is operational"
      Tasks: 37 (limit: 4710)
     Memory: 353.0M
     CGroup: /system.slice/mysql.service
             └─45173 /usr/sbin/mysqld

Sep 28 13:08:21 ip-172-26-11-229 systemd[1]: Starting MySQL Community Server...
Sep 28 13:08:22 ip-172-26-11-229 systemd[1]: Started MySQL Community Server.

Il Active: active (running) since ... la parte in alto mostra che l'app è attiva e funzionante.

Connettiti al server e crea l'utente

Dopo una corretta installazione di mysql-server, connettiamoci al server e creiamo un utente WordPress.

Connettiti al server mysql fornendo la password che abbiamo fornito in precedenza:

$ mysql -h 127.0.0.1 -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.26 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Quindi crea un database, un utente e una password:

mysql> create database wordpress_db;
Query OK, 1 row affected (0.01 sec)

mysql> create user 'wordpress_user'@'%' identified by 'S0mStrongPa$$word';
Query OK, 0 rows affected (0.01 sec)

mysql> grant all privileges on wordpress_db.* to 'wordpress_user'@'%';
Query OK, 0 rows affected (0.00 sec)

3. Installa il server Web Nginx

Nginx non funzionerà se Apache è installato e in esecuzione. Dato che useremo Nginx, usiamo questo comando per rimuovere Apache se è installato nel nostro sistema:

$ sudo apt remove apache2 -y

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

Controlla lo stato di Nginx:

$ sudo systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-09-28 16:28:30 UTC; 1min 2s ago
       Docs: man:nginx(8)
   Main PID: 56990 (nginx)
      Tasks: 3 (limit: 4710)
     Memory: 3.7M
     CGroup: /system.slice/nginx.service
             ├─56990 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ├─56991 nginx: worker process
             └─56992 nginx: worker process

Sep 28 16:28:30 ip-172-26-11-229 systemd[1]: Starting A high performance web server and a reverse pr>
Sep 28 16:28:30 ip-172-26-11-229 systemd[1]: Started A high performance web server and a reverse pro>

Per confermare che Nginx è effettivamente in esecuzione ed è raggiungibile, usa questo comando:

curl http://server_ip/

Dove server_ip è l'ip del tuo server. Se per qualsiasi motivo non conosci l'ip pubblico del tuo server usa questo per controllare

curl -4 icanhazip.com

Dovresti vedere la pagina predefinita di Nginx.

4. Installa PHP con le dipendenze

Poiché i repository predefiniti contengono php versione 7.4, installiamolo con questo comando:

sudo apt install php -y

Conferma la versione installata con il comando php -v :

~$ php -v
PHP 7.4.3 (cli) (built: Aug 13 2021 05:39:12) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

Quindi installiamo le dipendenze php. Le dipendenze php sono disponibili come pacchetti a livello di sistema operativo con il prefisso php- . Installiamo le dipendenze di cui WordPress ha bisogno con questo comando:

sudo apt install -y \
    php-common \
    php-mbstring \
    php-gd \
    php-intl \
    php-xml \
    php-json \
    php-mysqlnd \
    php-fpm

5. Configura le impostazioni PHP e PHP FPM

Le impostazioni php globali per la versione di php installata sono memorizzate in /etc/php/7.4/cli/php.ini file. Aggiorniamo queste impostazioni.
Apri php.ini con il tuo editor di testo preferito, userò vim

sudo vim /etc/php/7.4/cli/php.ini

Quindi cerca le seguenti variabili 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

6. Download e configurazione di 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 pubblicati i nostri contenuti WordPress in questo percorso /var/www/example.citizix.com .

sudo mkdir /var/www/example.citizix.com

Assicurati che l'utente web sia il proprietario del contenuto:

sudo chown -R www-data.www-data /var/www/example.citizix.com

Scarica gli ultimi contenuti di 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. Assicurati di avere unzip comando o installazione con sudo apt install unzip .

unzip latest.zip
sudo mv wordpress/* /var/www/example.citizix.com

# Confirm content with
ls /var/www/example.citizix.com

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/example.citizix.com/

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 web come proprietario della directory di WordPress, in modo che abbia accesso e sia in grado di servire i file.

sudo chown -R www-data:www-data /var/www/example.citizix.com

7. Configura Nginx per offrire contenuti wordpress

Ora che la configurazione è a posto, configuriamo un host virtuale Nginx per servire il contenuto che abbiamo appena aggiunto a /var/www/example.citizix.com
Creiamo un sito virtuale nella directory in cui Nginx fornisce contenuti qui /etc/nginx/conf.d :

sudo vim /etc/nginx/conf.d/example.citizix.com.conf

Aggiungi il seguente contenuto:

server {
    listen 80;

    server_name example.citizix.com;
    root /var/www/example.citizix.com;
    index index.php;

    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/php7.4-fpm.sock;
        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

8. Infine, prova 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://example.citizix.com/. Dovresti visualizzare la seguente schermata che ti chiede di iniziare con la configurazione dell'installazione di WordPress:

[Schermata qui]

Dovrebbe essere facile seguire le istruzioni per configurare WordPress per la prima volta.


Ubuntu
  1. Come installare WordPress usando Nginx su Ubuntu 18.04

  2. Installa WordPress su Nginx Ubuntu

  3. Come installare MySQL Server su Ubuntu 16.04

  4. Come installare MySQL Server su Ubuntu 17.04

  5. Come installare WordPress con OpenLiteSpeed ​​su Ubuntu 18.04

Nginx 1.7.9 + PHP5-FPM + MySQL (LEMP) su Ubuntu 14.10

Installa Nginx, MySQL, PHP (LEMP Stack) su Ubuntu 20.04 LTS

Disinstalla completamente MySQL Server in Ubuntu

Come installare il server MySQL in Ubuntu

Come installare Nginx su Ubuntu

Come installare MySQL Server su Ubuntu 20.04