Modul 1 · 1.3
Slovenčina
Súbory, wp-config a databáza
Modul 1: Ako funguje WordPress · Čas čítania: 9 minút
Cieľ lekcie: Po tejto lekcii rozpoznáte priečinky WordPressu, nastavenia v súbore wp-config.php a najdôležitejšie databázové tabuľky a budete vedieť, čo kde nájdete.
Kľúčové pojmy: wp-admin, wp-includes, wp-content (themes, plugins, uploads, mu-plugins), wp-config.php (DB_*, table_prefix, kľúče a salts, WP_DEBUG), .htaccess, wp_options (siteurl, home), wp_posts, wp_users
Dve polovice: súbory a databáza
Webová stránka na WordPresse vždy pozostáva z dvoch častí, ktoré patria k sebe:
- Súbory vo webovom priečinku vašej domény (pri DirectAdmin
domains/example.com/public_html): kód WordPressu, vaše témy, vaše pluginy a všetko, čo nahráte. - Databáza: všetky vaše texty, stránky, menu, nastavenia, používatelia a komentáre.
Toto rozlíšenie je dôležité pri zálohách a sťahovaniach. Záloha len so súbormi neobsahuje vaše texty. Záloha len s databázou neobsahuje vaše fotografie. Potrebujete oboje (lekcia 8.1).
Priečinky
Keď otvoríte svoj webový priečinok v nástroji Web FTP alebo pomocou FTP programu, uvidíte približne toto:
public_html/
├── wp-admin/ administrácia (jadro)
├── wp-includes/ zvyšok WordPressu (jadro)
├── wp-content/ všetko, čo patrí vám
│ ├── themes/ témy
│ ├── plugins/ pluginy
│ ├── uploads/ vaše médiá, podľa roka a mesiaca: uploads/2026/11/
│ ├── mu-plugins/ „must use“ pluginy (ak existujú)
│ ├── languages/ preklady
│ └── upgrade/ dočasný priečinok pre aktualizácie
├── .htaccess pravidlá pre webový server
├── index.php vstupný bod každej požiadavky na stránku
├── wp-config.php nastavenia tejto inštalácie
├── wp-login.php prihlasovacia stránka
├── xmlrpc.php staršie rozhranie pre aplikácie (lekcia 7.3)
└── ... ďalšie wp-*.php súbory jadraZákladné pravidlo: wp-admin, wp-includes a samostatné wp-*.php súbory patria WordPressu. Tie sa pri každej aktualizácii prepíšu. Nikdy do nich nič nevkladajte a nič v nich neupravujte.
wp-content patrí vám. Aktualizácia WordPressu sa tohto priečinka nedotkne (okrem predvolených tém a pluginov, ktoré ju sprevádzajú). Tu sú vaše témy, pluginy a nahrané súbory. Pár vecí, ktoré treba vedieť:
- uploads rastie najrýchlejšie. Každú fotografiu, ktorú nahráte, WordPress uloží vo viacerých veľkostiach (lekcia 4.4). Stránka s dlhoročným spravodajstvom môže mať v uploads gigabajty dát.
- mu-plugins (must use) sú pluginy, ktoré sú vždy aktívne a ktoré nemôžete vypnúť v administrácii. Používajú ich niektorí poskytovatelia hostingu a pluginy. Aj útočníci sem radi niečo ukryjú (lekcia 7.5). Ak nepoznáte niektorý súbor, zistite, odkiaľ pochádza.
- Odstránený plugin zmizne z
plugins. Vypnutý plugin tam zostáva, so všetkým svojím kódom (lekcia 5.4).
wp-config.php: nastavenia
wp-config.php je prvé, čo WordPress načíta. Obsahuje údaje, pomocou ktorých WordPress pristupuje k databáze, a pár nastavení pre celú inštaláciu. Skrátená verzia:
define( 'DB_NAME', 'gebruiker_wp1' );
define( 'DB_USER', 'gebruiker_wp1' );
define( 'DB_PASSWORD', 'een-lang-willekeurig-wachtwoord' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );
define( 'AUTH_KEY', 'lange willekeurige tekst' );
define( 'SECURE_AUTH_KEY', 'lange willekeurige tekst' );
define( 'LOGGED_IN_KEY', 'lange willekeurige tekst' );
define( 'NONCE_KEY', 'lange willekeurige tekst' );
define( 'AUTH_SALT', 'lange willekeurige tekst' );
define( 'SECURE_AUTH_SALT', 'lange willekeurige tekst' );
define( 'LOGGED_IN_SALT', 'lange willekeurige tekst' );
define( 'NONCE_SALT', 'lange willekeurige tekst' );
$table_prefix = 'wp_';
define( 'WP_DEBUG', false );
/* Dat is alles, stop met bewerken! */
require_once ABSPATH . 'wp-settings.php';Čo to znamená:
- DB_NAME, DB_USER, DB_PASSWORD, DB_HOST: s akou databázou, používateľom a heslom sa WordPress pripája a na akom serveri. Ak niektorý z týchto údajov nesedí, zobrazí sa hláška „Error establishing a database connection“. To sa často stáva po migrácii alebo po zmene databázového hesla.
- Kľúče a salts (osem riadkov s KEY a SALT): náhodné texty, pomocou ktorých WordPress podpisuje prihlasovacie cookies. Kto ich pozná, môže teoreticky vytvoriť platné prihlasovacie cookie. Ak ich zmeníte, odhlási sa každý používateľ. Presne to urobíte po napadnutí stránky (lekcia 7.5). Nové hodnoty získate na
https://api.wordpress.org/secret-key/1.1/salt/. - $table_prefix: predpona všetkých názvov tabuliek, zvyčajne
wp_. Vďaka nej môže viacero inštalácií zdieľať jednu databázu. Iná predpona nie je skutočným bezpečnostným opatrením, ale ani neškodí. - WP_DEBUG: zapína zobrazovanie chybových hlásení. Na živej stránke je toto vypnuté (
false). Ako bezpečne zobraziť chyby bez toho, aby ich videli návštevníci, sa dozviete v lekcii 5.4. - Nastavenia, ktoré si pridáte sami (napríklad
DISALLOW_FILE_EDITv lekcii 7.4 aleboDISABLE_WP_CRONv lekcii 6.3), patria nad riadok „stop met bewerken“.
wp-config.php obsahuje vaše databázové heslo. Súbor nikdy nezdieľajte, nevkladajte jeho kópiu do webového priečinka (napríklad wp-config.php.bak alebo wp-config.old: tú si môže ktokoľvek stiahnuť, pretože webový server ju nespúšťa ako PHP) a nastavte mu prísne prístupové práva k súborom (lekcia 7.4).
.htaccess
Pri LiteSpeed a Apache sa vo webovom priečinku nachádza súbor .htaccess s pravidlami pre webový server. Začína bodkou, takže je v mnohých programoch skrytý. WordPress doň vkladá tento blok kvôli prehľadným adresám (trvalé odkazy):
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPressJednoducho povedané: „ak to nie je existujúci súbor (!-f) ani existujúci priečinok (!-d), odovzdaj to súboru index.php.“ To je krok 2 z lekcie 1.2. Pluginy (cache, zabezpečenie) často pridávajú vlastné bloky. Vlastné pravidlá vkladajte mimo blokov WordPressu a pluginov, pretože tieto bloky sa občas prepíšu nanovo. Pri nginx .htaccess neexistuje; tam toto rieši poskytovateľ hostingu v konfigurácii servera.
Databáza: ktorá tabuľka na čo slúži
Pomocou phpMyAdmin (v DirectAdmin pod Správa databáz) môžete nahliadnuť do databázy. Bežná inštalácia má dvanásť tabuliek; pluginy ich často pridávajú viac. Tie najdôležitejšie:
| Tabuľka | Čo obsahuje |
|---|---|
wp_posts | Články, stránky, revízie, položky menu a pri blokových témach aj šablóny a vzory. Aj obrázky sú tu „príspevkom“ typu attachment |
wp_postmeta | Doplňujúce údaje k príspevkom, napríklad cena produktu alebo nastavenia nástroja na tvorbu stránok |
wp_options | Nastavenia webovej stránky a pluginov. Tu nájdete siteurl a home (lekcia 3.1), názov aktívnej témy a zoznam aktívnych pluginov |
wp_users a wp_usermeta | Používatelia, ich (zašifrované) heslá a ich rola |
wp_terms, wp_term_taxonomy, wp_term_relationships | Kategórie, štítky a ktoré príspevky k nim patria |
wp_comments a wp_commentmeta | Komentáre |
Dve užitočné poznámky. Po prvé: v wp_options sa nachádzajú siteurl a home. Ak sú nesprávne (napríklad po migrácii), vaša stránka posiela všetkých návštevníkov na nesprávnu adresu a vy sa už nedostanete do administrácie. Vtedy ich môžete opraviť v phpMyAdmin alebo pomocou pravidiel vo wp-config.php (lekcia 3.1). Po druhé: mnohé nastavenia sa ukladajú serializované, čo je forma PHP, v ktorej sa počíta aj dĺžka každého textu. Ak takúto hodnotu upravíte ručne, alebo na databázu spustíte jednoduché „nájsť a nahradiť“, dĺžka už nebude sedieť a nastavenie sa poškodí (lekcia 3.2).
Pozeranie v phpMyAdmin je bezpečné. Úpravy robte len vtedy, keď viete, čo robíte, a vždy so zálohou.
V praxi: ako to vyzerá v paneli
Ako príklad použijeme DirectAdmin. V cPanel a Plesk sa príslušné nástroje volajú podobne: File Manager a phpMyAdmin.
- Otvorte Web FTP a prejdite do
domains/example.com/public_html. Zapnite zobrazovanie skrytých súborov, aby ste videli.htaccess. - Kliknite na
wp-config.phpa zvoľte zobrazenie (nie úpravu). NájditeDB_NAMEa$table_prefix. - Otvorte phpMyAdmin, vľavo zvoľte databázu s týmto názvom a pozrite sa, ktoré tabuľky obsahuje.
- Kliknite na tabuľku
wp_options(s vašou predponou) a nájdite riadkysiteurlahome.
Zhrnutie
- Webová stránka na WordPresse sú súbory plus databáza; záloha potrebuje oboje.
wp-admin,wp-includesa samostatné súbory jadra patria WordPressu;wp-contentpatrí vám.- wp-config.php obsahuje databázové údaje, kľúče a salts, predponu tabuliek a nastavenia ako WP_DEBUG. Nikdy si neuchovávajte jeho kópiu vo webovom priečinku.
.htaccessodosiela všetko, čo nie je súbor, do index.php; vlastné pravidlá vkladajte mimo blokov WordPressu.- V
wp_optionssa nachádzajú siteurl a home; serializované údaje ručne neupravujte.
Kvíz
Úloha
Úloha D1.3: Preskúmajte vlastnú inštaláciu. Otvorte svoj webový priečinok v nástroji Web FTP alebo pomocou FTP programu a potom svoju databázu v phpMyAdmin. Nerobte nič iné, len sa pozerajte. Odškrtnite, čo ste našli, a vyplňte: predponu tabuliek, počet tabuliek v databáze, hodnoty siteurl a home v wp_options a priečinky v wp-content. Zapíšte si tiež, či sa v wp-content/mu-plugins nachádzajú nejaké súbory a či viete, odkiaľ pochádzajú. Nikdy nezdieľajte svoje databázové heslo, ani v tomto formulári.
Úloha D1.3: Preskúmajte vlastnú inštaláciu
Túto úlohu vykonávate sami, nikto ju nekontroluje. Odškrtnite, čo ste urobili, a označte úlohu ako splnenú.
Predpona tabuliek končí podtržníkom (napríklad wp_ alebo náhodný kód). Bežná inštalácia má 12 tabuliek, pluginy pridávajú ďalšie. siteurl a home začínajú na https://. Databázové heslo z wp-config.php nikdy nezdieľajte, ani tu nie.
Vaše zaškrtnutia a poznámky zostávajú iba v tomto prehliadači, nikam ich neposielame. Po prihlásení si v sekcii Moje kurzy uchovávame iba to, že ste úlohu splnili.
Ďalšie čítanie
Tieto články popisujú kroky v paneloch WebOké; v iných paneloch fungujú podobne.
- Návod na DirectAdmin 11.1: Otvorenie Web FTP: zložky vo vašom balíku
- Návod na DirectAdmin 11.4: Zobrazenie a úprava skrytých súborov ako .htaccess
- Návod na DirectAdmin 12.3: Otvorenie a používanie phpMyAdmin
- Aké je používateľské meno, heslo a názov databázy pre MySQL?
- Návod na DirectAdmin 18.6: Error establishing a database connection
- wp-config.php (developer.wordpress.org, Angličtina): https://developer.wordpress.org/advanced-administration/wordpress/wp-config/
