Blog

  • Ahoj, toto je popis konfigurace tohoto webu!

    Nejdřív jsem si v DNS k doméně jisavl22.fun vytvořil záznam pro blog.jisavl22.fun (subdoménu blog). Použil jsem blog jako CNAME na jisavl22.fun, aby to automaticky mířilo na stejný server.

    Na serveru jsem si vytvořil webroot pro doménu blog.jisavl22.fun a nastavil vlastnictví adresáře na uživatele Apache (www-data), aby bylo možné později při instalaci WordPressu zapisovat konfigurační soubory (zejména wp-config.php) a pracovat se složkou wp-content.

    sudo mkdir -p /var/www/blog.jisavl22.fun/public
    sudo chown -R www-data:www-data /var/www/blog.jisavl22.fun

    Pak jsem vytvořil nový vhost v Apache. Otevřel jsem konfiguraci v nano:

    sudo nano /etc/apache2/sites-available/blog.jisavl22.fun.conf

    Vložil jsem tento VirtualHost:

    <VirtualHost *:80>
    ServerName blog.jisavl22.fun
    DocumentRoot /var/www/blog.jisavl22.fun/public <Directory /var/www/blog.jisavl22.fun/public>
    AllowOverride All
    Require all granted
    </Directory> ErrorLog ${APACHE_LOG_DIR}/error_blog.jisavl22.fun.log
    CustomLog ${APACHE_LOG_DIR}/access_blog.jisavl22.fun.log combined
    </VirtualHost>

    Potom jsem vhost zapnul a načetl Apache:

    sudo a2ensite blog.jisavl22.fun.conf
    sudo apache2ctl configtest
    sudo systemctl reload apache2

    Další krok byl TLS certifikát pro blog.jisavl22.fun přes Let’s Encrypt (certbot pro Apache). Nainstaloval/spustil jsem:

    sudo apt update
    sudo apt install -y certbot python3-certbot-apache
    sudo certbot --apache -d blog.jisavl22.fun

    Aby splnil zadání na přesměrování HTTP na HTTPS přímo přes Redirect, upravil jsem znovu HTTP vhost příkazem:

    sudo nano /etc/apache2/sites-available/blog.jisavl22.fun.conf

    Do <VirtualHost *:80> jsem přidal řádek:

    Redirect permanent / https://blog.jisavl22.fun/

    a znovu načetl Apache

    Pak jsem připravil databázi pro WordPress v MariaDB:

    sudo mariadb

    V MariaDB jsem zadal:

    CREATE DATABASE wp_blog CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER 'wp_bloguser'@'localhost' IDENTIFIED BY '*********';
    GRANT ALL PRIVILEGES ON wp_blog.* TO 'wp_bloguser'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;

    Na server jsem doinstaloval PHP balíčky, které WordPress typicky používá, a zapnul jsem rewrite kvůli permalinkům:

    sudo apt install -y php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl
    sudo a2enmod rewrite
    sudo systemctl reload apache2

    Potom jsem stáhl nejnovější WordPress a nahrál ho do webrootu blog.jisavl22.fun:

    cd /tmp
    wget https://wordpress.org/latest.tar.gz
    tar -xzf latest.tar.gz
    sudo rm -f /var/www/blog.jisavl22.fun/public/index.html
    sudo rsync -a /tmp/wordpress/ /var/www/blog.jisavl22.fun/public/
    sudo chown -R www-data:www-data /var/www/blog.jisavl22.fun/public

    Následně jsem v prohlížeči otevřel https://blog.jisavl22.fun/ a dokončil prvotní nastavení WordPressu: vybral jazyk, zadal databázové údaje (wp_blog, wp_bloguser, heslo, host localhost) a vytvořil administrační účet + název webu.

    Nakonec jsem nastavil permalinky v administraci přes Nastavení → Permalinky a vybral strukturu „Název příspěvku“, aby URL byly čitelné.

    S přáním hezkého dne

    Vladimír Jiša