WordPress je velmi oblíbený redakční systém (CMS) pro webové stránky. Jeho popularitu a všudypřítomnost opravdu nelze přeceňovat, protože pohání ohromujících 35 % webových stránek. Je to snadný způsob, jak dostat web online, a nabízí mnoho možností přizpůsobení.
Ubuntu 20.04 Focal Fossa a Nginx jsou perfektní kombinací pro provoz vašeho webu WordPress. Pomocí těchto nástrojů získáte velmi výkonné, efektivní a stabilní webové stránky. Nejlepší ze všeho je, že veškerý tento software je zcela zdarma a nastavení není příliš obtížné. Postupujte podle níže uvedených kroků a zjistěte, jak zprovoznit váš web WordPress na Ubuntu 20.04 s Nginx.
Pokud více znáte nebo preferujete Apache před Nginx, napsali jsme samostatnou příručku pro instalaci Ubuntu 20.04 WordPress na Apache.
V tomto tutoriálu se naučíte:
- Jak nainstalovat a nakonfigurovat Nginx
- Jak nainstalovat a nakonfigurovat MariaDB pro MySQL
- Jak nastavit databázi MySQL pro WordPress
- Jak stáhnout a nainstalovat WordPress
- Jak nakonfigurovat SSL pro váš web WordPress
Provozování webu WordPress na Ubuntu 20.04 s Nginx
Kategorie | Požadavky, konvence nebo použitá verze softwaru |
---|---|
Systém | Nainstalováno Ubuntu 20.04 nebo upgradované Ubuntu 20.04 Focal Fossa |
Software | WordPress, Nginx, PHP, MariaDB (MySQL) |
Jiné | Privilegovaný přístup k vašemu systému Linux jako root nebo prostřednictvím sudo příkaz. |
Konvence | # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel |
Nainstalujte Nginx, PHP a MySQL
Před instalací WordPressu bude náš systém Ubuntu 20.04 potřebovat ke spuštění tři hlavní komponenty:Nginx, PHP a MySQL. Nginx je pro náš webový server, PHP má zobrazovat dynamický obsah a MariaDB (open source fork MySQL) je pro naši databázi. Tyto balíčky můžete nainstalovat otevřením terminálu a zadáním následujících dvou příkazů:
$ sudo apt update $ sudo apt install nginx mariadb-server mariadb-client php-fpm php-mysql
Nakonfigurujte MySQL
MySQL vyžaduje trochu nastavení, než začneme vytvářet databázi. Nejprve si projdeme počáteční nastavení zabezpečení. Do terminálu zadejte následující příkaz:
$ sudo mysql_secure_installation
Budete požádáni o nastavení root hesla pro MySQL a poté o několik bezpečnostních otázek. Můžete odpovědět y
(ano) na všechny otázky a nastavení se dokončí.
Podrobněji se konfigurací MySQL zabýváme v našem článku o instalaci MySQL na Ubuntu 20.04, ačkoli výše uvedená konfigurace je opravdu vše, co musíte udělat.
Vytvořte databázi pro WordPress
Váš web WordPress bude potřebovat jednu databázi k uložení všech uživatelských informací, obsahu příspěvků atd. Připravte svou databázi a uživatele MySQL podle následujících kroků:
- Spusťte MySQL jako uživatel root:
$ sudo mysql
- Vytvořte novou databázi pro WordPress:
MariaDB [(none)]> CREATE DATABASE wordpress_db;
- Dále vytvořte nového uživatele databáze pro WordPress.
my_password
text níže by měl být nahrazen požadovaným (zabezpečeným) heslem:MariaDB [(none)]> CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'my_password';
- Nyní musíme našemu uživateli WordPressu udělit plná oprávnění k databázi WordPress:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON wordpress_db.* to wordpress_user@'localhost';
- Nakonec uložte změny, které jsme provedli v uživatelských oprávněních, a opusťte databázi:
MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> exit
Vytvoření nové databáze a uživatele pro WordPress v MySQL
Nakonfigurujte Nginx
Než si budeme moci stáhnout WordPress, musíme správně nakonfigurovat Nginx, aby hostoval náš web. V rámci celé konfigurace Nginx budeme náš web nazývat „wordpress“, ale pokud chcete, můžete si vybrat jiný název.
Nejprve vytvořte konfigurační soubor pod /etc/nginx/sites-available
adresář pomocí nano nebo vašeho oblíbeného textového editoru:
$ sudo nano /etc/nginx/sites-available/wordpress
Následující obsah můžete vložit do svého nově vytvořeného souboru, což je docela standardní konfigurace Nginx.
server {
listen 80;
listen [::]:80;
root /var/www/wordpress;
index index.php;
server_name 127.0.0.1;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
Je zde několik řádků, které možná budete muset změnit. Řádek 9 by měl obsahovat název vaší domény namísto 127.0.0.1
, pokud nemáte název domény. Řádek 17 by měl být aktualizován číslem verze vašeho nainstalovaného PHP. Chcete-li zkontrolovat verzi PHP, spusťte php --version
příkaz v terminálu.
Jakmile provedete úpravy konfigurace, můžete změny uložit do tohoto souboru a zavřít jej. Posledními kroky v nastavení Nginxu jsou smazání výchozího webu, povolení vašeho webu a restartování Nginx, aby se změny projevily:
$ sudo rm /etc/nginx/sites-enabled/default $ sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/wordpress $ sudo systemctl restart nginx
Stáhněte si a nainstalujte WordPress
Nyní, když jsou splněny všechny předpoklady, můžeme konečně přejít k instalaci samotného WordPressu.
- Nejprve si stáhněte nejnovější verzi WordPress pomocí
wget
:$ wget -O /tmp/wordpress.tar.gz https://wordpress.org/latest.tar.gz
- Rozbalte stažený archiv WordPress do adresáře webu:
$ sudo tar -xzvf /tmp/wordpress.tar.gz -C /var/www
- Změňte vlastnictví adresáře webu:
$ sudo chown -R www-data.www-data /var/www/wordpress
- Otevřete svůj internetový prohlížeč a přejděte na
127.0.0.1
nebo váš plně kvalifikovaný název domény. Uvítá vás průvodce nastavením WordPressu. Kliknutím na tlačítko „Pojďme“ začněte s konfigurací. Stránka nastavení WordPress - Další obrazovka nás požádá o informace o konfiguraci naší databáze. Zadejte hodnoty, které jste nastavili dříve, a poté klikněte na „Odeslat“. Poslední dvě pole (hostitel databáze a předpona tabulky) lze ponechat na výchozích hodnotách. Zadejte informace o databázi MySQL pro WordPress
- WordPress by měl potvrdit, že je schopen komunikovat s databází MySQL. Kliknutím na „Spustit instalaci“ zahájíte instalaci WordPress. WordPress potvrzuje, že se dokáže připojit k databázi MySQL
- Nyní budete požádáni o vyplnění některých obecných informací o vašem novém webu:jeho název, uživatelské jméno správce, heslo atd. Vyplňte tyto údaje a poté klikněte na „instalovat WordPress“ v dolní části. Zadejte informace o svém novém webu WordPress
- Instalace by měla být dokončena a vy se můžete přihlásit na svůj nový web a začít vytvářet obsah! Instalace WordPressu byla úspěšně dokončena
Do panelu administrátora WordPress se můžete kdykoli dostat tak, že přejdete na http://127.0.0.1/wp-admin
(nebo nahrazením 127.0.0.1
s vaším plně kvalifikovaným názvem domény).
Změny, které provedete v panelu administrátora, se projeví na webu:
Náš nový web WordPress je funkčníVolitelná konfigurace SSL
Než skončíme, ukážeme vám také, jak povolit SSL na vašem novém webu WordPress. Toto je čistě volitelné, protože váš web bude fungovat perfektně i bez něj, ale nabízí další zabezpečení a dává uživatelům hřejivý, neostrý pocit, když vidí visací zámek vedle názvu vaší domény v řádku URL svého prohlížeče.
- Začněte vygenerováním nového certifikátu s vlastním podpisem pomocí následujícího příkazu a zodpovězením několika otázek, na které budete vyzváni. Jako „běžný název“ zadejte IP adresu svého webu nebo plně kvalifikovaný název domény:
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt
Vyplnění informací o certifikátu SSL - Dále vytvořte nový konfigurační soubor SSL v následujícím umístění:
$ sudo nano /etc/nginx/snippets/self-signed.conf
- Do tohoto souboru zadejte před uložením změn a ukončením souboru následující dva řádky:
ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt; ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
Konfigurace fragmentu SSL self-signed.conf - Potom musíme vytvořit další konfigurační fragment:$ sudo nano /etc/nginx/snippets/ssl-params.conf
- Do tohoto souboru zadejte následující obsah, poté jej uložte a ukončete. Všimněte si, že protože používáme certifikát s vlastním podpisem, řádek 9 a řádek 10, které se týkají sešívání SSL, byly zakomentovány. Pokud nepoužíváte certifikát podepsaný svým držitelem, odkomentujte tyto dva řádky.
Konfigurace fragmentu SSL ssl-params.confssl_protocols TLSv1.2; ssl_prefer_server_ciphers on; ssl_dhparam /etc/ssl/certs/dhparam.pem; ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-> ssl_ecdh_curve secp384r1; ssl_session_timeout 10m; ssl_session_cache shared:SSL:10m; ssl_session_tickets off; # ssl_stapling on; # ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 5s; add_header X-Frame-Options DENY; add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block";
- Dále spusťte následující příkaz pro vygenerování
dhparam.pem
soubor:$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Generování souboru dhparam.pem - Nyní, když je konfigurace SSL dokončena, musíme nakonfigurovat Nginx tak, aby používal SSL. Otevřete konfigurační soubor Nginx, který jsme dříve vytvořili pro náš web WordPress:
$ sudo nano /etc/nginx/sites-available/wordpress
- V rámci
server
bloku, musíme přidat následující čtyři řádky:listen 443 ssl; listen [::]:443 ssl; include snippets/self-signed.conf; include snippets/ssl-params.conf;
Tyto čtyři řádky jsou nezbytné k povolení protokolu SSL na našem webu WordPress - Před zavřením souboru uložte změny a poté restartujte Nginx:
$ sudo systemctl restart nginx
Váš web WordPress bude nyní moci používat šifrování SSL:
Web WordPress nyní používá šifrování SSL (HTTPS).Závěr
WordPress používají miliony, od 500 společností až po malé blogery. Využívá špičkové komponenty a funguje skvěle na Ubuntu 20.04 Focal Fossa – kombo, které je opravdu těžké překonat.
V tomto článku jsme viděli, jak nainstalovat a nakonfigurovat Nginx, PHP a MySQL, abychom mohli provozovat web WordPress. Přestože konfigurace zabere trochu času, stojí za to. Nginx je rychlejší než jiné webové servery a WordPress vám poskytuje úhledný web hned po vybalení.