GNU/Linux >> Linux Esercitazione >  >> Linux

Installa WordPress su Linux con Apache

Questo articolo spiega come installare WordPress® su un server web Linux® con Apache®.

WordPress, un popolare strumento di blogging open source, utilizza PHP e MySQL® per gestire i contenuti e l'interfaccia del sito.

Importante :Il supporto Rackspace non supporta la configurazione di WordPress. Questo articolo fornisce i passaggi come una soluzione ottimale, ma i tuoi sviluppatori dovrebbero esaminarli accuratamente prima di implementarli per evitare tempi di inattività imprevisti.

Prerequisiti

Esegui tutti i comandi come utente non root con sudo privilegi.

Per questa installazione, installare uno stack LAMP sul server. LAMP include Linux®, Apache, MySQL e PHP). Se li hai già installati, vai alla sezione successiva. In caso contrario, fare riferimento al nostro articolo su come installare uno stack LAMP su distribuzioni basate su RHEL 7.

Crea un database MySQL e un utente per WordPress

Come accennato in precedenza, WordPress utilizza un database relazionale per gestire i contenuti. Questo esempio utilizza MariaDB, installato in precedenza, per creare un utente e un database da utilizzare con WordPress. Esegui i seguenti passaggi per creare un database e un utente WordPress:

  1. Esegui il seguente comando per accedere a MySQL con l'utente root:
$ mysql -u root -p
  1. Crea il database denominato wpdatabase . Ricorda, tutte le istruzioni MySQL devono terminare con un punto e virgola (; ):
CREATE DATABASE wpdatabase;
  1. Crea un utente, che WordPress utilizza per lavorare su questo database. Imposta l'utente come wpuser con password password :
CREATE USER wpuser@localhost IDENTIFIED BY 'password';
  1. Concedi all'utente i permessi per gestire l'intero database:
GRANT ALL PRIVILEGES ON wordpress.* TO wpuser@localhost IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
  1. Esci dall'interfaccia MySQL:
exit

Questa procedura completa i requisiti MySQL di WordPress. Non è necessario creare un database e un utente specifico per WordPress, ma lo consigliamo vivamente per la sicurezza.

Installa WordPress

Esegui i seguenti passaggi per installare WordPress:

  1. Esegui i seguenti comandi per installare i pacchetti PHP che consentono a WordPress di ridimensionare le immagini nelle miniature e consentire al database MySQL di accedere alle funzioni necessarie:
$ sudo yum install php74-gd php74-mysqlnd
$ sudo service httpd restart
  1. Scarica l'ultima versione di WordPress nella home directory del tuo server:
$ cd ~
$ wget http://wordpress.org/latest.tar.gz
  1. Estrai tutti i file dalla cartella compressa:
$ tar xzvf latest.tar.gz

Questo comando crea una directory chiamata wordpress nella tua home directory che contiene tutti i file di cui WordPress ha bisogno per funzionare correttamente.

  1. Esegui il comando seguente per copiare wordpress directory in /var/www/html , che contiene tutti i file delle pagine web e conserva le autorizzazioni predefinite:
$ sudo mv ~/wordpress/ /var/www/html/example.com
  1. Crea una cartella in cui WordPress può archiviare tutti i file caricati:
$ mkdir /var/www/html/example.com/wp-content/uploads
  1. I passaggi precedenti creano una pagina di esempio di WordPress sul tuo server web. Tuttavia, affinché funzioni senza problemi, dovresti cambiare la proprietà dei file al tuo utente FTP o all'utente e gruppo Apache in modo che WordPress possa accedere a tutti i file con le autorizzazioni appropriate. Esegui il seguente comando:
$ sudo chown -R FTP_USER:apache /var/www/html/example.com

Configura WordPress

Sebbene la maggior parte della configurazione venga completata tramite un'interfaccia grafica (GUI) nella pagina Web, è necessario apportare alcune modifiche alla configurazione sul server. Eseguire i seguenti passaggi per configurare il server:

  1. Passa alla cartella in cui si trovano tutti i file web:
$ cd /var/www/html
  1. Perché WordPress ha bisogno di un file di configurazione chiamato wp-config.php , che non esiste, eseguire il comando seguente per copiare il file di esempio e rinominarlo:
$ sudo cp wp-config-sample.php wp-config.php
  1. Modifica il file di configurazione con l'editor di testo come nano o vi. Questo esempio usa vi :
$ sudo vi wp-config.php
  1. Specifica le informazioni del database nelle Impostazioni MySQL sezione. Immettere il nome del database e le credenziali utente definite in Crea un database MySQL e un utente per WordPress sezione, simile al seguente esempio:
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wpdatabase');

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

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

Protezione di WordPress

Modifica dei permessi dei file

Come per la documentazione di WordPress, la modifica dei permessi dei file nella radice del documento del tuo sito web aumenterà la sicurezza nel tuo sito web.

$ find /path/to/your/wordpress/install/ -type d -exec chmod 755 {} \;
$ find /path/to/your/wordpress/install/ -type f -exec chmod 644 {} \;

All'interno della tua configurazione vHost o all'interno del .htaccess puoi posizionare il seguente blocco per evitare che gli script non siano accessibili a nessun utente.

# Block the include-only files.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>


# BEGIN WordPress

Disabilita l'esecuzione di PHP nella directory dei caricamenti

Quando un sito Wordpress viene compromesso, spesso ci sono backdoor caricate in directory scrivibili che si travestono da file Wordpress legittimi. Un passaggio che puoi fare per aggiungere alla tua strategia di sicurezza esistente è disabilitare l'esecuzione di PHP in determinate directory.

Uno dei più comuni è disabilitare l'esecuzione di PHP all'interno della directory wp-content/uploads. Ciò può essere eseguito da:

$ vim /var/www/vhosts/example.com/wp-content/uploads/.htaccess
[...]
# Prevent PHP execution
<Files *.php>
deny from all
</Files>
[...]

AVVISO: Questo può interrompere il tuo tema se richiede l'esecuzione di PHP all'interno della directory wp-content/uploads. Se trovi qualcosa che non funziona, ripristina semplicemente la modifica e il sito riprenderà a funzionare.

Blocca attacchi xmlrpc.php

Wordpress utilizza XML-RPC per eseguire funzioni in remoto all'interno di Wordpress. Spesso le parti malintenzionate tenteranno di sfruttare xmlrpc.php mediante la forza bruta, che può inviare migliaia di richieste al server Web e quindi causare problemi di contesa di risorse.

Un attacco xmlrpc.php può essere rilevato controllando i log di accesso del sito. Se vedi centinaia o migliaia di richieste in un breve periodo di tempo simili a quelle sottostanti, significa che xmlrpc.php è stato attaccato:

$ tail /var/log/httpd/example.com-access.log
[...]
123.123.123.123 - - [2/Jun/2022:15:45:02 +0000] "POST /xmlrpc.php HTTP/1.1" 200 247 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1"
123.123.123.123 - - [2/Jun/2022:15:45:02 +0000] "POST /xmlrpc.php HTTP/1.1" 200 247 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1"
123.123.123.123 - - [2/Jun/2022:15:45:03 +0000] "POST /xmlrpc.php HTTP/1.1" 200 247 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1"
[...]

Puoi mitigare gli attacchi di forza bruta xmlrpc.php in Apache inserendo quanto segue nel file .htaccess:

$ vim /var/www/vhosts/example.com/.htaccess
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order allow,deny
deny from all
</Files>

Forza SSL sugli accessi wp-admin

$ vim /var/www/vhosts/example.com/wp-config.php
[...]
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
/* That's all, stop editing! Happy blogging. */
[...]

Completa la configurazione nella GUI

Ora puoi accedere alla tua pagina WordPress navigando su http:// . Immettere la lingua di installazione, le informazioni sul sito e l'utente per accedere al portale dell'amministratore quando richiesto. Dopo aver terminato questa configurazione, il sistema ti reindirizza alla dashboard principale di WordPress.

Per accedere a questa dashboard in qualsiasi momento, vai a http:///wp-login.php o http:///wp-login.php .

Conclusione

WordPress è un Content Management System (CMS) molto intuitivo che ti permette di creare una pagina web di blog, velocemente e gratuitamente. Dopo aver completato i passaggi in questo articolo, puoi iniziare a utilizzare il tuo sito WordPress.


Linux
  1. Installa phpMyAdmin su Ubuntu 22.04 con Apache

  2. Installa WordPress con Docker Compose, Nginx, Apache con SSL

  3. Installa Apache 2 da Source su Linux

  4. Come installare Apache 2 con SSL su Linux (con mod_ssl, openssl)

  5. Configurazione di un sottodominio con Apache su Linux

Installa WordPress 4.0 con Nginx 1.6 su Linux Mint 17

Come installare WordPress con Apache in Ubuntu 20.04

Installa WordPress con Nginx su Ubuntu 18.04

Come installare WordPress su CentOS 7.1 con Apache

Installa WonderCMS su Rocky Linux 8

Installa Windows 10 su Linux con VirtualBox