- Instalace potřebných balíků
Nejprve bylo nutné připravit server instalací základního softwaru, který je potřeba pro provoz webové aplikace.
sudo apt update
sudo apt install apache2 mariadb-server php php-mysql libapache2-mod-php -y
Vysvětlení:
Apache slouží jako webový server, který zpracovává HTTP požadavky. MariaDB je databázový systém, ve kterém WordPress ukládá obsah webu. PHP je programovací jazyk, ve kterém je WordPress vytvořen.
- Vytvoření adresáře a stažení WordPressu
Pro umístění webových souborů byl vytvořen nový adresář určený pro tuto konkrétní doménu. Poté byla stažena aktuální verze WordPressu a její soubory byly zkopírovány do tohoto adresáře.
sudo mkdir -p /var/www/blog.frantisekkolar.fun
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
sudo cp -r wordpress/* /var/www/blog.frantisekkolar.fun/
sudo chown -R www-data:www-data /var/www/blog.frantisekkolar.fun
Vysvětlení:
Adresář /var/www/blog.frantisekkolar.fun slouží jako kořenová složka webu. Příkaz chown nastaví vlastníka souborů na uživatele www-data, což je uživatel, pod kterým běží Apache. Díky tomu může WordPress zapisovat data (např. obrázky nebo pluginy).
- Nastavení VirtualHost v Apache
Aby webový server věděl, do jaké složky má směrovat požadavky na doménu blog.frantisekkolar.fun, bylo nutné vytvořit konfigurační soubor pro VirtualHost.
Soubor byl vytvořen v adresáři:
/etc/apache2/sites-available/blog.frantisekkolar.fun.conf
Obsah konfigurace:
ServerName blog.frantisekkolar.fun
DocumentRoot /var/www/blog.frantisekkolar.fun
AllowOverride All
Po vytvoření konfigurace bylo potřeba web aktivovat a restartovat server:
sudo a2ensite blog.frantisekkolar.fun.conf
sudo a2enmod rewrite
sudo systemctl restart apache2
Vysvětlení:
Modul rewrite společně s nastavením AllowOverride All umožňuje správné fungování přepisování URL adres, které WordPress používá pro takzvané „hezké odkazy“.
- Nastavení HTTPS pomocí SSL certifikátu
Pro zabezpečení komunikace mezi serverem a uživatelem byl vytvořen SSL certifikát pomocí nástroje Certbot.
Instalace nástroje:
sudo apt install certbot python3-certbot-apache -y
Vytvoření certifikátu:
sudo certbot –apache -d blog.frantisekkolar.fun
Vysvětlení:
Certbot automaticky získá certifikát od služby Let’s Encrypt a upraví konfiguraci Apache. Během instalace byla zvolena možnost přesměrování, která zajistí, že veškerý provoz z nezabezpečeného HTTP bude automaticky přesměrován na zabezpečené HTTPS.
- Vytvoření databáze
Pro ukládání dat WordPressu bylo nutné vytvořit databázi a uživatele v MariaDB.
Do databázového serveru se přihlásíme příkazem:
sudo mariadb
Poté provedeme následující SQL příkazy:
CREATE DATABASE wordpress;
CREATE USER ‚wp_admin’@’localhost‘ IDENTIFIED BY ‚Heslo123‘;
GRANT ALL PRIVILEGES ON wordpress.* TO ‚wp_admin’@’localhost‘;
FLUSH PRIVILEGES;
EXIT;
Vysvětlení:
WordPress potřebuje databázi pro ukládání článků, komentářů a nastavení. Pro zvýšení bezpečnosti je vytvořen samostatný uživatel, který má oprávnění pouze k této databázi.
- Dokončení instalace WordPressu
Po dokončení konfigurace serveru bylo možné instalaci dokončit prostřednictvím webového prohlížeče otevřením adresy:
Instalační průvodce WordPressu umožnil zadat přístupové údaje k databázi a vytvořit administrátorský účet. Po dokončení tohoto kroku byl systém plně funkční a bylo možné začít publikovat obsah.
Podpis: František Kolář
