Dokumentace konfigurace serveru + instalace WordPress
1. Instalace webového serveru a potřebných balíčků
Nejprve bylo potřeba nainstalovat základní programy, které jsou nutné pro spuštění webového serveru a systému WordPress (Apache, databázový server MariaDB, skriptovací jazyk PHP).
Nejdříve jsem aktualizoval seznam balíků:
sudo apt update
Poté jsem nainstaloval potřebné balíky:
sudo apt install apache2 mariadb-server php php-mysql libapache2-mod-php -y
Apache slouží jako webový server.
MariaDB slouží pro ukládání dat do databáze.
PHP je programovací jazyk, ve kterém je WordPress vytvořen.
2. Příprava adresáře + instalace WordPressu
Vytvořil jsem složku, ve které budou uložené soubory webové stránky.
sudo mkdir -p /var/www/blog.frantisekkolar.fun
Potom jsem stáhl nejnovější verzi WordPressu z oficiálních stránek:
cd /tmp && wget https://wordpress.org/latest.tar.gz
Stažený archiv jsem rozbalil:
tar -xzf latest.tar.gz
Následně jsem soubory WordPressu zkopíroval do složky webu:
sudo cp -r wordpress/* /var/www/blog.frantisekkolar.fun/
Nakonec jsem nastavil oprávnění:
sudo chown -R www-data:www-data /var/www/blog.frantisekkolar.fun
Tento příkaz nastaví vlastníka souborů na uživatele www-data, pod kterým běží webový server Apache. Díky tomu může WordPress ukládat obrázky, provádět aktualizace atd.
3. Konfigurace Virtual Host
Aby server věděl, kam má směrovat doménu blog.frantisekkolar.fun, bylo potřeba vytvořit konfiguraci Virtual Hostu.
Vytvořil jsem soubor:
/etc/apache2/sites-available/blog.frantisekkolar.fun.conf
Do tohoto souboru jsem vložil následující konfiguraci:
<VirtualHost *:80>ServerName blog.frantisekkolar.fun
DocumentRoot /var/www/blog.frantisekkolar.fun<Directory /var/www/blog.frantisekkolar.fun>
AllowOverride All
</Directory></VirtualHost>
Potom jsem web aktivoval pomocí těchto příkazů:
sudo a2ensite blog.frantisekkolar.fun.conf
sudo a2enmod rewrite
sudo systemctl restart apache2
Modul rewrite a nastavení AllowOverride All jsou důležité pro správné fungování trvalých odkazů ve WordPressu.
4. Zabezpečení pomocí TLS (SSL) certifikátu
Aby byl web dostupný přes zabezpečený protokol HTTPS, použil jsem nástroj Certbot a certifikát od Let’s Encrypt.
Nejprve jsem nainstaloval Certbot:
sudo apt install certbot python3-certbot-apache -y
Poté jsem vytvořil TLS certifikát pro doménu:
sudo certbot --apache -d blog.frantisekkolar.fun
Během konfigurace jsem zvolil možnost Redirect, díky které Certbot automaticky nastavil přesměrování z nezabezpečeného HTTP (port 80) na zabezpečené HTTPS (port 443).
5. Nastavení databáze
Pro ukládání obsahu webu je potřeba vytvořit databázi a uživatele v MariaDB.
Nejprve jsem se přihlásil do databázové konzole:
sudo mariadb
Poté jsem vytvořil databázi a uživatele pomocí příkazů:
CREATE DATABASE wordpress;CREATE USER 'admin'@'localhost' IDENTIFIED BY 'Heslo123';GRANT ALL PRIVILEGES ON wordpress.* TO 'admin'@'localhost';FLUSH PRIVILEGES;
WordPress potřebuje vlastní databázi pro ukládání článků, uživatelů a nastavení. Proto je vytvořen samostatný uživatel, který má přístup pouze k této databázi.
6. Finální nastavení systému WordPress
Po dokončení konfigurace serveru jsem otevřel webovou stránku v prohlížeči a dokončil instalaci WordPressu.
Do instalačního formuláře jsem zadal údaje k databázi:
- Název databáze: wordpress
- Uživatel: admin
- Heslo: Heslo123
- Server databáze: localhost
Poté jsem vytvořil účet a publikoval tento článek jako první příspěvek na webu.
Podpis:
František Kolář