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
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
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.