GNU/Linux >> Znalost Linux >  >> Linux

Nainstalujte WordPress na Linux pomocí Apache

Tento článek vysvětluje, jak nainstalovat WordPress® na webový server Linux® s Apache®.

WordPress, populární blogovací nástroj s otevřeným zdrojovým kódem, používá ke správě obsahu webu a rozhraní PHP a MySQL®.

Důležité :Podpora Rackspace nepodporuje konfiguraci WordPress. Tento článek poskytuje kroky jako řešení s nejlepším úsilím, ale vaši vývojáři by je měli před implementací důkladně zkontrolovat, aby se předešlo neočekávaným prostojům.

Předpoklady

Všechny příkazy spouštějte jako uživatel bez oprávnění root pomocí sudo privilegia.

Pro tuto instalaci nainstalujte na server zásobník LAMP. LAMP zahrnuje Linux®, Apache, MySQL a PHP). Pokud je již máte nainstalované, přejděte k další části. Jinak si přečtěte náš článek o tom, jak nainstalovat zásobník LAMP na distribucích založených na RHEL 7.

Vytvoření databáze MySQL a uživatele pro WordPress

Jak již bylo zmíněno, WordPress používá ke správě obsahu relační databázi. Tento příklad používá MariaDB, nainstalovanou dříve, k vytvoření uživatele a databáze pro WordPress. Pro vytvoření databáze a uživatele WordPress proveďte následující kroky:

  1. Spusťte následující příkaz a přihlaste se do MySQL jako uživatel root:
$ mysql -u root -p
  1. Vytvořte databázi s názvem wpdatabase . Pamatujte, že všechny instrukce MySQL musí končit středníkem (; ):
CREATE DATABASE wpdatabase;
  1. Vytvořte uživatele, kterého WordPress používá pro práci s touto databází. Nastavte uživatele jako wpuser s heslem password :
CREATE USER wpuser@localhost IDENTIFIED BY 'password';
  1. Udělte uživateli oprávnění ke správě celé databáze:
GRANT ALL PRIVILEGES ON wordpress.* TO wpuser@localhost IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
  1. Ukončete rozhraní MySQL:
exit

Tento postup doplňuje požadavky WordPress MySQL. Nemusíte vytvářet konkrétní databázi a uživatele pro WordPress, ale důrazně to doporučujeme kvůli bezpečnosti.

Instalovat WordPress

Chcete-li nainstalovat WordPress, proveďte následující kroky:

  1. Spusťte následující příkazy pro instalaci PHP balíčků, které umožňují WordPressu měnit velikost obrázků pro náhledy a umožňují databázi MySQL přístup k nezbytným funkcím:
$ sudo yum install php74-gd php74-mysqlnd
$ sudo service httpd restart
  1. Stáhněte si nejnovější verzi WordPress do domovského adresáře vašeho serveru:
$ cd ~
$ wget http://wordpress.org/latest.tar.gz
  1. Extrahujte všechny soubory z komprimované složky:
$ tar xzvf latest.tar.gz

Tento příkaz vytvoří adresář s názvem wordpress ve vašem domovském adresáři, který obsahuje všechny soubory, které WordPress potřebuje ke správnému fungování.

  1. Spuštěním následujícího příkazu zkopírujte wordpress do adresáře /var/www/html , který obsahuje všechny soubory webových stránek a zachovává výchozí oprávnění:
$ sudo mv ~/wordpress/ /var/www/html/example.com
  1. Vytvořte složku, kam může WordPress ukládat všechny nahrané soubory:
$ mkdir /var/www/html/example.com/wp-content/uploads
  1. Předchozí kroky vytvořte na svém webovém serveru ukázkovou stránku WordPress. Aby to však fungovalo bez problémů, měli byste změnit vlastnictví souborů na uživatele FTP nebo uživatele a skupinu Apache, aby měl WordPress přístup ke všem souborům s příslušnými oprávněními. Spusťte následující příkaz:
$ sudo chown -R FTP_USER:apache /var/www/html/example.com

Konfigurovat WordPress

Přestože většinu konfigurace provádíte prostřednictvím grafického rozhraní (GUI) na webové stránce, musíte provést určité změny konfigurace na serveru. Pro konfiguraci serveru proveďte následující kroky:

  1. Přejděte do složky, kde jsou umístěny všechny webové soubory:
$ cd /var/www/html
  1. Protože WordPress potřebuje konfigurační soubor s názvem wp-config.php , který neexistuje, spusťte následující příkaz pro zkopírování ukázkového souboru a jeho přejmenování:
$ sudo cp wp-config-sample.php wp-config.php
  1. Upravte konfigurační soubor pomocí textového editoru, jako je nano nebo vi. Tento příklad používá vi :
$ sudo vi wp-config.php
  1. Informace o databázi zadejte v Nastavení MySQL sekce. Zadejte název databáze a přihlašovací údaje uživatele definované v Vytvoření databáze MySQL a uživatele pro WordPress sekce, podobně jako v následujícím příkladu:
// ** 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');

Zabezpečení WordPress

Změna oprávnění k souboru

Jak je uvedeno v dokumentaci WordPress, změna oprávnění k souboru v kořenovém adresáři dokumentů vašeho webu zvýší bezpečnost vašeho webu.

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

V rámci konfigurace vHost nebo uvnitř .htaccess můžete umístit následující blok, abyste zabránili přístupu ke skriptům žádnému uživateli.

# 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

Zakázat spouštění PHP v adresáři pro nahrávání

Když dojde ke kompromitaci webu Wordpress, často se do adresářů s možností zápisu nahrají zadní vrátka, která se maskují jako legitimní soubory Wordpress. Jedním krokem, který můžete udělat, abyste přidali do své stávající bezpečnostní strategie, je zakázat spouštění PHP v určitých adresářích.

Jedním z nejběžnějších je zakázat provádění PHP v adresáři wp-content/uploads. To lze provést:

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

UPOZORNĚNÍ: To může narušit váš motiv, pokud vyžaduje spuštění PHP v adresáři wp-content/uploads. Pokud zjistíte, že něco nefunguje, jednoduše vraťte změny zpět a web začne znovu fungovat.

Blokovat útoky xmlrpc.php

Wordpress používá XML-RPC ke vzdálenému spouštění funkcí v rámci Wordpressu. Často se zlomyslné strany pokusí zneužít xmlrpc.php hrubým vynucením, což může odeslat tisíce požadavků na webový server a způsobit tak problémy se zdroji.

Útok xmlrpc.php lze zjistit kontrolou přístupových protokolů webu. Pokud během krátké doby uvidíte stovky nebo tisíce požadavků, které vypadají podobně jako níže, je to známka toho, že je xmlrpc.php napaden:

$ 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"
[...]

Útoky hrubou silou xmlrpc.php můžete v Apache zmírnit vložením následujícího do souboru .htaccess:

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

Vynutit SSL u přihlášení 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. */
[...]

Dokončete konfiguraci v grafickém rozhraní

Nyní můžete přistupovat ke své stránce WordPress pomocí http:// . Po zobrazení výzvy zadejte jazyk instalace, informace o webu a uživatele pro přístup k portálu správce. Po dokončení této konfigurace vás systém přesměruje na hlavní WordPressdashboard.

Chcete-li se k tomuto panelu kdykoli dostat, přejděte na http:///wp-login.php nebo http:///wp-login.php .

Závěr

WordPress je velmi intuitivní systém pro správu obsahu (CMS), který vám umožní rychle a zdarma nastavit webovou stránku blogu. Po dokončení kroků v tomto článku můžete začít používat svůj web WordPress.


Linux
  1. Nainstalujte Apache 2 ze zdroje na Linux

  2. Jak nainstalovat Apache 2 s SSL na Linuxu (s mod_ssl, openssl)

  3. Nastavení subdomény s Apache na Linuxu

  1. Nainstalujte phpMyAdmin na Ubuntu 20.04 s Apache

  2. Nainstalujte phpMyAdmin na Debian 11 s Apache

  3. Nainstalujte phpMyAdmin na Ubuntu 22.04 s Apache

  1. Instalujte aplikace na Linux pomocí Flatpak

  2. Nainstalujte Linux pomocí LVM

  3. Nainstalujte WordPress s Docker Compose, Nginx, Apache s SSL