1. Home
  2. Cloud a servery
  3. Virtuální server (VPS)
  4. Instalace WordPress pomocí wp-cli na Ubuntu 20.04 s LEMP

Instalace WordPress pomocí wp-cli na Ubuntu 20.04 s LEMP

Pokud na Virtuálním serveru (VPS) máme nainstalovaný LEMP (Linux, Nginx, MySQL a PHP) a bezpečnostní certifikát, konečně se můžeme pustit do samotných webových stránek. Ne každý však dokáže vytvořit web na zelené louce pomocí jazyků jako HTML, JavaScript nebo PHP, a tak tu máme systémy správy obsahu (anglická zkratka CMS, čili Content Management System).

Celosvětově jeden z nejpopulárnějších a nejpoužívanějších CMS je rozhodně WordPress (WP). Jde o systém správy obsahu, který nám maximálně zjednoduší celý proces tvorby webových stránek. Web s unikátním vzhledem a obsahem dokážeme vytvořit bez programování, stačí pouze klikat ve webovém prohlížeči.

Nastavujeme webový server Nginx

Aby WordPress dokázal zobrazit články na trvalých odkazech (permalinks) v pěkném formátu (namísto /?p=1 bude na konci URL /ahoj-svete/), musíme upravit konfigurační soubor webového serveru Nginx:

sudo nano  /etc/nginx/sites-available/default

V konfiguračním souboru si najdeme část začínající na location / a doplníme do direktivy try_files nastavení /index.php?$args. Doplněný řádek tedy bude vypadat takto:

try_files $uri $uri/ /index.php?$args;

Konfigurační soubor uložíme pomocí klávesové zkratky Ctrl + X a následně stlačením klávesy y a potvrzením klávesou Enter.

Restartujeme webový server Nginx, aby se změna v konfiguračním souboru projevila:

sudo systemctl restart nginx

Pokud potřebujete nastavit Nginx pro multisite nebo subdomain instalaci WordPress, prohlédněte si oficiální dokumentaci.

Instalujeme potřebné moduly jazyka PHP

V první řadě je potřeba zabezpečit aktuálnost všech balíků. Nainstalujeme tedy všechen updatovaný software pomocí dvou příkazů v jedné dávce:

sudo apt update && sudo apt upgrade

Když systém najde aktualizovatelné balíčky, takto se zeptá, jestli je chcete začít instalovat:

Do you want to continue? [Y/n]

Stlačte klávesu y když chcete začít aktualizační proces nebo tlačítko n, když aktualizovat nechcete. Následně stlačte klávesu Enter.

Aby WordPress fungoval správně jako celek, potřebuje moduly, které po běžné instalaci jazyka PHP nejsou k dispozici. Tímto příkazem je tedy nainstalujeme:

sudo apt install php-curl php-gd php-imagick php-mbstring php-xml php-zip

Systém se takto zeptá, jestli moduly chcete začít instalovat:

Do you want to continue? [Y/n]

Stlačte klávesu y když chcete začít aktualizační proces nebo tlačítko n, když aktualizovat nechcete. Následně stlačte klávesu Enter.

Vytváříme uživatele v MySQL

WordPress textové údaje jako články nebo komentáře ukládá do databáze. Aby WordPress mohl s databázovým serverem MySQL bezpečně komunikovat, musíme vytvořit nového uživatele s omezenými právy (nepoužijeme uživatele root). Spustíme tedy komunikaci s databázovým serverem MySQL:

sudo mysql

a vytvoříme uživatele (zde tibor), kterému přiřadíme dostatečně silné heslo (zde Toto.Hes1o.je:silne). V hesle použijeme minimálně 8 znaků – malá a velká písmena, čísla a speciální znaky jako tečka, čárka, dvojtečka, zavináč, otazník, vykřičník, …

create user 'tibor'@'localhost' identified by 'Toto.Hes1o.je:silne';

Ukončíme práci s MySQL serverem:

exit

Instalujeme WordPress (WP-CLI)

Nejjednodušší a nejrychlejší způsob, jako WordPress nainstalovat, je přes oficiální nástroj WP-CLI, který stáhneme pomocí příkazu:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Počkáme na dokončení stahování a následně ověříme, jestli stažený nástroj funguje:

php wp-cli.phar --info

Abychom si používání uvedeného nástroje zjednodušili, potřebujeme ještě nastavit práva na spouštění (první řádek) a přemístit ho do patřičné složky (druhý řádek):

chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

Odteď nástroj WP-CLI budeme volat přes kratší příkaz wp, čili namísto php wp-cli.phar --info stačí pouze:

wp --info

Před použitím nástroje WP-CLI ho vždy nejdřív aktualizujeme:

sudo wp cli update

Před samotnou instalací WordPressu vymažeme všechny soubory a složky ve složce html:

sudo rm -rf /var/www/html/*

Následně si do prázdné složky html stáhneme nejnovější verzi jádra WordPressu v češtině:

sudo wp core download --path=/var/www/html --locale=sk_SK --allow-root

Počkáme na stažení jádra WordPressu a následně vytvoříme konfigurační soubor WordPressu takto:

sudo wp config create --path=/var/www/html --dbname=wordpress --dbuser=tibor --dbpass=Toto.Hes1o.je:silne --locale=sk_SK --allow-root

Necháme vytvořit databázi, na kterou odkazujeme v konfiguračním souboru:

sudo wp db create --path=/var/www/html  --allow-root

Nakonec už jen necháme WordPress nainstalovat do složky html, přičemž si změníme hodnoty přepínačů --url, --title, --admin, --admin_password a --admin_email na takové, které vyhovují právě této instalaci WordPressu:

sudo wp core install --path=/var/www/html --url=https://vps.websupport.tech/ --title=WordPress --admin_user=tibor --admin_password=Toto.Hes1o.je:silne --admin_email=tibor.repcek@websupport.cz --skip-email --allow-root

Po tomto příkazu nám v historii příkazů terminálu zůstalo heslo, proto z bezpečnostních důvodů ho doporučujeme odstranit. Celou historii příkazů vymažeme příkazem history -c -w

Aby WordPress dokázal instalovat a aktualizovat rozšíření (plugins), šablony (themes) a jazyky (languages) přímo (ne přes FTP), potřebujeme na konec konfiguračního souboru zapsat nastavení define('FS_METHOD','direct');:

sudo nano /var/www/html/wp-config.php

poslední řádek (zde řádek číslo 80) konfiguračního souboru wp-config.php bude potom vypadat v textovém editoru nano takto:

Konfigurační soubor uložíme pomocí klávesové zkratky Ctrl + X a následně stlačením klávesy y a potvrzením klávesou Enter.

Poslední nastavení se týkají vlastnictví a oprávnění souborů a složek. Takto zabezpečíme, že WordPress bude možné nastavovat a aktualizovat přímo ve webovém prohlížeči:

sudo chown -R www-data:www-data /var/www/html
sudo find /var/www/html/ -type d -exec chmod 775 {} \;
sudo find /var/www/html/ -type f -exec chmod 664 {} \;

Zkoušíme funkčnost nainstalovaného WordPressu

Ve webovém prohlížeči teď můžeme načíst URL adresu, kterou jsme zadali v hodnotě přepínače --url při instalaci WordPressu (zde https://vps.websupport.tech/). Zobrazí se úvodní webová stránka s uvítacím článkem pod názvem Ahoj světe! takto:

Odteď nastavení, aktualizace a přidávání obsahu zvládneme v administrátorském rozhraní přes webový prohlížeč. Přihlásíme se na adrese, kterou jsme si zvolili při instalaci jako hodnotu přepínače --url spolu s názvem PHP souboru obsluhujícího přihlašování uživatelů do WordPressu (zde https://vps.websupport.tech/wp-login.php). Přihlašovací údaje jsme si určili v hodnotách přepínačů --admin_user (zde tibor) a --admin_password (zde Toto.Hes1o.je:silne).

Shrnutí

Nastavili jsme webový server Nginx, nainstalovali chybějící moduly jazyka PHP a vytvořili jsme nového uživatele databázového serveru MySQL, abychom následně mohli nainstalovat CMS WordPress pomocí nástroje WP-CLI. Celý instalační proces proběhl v příkazovém řádku (linuxový shell bash), přičemž jsme si na konci ověřili úspešnost instalace ve webovém prohlížeči. Všechny ostatní vlastnosti WordPressu je možné nastavit v grafickém prostředí webového prohlížeče. Stejně tak přes webový prohlížeč zrealizujeme instalace, aktualizace a přidání nového obsahu.

Aktualizováno: 3 března, 2022

Byl tento článek užitečný?

Related Articles

Zákaznická podpora
24 hodin denně, 7 dní v týdnu
KONTAKTOVAT PODPORU