Ricerca nel sito web

Come installare WordPress con LAMP e Lets Encrypt SSL gratuito su Rocky Linux


Su questa pagina

  1. Prerequisiti
  2. Installazione del server web Apache/Httpd
  3. Installazione dei pacchetti PHP
  4. Installazione e configurazione del server MariaDB
  5. Crea database e utente per WordPress
  6. Scarica WordPress
  7. Impostazione di WordPress
  8. Abilita httpd mod_ssl su Rocky Linux
  9. Genera SSL Letsencrypt su Rocky Linux
  10. Impostazione dell'host virtuale per WordPress
  11. Installazione di WordPress
  12. Conclusione

WordPress è uno dei sistemi di gestione dei contenuti (CMS) più popolari in questo momento, utilizzato da milioni di persone. Il progetto WordPress è iniziato nel 2003 come fork del CMS \b2/cafelog\, viene fornito con una licenza GPLv2 e diventa un software gratuito e open-source.

Per ora, oltre il 34% dei siti Web su Internet utilizza WordPress. Uno dei motivi per cui WordPress è così popolare è perché è semplice, facile da usare e flessibile. Con centinaia/migliaia di plug-in, WordPress può essere utilizzato in diversi modi, come semplice motore di blog, siti Web di e-commerce, semplice profilo aziendale, community di forum online, ecc.

In questa guida imparerai come installare WordPress CMS su Rocky Linux 8.4. Installerai WordPress sotto lo stack LAMP (Linux, Apache2/httpd, MySQL/MariaDB e PHP).

Prerequisiti

  • Un server Rocky Linux. Assicurarsi che tutti i pacchetti siano aggiornati all'ultima versione.
  • Un utente con privilegi di root. Questo utente otterrà i privilegi di root tramite il comando sudo.

Installazione del server web Apache/Httpd

Inizialmente, installerai il server Web Apache o httpd sul server Rocky Linux.

1. Eseguire il comando dnf di seguito per installare il server web httpd.

sudo dnf install httpd

Digita \y\ e premi \Invio\ per confermare e installare i pacchetti httpd.

2. Se l'installazione è completa, abilitare e avviare il servizio httpd utilizzando il seguente comando.

sudo systemctl enable httpd
sudo systemctl start httpd

Il comando \systemctl enable\ abiliterà l'avvio del servizio ad ogni avvio.

3. Successivamente, eseguire il comando seguente per verificare il servizio httpd.

sudo systemctl status httpd

E otterrai un risultato simile come di seguito.

Come si vede nello screenshot in alto, httpd è attivo e in esecuzione.

Installazione di pacchetti PHP

Per ora, il CMS WordPress necessita di PHP 7.4 o superiore per l'installazione. Ora installerai PHP 7.4 dal repository remi.

1. Eseguire il seguente comando per aggiungere epel e remi Repository

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Digita \y\ e premi \Invio\ per aggiungere il repository epel e remi.

Al termine dell'installazione, verificare il repository epel e Remi utilizzando il seguente comando.

sudo dnf repolist

Vedrai il repository epel e remi nell'elenco dei repository.

2. Successivamente, reimpostare il modulo di repository predefinito PHP. Quindi abilitare il modulo per PHP 7.4 dal repository remi.

Esegui il seguente comando per reimpostare il repository del modulo php predefinito.

sudo dnf module reset php

Nel processo, digita \y\ e premi \Invio\ per aggiungere il repository remi della chiave gpg.

Successivamente, esegui il comando seguente per abilitare il modulo php dal repository remi.

sudo dnf module enable php:remi-7.4

Digita \y\ per confermare e premi \Invio\ per continuare. Ora sei pronto per installare PHP e tutte le estensioni per l'installazione di WordPress.

3. Esegui il seguente comando per installare php con alcune estensioni necessarie.

sudo dnf install php php-common php-mysqlnd php-gd php-imagick php-bcmath

Una volta completata l'installazione, vai al passaggio successivo.

Installazione e configurazione del server MariaDB

Per questa fase, installerai il server del database MariaDB, proteggerai la distribuzione di MariaDB e creerai un nuovo database e utente per WordPress.

1. Per installare il server del database MariaDB, eseguire il comando seguente.

sudo dnf install mariadb mariadb-server

Attendere l'installazione di mariadb.

2. Una volta completata l'installazione, abilitare e avviare il servizio MariaDB utilizzando il seguente comando.

sudo systemctl enable mariadb
sudo systemctl start mariadb

4. Il mariadb sarà attivo e in esecuzione, esegui il seguente comando per verificare il servizio MariaDB.

sudo systemctl status mariadb

Se il servizio mariadb è in esecuzione, otterrai un output simile al seguente.

5. Successivamente, è necessario proteggere la distribuzione di MariaDB impostando la password di root per MariaDB e rimuovendo alcune configurazioni predefinite. Per fare ciò, puoi utilizzare lo strumento da riga di comando mysql_secure_installation, che è incluso nell'installazione predefinita di MariaDB.

Eseguire il comando \mysql_secure_installation\ di seguito.

mysql_secure_installation

Al primo, ti verrà chiesto di impostare la password di root mariadb.

Digita la tua forte password di root mariadb e ripeti, quindi premi \Invio\ per continuare.

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!

Ora digita \Y\ e premi \Invio\ per rimuovere l'utente anonimo predefinito dal server mariadb.

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
 ... Success!

Successivamente, disabilita l'accesso remoto per l'utente root predefinito. Digita \Y\ e premi \Invio\ per continuare.

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
 ... Success!

Digita nuovamente \Y\ per rimuovere il database predefinito \test\ e premi \Invio\.

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

E l'ultimo, digitare di nuovo \Y\ per ricaricare tutti i privilegi delle tabelle per applicare una nuova configurazione.

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
 ... Success!

Ora il processo è completo e vedrai 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!

Crea database e utente per WordPress

1. accedere alla shell mariadb utilizzando il comando mysql di seguito.

mysql -u root -p

2. Ora esegui la seguente query mysql per creare un nuovo database \wordpress_db\.

CREATE DATABASE wordpress_db;

3. Eseguire la seguente query per creare un nuovo utente del database \wpuser\. Cambia la \strongpassword\ con la tua password sicura.

CREATE USER  IDENTIFIED BY 'strongpassword';

4. Consentire all'utente \wpuser\ di accedere e scrivere il \wordpress_db\ utilizzando la seguente query.

GRANT ALL PRIVILEGES ON wordpress_db.* to ;

5. Ora ricarica tutti i privilegi delle tabelle per applicare la nuova configurazione del database.

FLUSH PRIVILEGES;

Quindi puoi digitare \esci\ e premere \Invio\ per uscire dalla shell mariadb.

Scarica wordpress

1. Modificare la directory di lavoro in \/var/www\ e scaricare il codice sorgente di WordPress utilizzando il comando wget come di seguito.

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

2. Estrai il codice sorgente di WordPress \latest.tar.gz\ e otterrai una nuova directory \wordpress\, quindi cambia il proprietario della directory \wordpress\ in \apache\ user.

tar -xzvf latest.tar.gz
sudo chown -R apache:apache wordpress/

Ora sei pronto per configurare l'installazione di WordPress.

Impostazione WordPress

A questo punto, modificherai la configurazione di WordPress \wp-config.php\, imposterai i dettagli del database e aggiungerai la chiave di autenticazione e i salt (per una maggiore protezione di sicurezza).

1. Per prima cosa, cambia la directory di lavoro in \/var/www/wordpress\.

cd /var/www/wordpress/

2. Copiare la configurazione di esempio \wp-config-sample.php\ in \wp-config.php\, quindi modificare il file di configurazione utilizzando l'editor nano.

cp wp-config-sample.php wp-config.php
nano wp-config.php

3. Modificare i dettagli del database (DB_NAME, DB_USER e DB_PASSWORD) con le informazioni del database.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress_db' );

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

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

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

/** 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', '' );

4. Visita questo link per generare le chiavi di autenticazione e i salt, quindi incolla la configurazione nel file \wp-config.php\ come di seguito.

/**#@+
 * Authentication unique keys and salts.
 *
 * Change these to different unique phrases! You can generate these using
 * the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}.
 *
 * You can change these at any point in time to invalidate all existing cookies.
 * This will force all users to have to log in again.
 *
 * @since 2.6.0
 */
define('AUTH_KEY',         'v$4/xyGF7t!^(-Xr~lUKT,1oBxOpxzXPAs)kPE_C%Oc^~^%JN]C-y(k>~Wj+JZRM');
define('SECURE_AUTH_KEY',  'y<|#/jfYs,Y_l;{[`2uNp9SMNH8zNGK[eb&RYqb-+bd<a,Fi<9z9rj2_#=R(5O&s');
define('LOGGED_IN_KEY',    '&U8Z{I~,xV%D>FDq+Qx{@hmv:~G/<+_8fPvQ(m%oR.A)%ZPtp``sZWK! !G6C%UYPrKU{xQJD.<bd45');
/**#@-*/

Premi \Ctrl+x\ e digita \y\ per salvare e uscire.

Abilita httpd mod_ssl su Rocky Linux

Per questo tutorial, installerai WordPress e proteggerai con SSL da Letsencrypt. Quindi è necessario abilitare mod_ssl per il server httpd su Rocky Linux.

1. Installa il pacchetto \mod_ssl\ usando il comando dnf qui sotto.

sudo dnf install mod_ssl mod_http2

2. Successivamente, genera l'SSL predefinito per localhost utilizzando il comando openssl di seguito.

openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/localhost.key -x509 -days 365 -out /etc/pki/tls/certs/localhost.crt

Puoi semplicemente premere invio per tutte le domande perché questo certificato verrà utilizzato solo per localhost, non per il nome di dominio WordPress.

3. Ora esegui il seguente comando per assicurarti che mod_ssl sia disponibile sul server web httpd.

apachectl -M | grep ssl

Se hai l'output come \ssl\, allora il mod_ssl è abilitato. Altrimenti, otterrai un output vuoto.

Genera SSL Letsencrypt su Rocky Linux

In questa fase, installerai lo strumento cerbot e genererai i certificati SSL per l'installazione di WordPress. Genererai SSL Letsencrypts con il plugin webroot.

1. Eseguire il seguente comando per installare lo strumento certbot per la generazione di SSL Letsencrypt.

sudo dnf install certbot

Attendere il processo di installazione.

2. Una volta completata l'installazione, creare una nuova directory per l'autorizzazione letsencrypt utilizzando i seguenti comandi.

sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp apache /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt

3. Successivamente, modificare la directory di lavoro in \/etc/httpd/conf.d/\ e creare una nuova configurazione \well-known.conf\ utilizzando l'editor nano.

cd /etc/httpd/conf.d/
nano well-known.conf

Aggiungere le seguenti configurazioni.

Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"
<Directory "/var/lib/letsencrypt/">
    AllowOverride None
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Require method GET POST OPTIONS
</Directory>

Premi \Ctrl+x\ e digita \y\ per salvare e uscire.

4. Ora eseguire i seguenti comandi per verificare la configurazione httpd e riavviare il servizio httpd.

apachectl configtest
sudo systemctl restart httpd

Se non hai errori, sei pronto per generare SSL Letsencrypt con il plugin webroot.

5. Prima di generare SSL Letsencrypt, assicurati che il tuo nome di dominio sia risolto nell'indirizzo IP del server. Successivamente, puoi generare SSL Letsencrypt con il plug-in webroot eseguendo il comando certbot di seguito. Inoltre, cambia l'indirizzo e-mail e il nome di dominio con il tuo.

sudo certbot certonly --agree-tos --email www.domain.com

Al termine del processo, i certificati SSL saranno disponibili nella directory \/etc/letsencrypt/live/domain.com/\.

Configurazione dell'host virtuale per WordPress

In questo passaggio, aggiungerai una nuova configurazione host virtuale apache/httpd per WordPress.

1. Modificare la directory di lavoro in \/etc/httpd/conf.d\ e creare una nuova configurazione \wordpress.conf\ utilizzando nano editor.

cd /etc/httpd/conf.d/
nano wordpress.conf

Modifica il nome di dominio dettagliato e la directory del percorso SSL con i tuoi e incolla la configurazione nel file \wordpress.conf\.

# httpd port 80
<VirtualHost *:80>
  ServerName domain.com
  ServerAlias www.domain.com

  # automatic redirect http to https
  Redirect permanent / https://domain.com/
</VirtualHost>

# httpd port 443/ssl
<VirtualHost *:443>
  ServerName domain.com
  ServerAlias www.domain.com

  # WordPress path directory
  DocumentRoot /var/www/wordpress

  Protocols h2 http:/1.1

  <If "%{HTTP_HOST} == 'www.domain.com'">
    Redirect permanent / https://domain.com/
  </If>
 
  ErrorLog /var/log/httpd/domain.com-error.log
  CustomLog /var/log/httpd/domain.com-access.log combined

  SSLEngine On
  SSLCertificateFile /etc/letsencrypt/live/domain.com/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/domain.com/privkey.pem
 
  SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
  SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
  SSLCompression off

  <Directory /var/www/wordpress/>
       Options FollowSymlinks
       AllowOverride All
       Require all granted
  </Directory>
 
  <Directory /var/www/wordpress/>
       RewriteEngine on
       RewriteBase /
       RewriteCond %{REQUEST_FILENAME} !-f
       RewriteRule ^(.*) index.php [PT,L]
  </Directory>
</VirtualHost>

Premere \Ctrl+x\ e digitare \Y\ per salvare la configurazione ed uscire.

3. Successivamente, eseguire il seguente comando per verificare la configurazione httpd.

sudo apachectl configtest

Se non ricevi errori, riavvia il servizio httpd utilizzando il comando seguente.

sudo systemctl restart httpd

Ora sei pronto per l'installazione di WordPress tramite il browser web.

Installazione di WordPress

Se tutta la relativa configurazione del server è completa, puoi accedere alla tua installazione di WordPress con il browser web.

1. Apri il tuo browser web e digita l'indirizzo URL della tua installazione di WordPress.

Ora verrai reindirizzato alla connessione HTTPS sicura e otterrai la pagina come segue.

Seleziona la lingua per l'installazione di WordPress, quella predefinita è \Inglese (stati uniti)\, quindi fai clic su \Continua\.

2. Ora digita il tuo \Titolo del sito\ e digita un nuovo nome utente, e-mail e password per l'installazione di WordPress.

Quindi fare clic sul pulsante \Installa WordPress\ per avviare l'installazione.

3. Al termine dell'installazione, verrà visualizzata la pagina seguente.

Fare clic sul pulsante Accedi per continuare.

4. Ora verrai reindirizzato alla pagina di accesso di WordPress.

Digita il nome utente e la password, quindi fai clic su \Accedi\.

5. E otterrai la pagina indice predefinita di WordPress.

6. Sposta il cursore sul menu \Il mio blog\ e fai clic su \Dashboard\ o \Temi\, e otterrai la dashboard di amministrazione di WordPress come di seguito.

7. Per installare il plug-in di WordPress, sposta il cursore sul menu \Plugin\ e fai clic su Aggiungi nuovo, quindi verrai reindirizzato alla pagina del plug-in.

Scegli il plug-in che desideri installare e fai clic su \Installa ora\, quindi puoi fare clic sul pulsante \Attiva\ per attivare il plug-in.

Conclusione

Congratulazioni! hai installato correttamente WordPress CMS con LAMP Stack sul server Rocky Linux. Di seguito sono riportate le cose che hai imparato in questo tutorial:

  • Installazione di LAMP Stack
  • Protezione dell'implementazione di MariaDB
  • Crea un database e un utente mysql dalla shell mysql/mariadb
  • Impostazione del server web apache/httpd per il plug-in webroot di certbot
  • Genera SSL Letsencrypt
  • E l'ultima è un'installazione di WordPress

Per il passaggio successivo, puoi scegliere o acquistare temi e installarli sul tuo WordPress.