Plugin Auto Robot + CMS WordPress + Nginx .local .lan doména

Na konkrétním příkladu popsané řešení pro funkční nastavení služby na lokální (neinternetové) HTTP doméně. Auto Robot je WordPress plugin pro automatické blogování, který vám umožní generovat WordPress příspěvky z nekolika zdrojů. Parsuje RSS, sociální média, videa, obrázky, zvuk atd. Tento plugin je dodáván s vestavěnými možnostmi, které můžete použít k schromáždění různých příspěvků podle vlastních potřeby.

Pomocí funkce šablony příspěvku můžete vložit vlastní kód či reklamu. Obsluhuje neomezený počet RSS kanálů a automaticky je publikuje na vaší doméně v nastaveném intervalu. Plugin využuijete pokud chcete publikovat souhrn vybraného zpravodajství, autoblogujete, provozujete affiliate byznys nebo používáte komplexní řešení pro kurátorství čehokoli ve vašem oboru. Například výtah ze seznamu dostupných nemovitostí na lokálním trhu, výpis produktů pro přidružený e-shop atd.

Doména .local .lan

Návod se hodí jak pro Debian 10, Debian 11 tak i libovolná další Linux instalovaný na domácím serveru s lokální doménou. Výhoda použití multiserver instalace je v možnosti hostovat více .local či .lan domén na jedné instalaci serveru. O upgrade na Debian 11 jsme psali v článku Nginx 1.20. O agregaci novinek pomocí RSS čtečky a generování feedu s vlastním výtahem novinek jsem psali v článku Tiny Tiny RSS Feed.

WordPress

Instalace

cd /var/www/html/
wget https://wordpress.org/latest.tar.gz
tar -xf latest.tar.gz
mv wordpress wp.lan
chown -R www-data:www-data wp.lan

Domácí HTTP server s místní doménou nebude fungovat bez routeru či DNS serveru s podporou mDNS. Testovací name wp.lan vyřešil jeden záznam v AdGuard DNS. Ten primárně fungje jako blokovač reklam a sledování. Hodí se ale i jako mDNS.

Tweaky

Vlastní podespaný certifikát a místní doména jsou pro WP samo sebou problém. Oba chybové hlášky v pluginech řeší child_theme a úprava functions.php souboru. O child_theme jsme psali v článku child_theme + add_filter. Místní doména chybová hláška ve WP. První

Local domain HTTP Error no valid url

Řešení? Přidání filtru do functions.php

add_filter( 'http_request_args', function ( $args ) {

    $args['reject_unsafe_urls'] = false;

    return $args;
}, 999 );

Druhá chyba

HTTP Error: cURL error 60: SSL certificate problem: self signed certificate

Řešení? Přidání filtru do functions.php souboru

add_filter('https_ssl_verify', '__return_false');

Poslední je výkonostní upozornění, v samotném rozhraní CMS, na chybějící modul imagick – bez kterého údajně web bude fungovat pomaleji. Jedná se o PHP modul a jelikož používáme PHP8 instalujeme jej pomocá příkazu

apt get install php8.0-imagick

Nginx LAN

Konfigurační soubor pro lokální Nginx doménu s aktivním HTTP/2 a SSL.

server {
    listen 80; ## listen for ipv4; this line is default and implied
    listen 443 ssl http2;

    client_max_body_size 20M;

    root /var/www/html/wp.lan;
    index index.php index.html index.htm;

    access_log /var/log/nginx/wp_access.log;
    error_log /var/log/nginx/wp_error.log info;

    server_name wp.lan;

    ssl_certificate /etc/ssl/certs/localhost.crt;
    ssl_certificate_key /etc/ssl/private/localhost.key;

    ssl_protocols TLSv1.2 TLSv1.1 TLSv1;

    location / {
        index           index.php;
    }

    location ~ \.php$ {
        try_files $uri = 404; #Prevents autofixing of path which could be used for exploit
        include /etc/nginx/fastcgi_params;
        fastcgi_buffering off;
        fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
    }

}

Bez přidané konfigurace client_max_body_size 20M; nelze pak v CMS nahrát nic většího než 2M. Cokoliv většího končí hláškou Nginx 413 Request Entity Too Large. Týká se to samozřejmě obrázkú i rozšíření. Jak vygenerovat vlastní SSL certifikát (bez něj minimálně nám nefunguje HTTP/2) je popsáno v článku Lokální doména + PostgeSQL.

Auto Robot Pro plugin

Na screenshotu je konfigurační rozhraní pluginu Auto Robot, konkrétně nastavení kampaně s odběrem novinek pomocí RSS. Použít lze i konektor na YouTube, Twitter a další sociální sítě.

auto robot menu
Auto Robot + WordPress + Nginx + .local .lan server

FS Poster

Pro rozšíření funkčnosti instalace lze použít další plugin. FS Poster umí publikovat zveřejněné WP články. A to na všechny populární sítě pro sdílení obsahu. Facebook, Instagram, Twitter, Telegram, LinkedIn, VK, Pinterest, Reddit, Tumblr, Odnoklassniki, Plurk, Medium, Google My Business, Blogger.

WordPress Nginx FS Poster
WordPress + Nginx LAN server + FS Poster + AR + .local .lan server

FS Poster chybovou hlášku empty body error uvidíte v případě, že načtený příspěvěk nebude obsahovat text, ale FS Poster bude nastavený na přeposlání úryvku.

Užitečné

Stránka pluginu Auto Robot Lite na WP + domovksá stránka Auto Robot pluginu.
Instalace serveru na domácí počítač RaspBerry Pi.

ICTIS.CZ