1. Báza znalostí
  2. Cloud a servery
  3. Virtuálny server (VPS)
  4. Inštalácia WordPress pomocou wp-cli na Ubuntu 20.04 s LEMP

Inštalácia WordPress pomocou wp-cli na Ubuntu 20.04 s LEMP

Ak na Virtuálnom serveri (VPS) máme nainštalovaný LEMP (Linux, Nginx, MySQL a PHP) a bezpečnostný certifikát, konečne sa môžeme pustiť do samotných webových stránok. Nie každý však dokáže vytvoriť web na zelenej lúke pomocou jazykov ako HTML, JavaScript alebo PHP, a tak tu máme systémy správy obsahu (anglická skratka CMS, čiže Content Management System).

Celosvetovo jeden z najpopulárnejších a najpoužívanejších CMS je rozhodne WordPress (WP). Ide o systém správy obsahu, ktorý nám maximálne zjednoduší celý proces tvorby webových stránok. Web s unikátnym vzhľadom a obsahom dokážeme vytvoriť bez programovania, stačí iba klikať vo webovom prehliadači.

Nastavujeme webový server Nginx

Aby WordPress dokázal zobraziť články na trvalých odkazoch (permalinks) v peknom formáte (namiesto /?p=1 bude na konci URL /ahoj-svet/), musíme upraviť konfiguračný súbor webového servera Nginx:

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

V konfiguračnom súbore si nájdeme časť začínajúcu na location / a doplníme do direktívy try_files nastavenie /index.php?$args. Doplnený riadok teda bude vyzerať takto:

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

Konfiguračný súbor uložíme pomocou klávesovej skratky Ctrl + X a následne stlačením klávesy y a potvrdením klávesou Enter.

Reštartujeme webový server Nginx, aby sa zmena v konfiguračnom súbore prejavila:

sudo systemctl restart nginx

Ak potrebujete nastaviť Nginx pre multisite alebo subdomain inštálaciu WordPress pozrite si oficiálnu dokumentáciu.

Inštalujeme potrebné moduly jazyka PHP

V prvom rade je potrebné zabezpečiť aktuálnosť všetkých balíkov. Nainštalujeme teda všetok updatovaný softvér pomocou dvoch príkazov v jednej dávke:

sudo apt update && sudo apt upgrade

Ak systém nájde aktualizovateľné balíčky, takto sa opýta, či ich chcete začať inštalovať:

Do you want to continue? [Y/n]

Stlačte klávesu y ak chcete začať aktualizačný proces alebo tlačidlo n, ak aktualizovať nechcete. Následne stlačte klávesu Enter.

Aby WordPress fungoval správne ako celok, potrebuje moduly, ktoré po bežnej inštalácii jazyka PHP nie sú k dispozícii. Týmto príkazom ich teda nainštalujeme:

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

Systém sa takto opýta, či moduly chcete začať inštalovať:

Do you want to continue? [Y/n]

Stlačte klávesu y ak chcete začať aktualizačný proces alebo tlačidlo n, ak aktualizovať nechcete. Následne stlačte klávesu Enter.

Vytvárame používateľa v MySQL

WordPress textové údaje ako články alebo komentáre ukladá do databázy. Aby WordPress mohol s databázovým serverom MySQL bezpečne komunikovať, musíme vytvoriť nového používateľa s obmedzenými právami (nepoužijeme používateľa root). Spustíme teda komunikáciu s databázovým serverom MySQL:

sudo mysql

a vytvoríme používateľa (tu tibor), ktorému priradíme dostatočne silné heslo (tu Toto.Hes1o.je:silne). V hesle použijeme minimálne 8 znakov – malé a veľké písmená, čísla a špeciálne znaky ako bodka, čiarka, dvojbodka, zavináč, otáznik, výkričník, …

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

Ukončíme prácu s MySQL serverom:

exit

Inštalujeme WordPress (WP-CLI)

Najjednoduchší a najrýchlejší spôsob, ako WordPress nainštalovať, je cez oficiálny nástroj WP-CLI, ktorý stiahneme pomocou príkazu:

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

Počkáme na dokončenie sťahovania a následne overíme, či stiahnutý nástroj funguje:

php wp-cli.phar --info

Aby sme si používanie uvedeného nástroja zjednodušili, potrebujeme ešte nastaviť práva na spúšťanie (prvý riadok) a premiestniť ho do patričného priečinka (druhý riadok):

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

Odteraz nástroj WP-CLI budeme volať cez kratší príkaz wp, čiže namiesto php wp-cli.phar --info stačí iba:

wp --info

Pred použitím nástroja WP-CLI ho vždy najskôr aktualizujeme:

sudo wp cli update

Pred samotnou inštaláciou WordPressu vymažeme všetky súbory a priečinky v priečinku html:

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

Následne si do prázdneho priečinka html stiahneme najnovšiu verziu jadra WordPressu v slovenčine:

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

Počkáme na stiahnutie jadra WordPressu a následne vytvorime konfiguračný súbor 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 vytvoriť databázu, na ktorú odkazujeme v konfiguračnom súbore:

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

Nakoniec už len necháme WordPress nainštalovať do priečinku html, pričom si zmeníme hodnoty prepínačov --url, --title, --admin, --admin_password a --admin_email na také, ktoré vyhovujú práve tejto inštalácii 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.sk --skip-email --allow-root

Po tomto príkaze nám v histórii príkazov terminálu zostalo heslo, preto z bezpečnostných dôvodov ho odporúčame odstrániť. Celú históriu príkazov vymažeme príkazom history -c -w

Aby WordPress dokázal inštalovať a aktualizovať rozšírenia (plugins), šablóny (themes) a jazyky (languages) priamo (nie cez FTP), potrebujeme na koniec konfiguračného súboru zapísať nastavenie define('FS_METHOD','direct');:

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

posledný riadok (tu riadok číslo 80) konfiguračného súboru wp-config.php bude potom vyzerať v textovom editore nano takto:

Konfiguračný súbor uložíme pomocou klávesovej skratky Ctrl + X a následne stlačením klávesy y a potvrdením klávesou Enter.

Posledné nastavenia sa týkajú vlastníctva a oprávnení súborov a priečinkov. Takto zabezpečíme, že WordPress bude možné nastavovať a aktualizovať priamo vo webovom prehliadač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 {} \;

Skúšame funkčnosť nainštalovaného WordPressu

Vo webovom prehliadači teraz môžeme načítať URL adresu, ktorú sme zadali v hodnote prepínača --url pri inštalácii WordPressu (tu https://vps.websupport.tech/). Zobrazí sa úvodná webová stránka s uvítacím článkom pod názvom Ahoj svet! takto:

Odteraz nastavenia, aktualizácie a pridávanie obsahu zvládneme v administrátorskom rozhraní cez webový prehliadač. Prihlásime sa na adrese, ktorú sme si zvolili pri inštalácii ako hodnotu prepínača --url spolu s názvom PHP súboru obsluhujúceho prihlasovanie používateľov do WordPressu (tu https://vps.websupport.tech/wp-login.php). Prihlasovacie údaje sme si určili v hodnotách prepínačov --admin_user (tu tibor) a --admin_password (tu Toto.Hes1o.je:silne).

Zhrnutie

Nastavili sme webový server Nginx, nainštalovali chýbajúce moduly jazyka PHP a vytvorili sme nového používateľa databázového servera MySQL, aby sme následne mohli nainštalovať CMS WordPress pomocou nástroja WP-CLI. Celý inštalačný proces prebehol v príkazovom riadku (linuxový shell bash), pričom sme si na konci overili úspešnosť inštalácie vo webovom prehliadači. Všetky ostatné vlastnosti WordPressu je možné nastaviť v grafickom prostredí webového prehliadača. Rovnako cez webový prehliadač zrealizujeme inštalácie, aktualizácie a pridanie nového obsahu.

Aktualizované 9. júla 2020

Bol pre vás tento návod nápomocný?

Mohlo by vás tiež zaujímať:

Spýtajte sa nás, radi poradíme
Po - Ne 8:00-22:00
Kontaktovať podporu