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