Moodul 1 · 1.3
Failid, wp-config ja andmebaas
Moodul 1: Kuidas WordPress töötab · Lugemisaeg: 9 minutit
Õpieesmärk: pärast seda õppetundi tunned ära WordPressi mapid, wp-config.php faili seaded ja tähtsamad andmebaasi tabelid ning tead, mida kust leida.
Põhimõisted: wp-admin, wp-includes, wp-content (themes, plugins, uploads, mu-plugins), wp-config.php (DB_*, table_prefix, võtmed ja salt-väärtused, WP_DEBUG), .htaccess, wp_options (siteurl, home), wp_posts, wp_users
Kaks poolt: failid ja andmebaas
WordPressi veebisait koosneb alati kahest osast, mis käivad kokku:
- Failid sinu domeeni veebikaustas (DirectAdminis
domains/example.com/public_html): WordPressi kood, sinu teemad, pluginad ja kõik, mida üles laadid. - Andmebaas: kõik su tekstid, lehed, menüüd, seaded, kasutajad ja kommentaarid.
See vahe on oluline varukoopiate ja kolimise juures. Varukoopial, mis sisaldab ainult faile, puuduvad kõik su tekstid. Varukoopial, mis sisaldab ainult andmebaasi, puuduvad kõik su fotod. Vaja on mõlemat (õppetund 8.1).
Mapid
Ava oma veebikaust File Manageris või FTP-programmiga, siis näed umbes seda:
public_html/
├── wp-admin/ halduspaneel (core)
├── wp-includes/ ülejäänud WordPress (core)
├── wp-content/ kõik, mis on sinu oma
│ ├── themes/ teemad
│ ├── plugins/ pluginad
│ ├── uploads/ sinu meedia, aasta ja kuu järgi: uploads/2026/11/
│ ├── mu-plugins/ "must use" pluginad (kui neid on)
│ ├── languages/ tõlked
│ └── upgrade/ ajutine kaust uuenduste jaoks
├── .htaccess veebiserveri reeglid
├── index.php iga lehekülje päringu lähtepunkt
├── wp-config.php selle paigalduse seaded
├── wp-login.php sisselogimisleht
├── xmlrpc.php vana rakenduste liides (õppetund 7.3)
└── ... teised wp-*.php failid core'istRusikareegel: wp-admin, wp-includes ja eraldiseisvad wp-*.php failid kuuluvad WordPressile. Need kirjutatakse iga uuenduse käigus üle. Ära kunagi sinna ise midagi lisa ega muuda.
wp-content on sinu oma. WordPressi uuendus ei puutu seda kausta (välja arvatud kaasa tulevad vaiketeemad ja -pluginad). Siia lähevad su teemad, pluginad ja üleslaaditud failid. Mõned asjad, mida teada:
- uploads kasvab kõige kiiremini. Iga üleslaaditud foto salvestab WordPress mitmes formaadis (õppetund 4.4). Aastaid uudiseid avaldanud saidil võib olla gigabaite üleslaaditud faile.
- mu-plugins (must use) on pluginad, mis on alati aktiivsed ja mida ei saa halduspaneelist välja lülitada. Mõned majutajad ja pluginad kasutavad neid. Ka sissetungijad peidavad siia meelsasti midagi (õppetund 7.5). Kui sa ei tunne mõnda sealset faili, uuri välja, kust see pärineb.
- Kustutatud plugin kaob kaustast
plugins. Väljalülitatud plugin jääb alles, koos kogu oma koodiga (õppetund 5.4).
wp-config.php: seaded
wp-config.php on esimene, mille WordPress laadib. Selles on andmed, mille abil WordPress andmebaasini jõuab, ja mõned terve paigaldust puudutavad seaded. Lühendatud näide:
define( 'DB_NAME', 'gebruiker_wp1' );
define( 'DB_USER', 'gebruiker_wp1' );
define( 'DB_PASSWORD', 'pikk-juhuslik-parool' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );
define( 'AUTH_KEY', 'pikk juhuslik tekst' );
define( 'SECURE_AUTH_KEY', 'pikk juhuslik tekst' );
define( 'LOGGED_IN_KEY', 'pikk juhuslik tekst' );
define( 'NONCE_KEY', 'pikk juhuslik tekst' );
define( 'AUTH_SALT', 'pikk juhuslik tekst' );
define( 'SECURE_AUTH_SALT', 'pikk juhuslik tekst' );
define( 'LOGGED_IN_SALT', 'pikk juhuslik tekst' );
define( 'NONCE_SALT', 'pikk juhuslik tekst' );
$table_prefix = 'wp_';
define( 'WP_DEBUG', false );
/* Dat is alles, stop met bewerken! */
require_once ABSPATH . 'wp-settings.php';Mida see tähendab:
- DB_NAME, DB_USER, DB_PASSWORD, DB_HOST: millise andmebaasi, kasutaja ja parooliga WordPress ühendub ning millisel serveril. Kui üks neist on vale, näed teadet "Error establishing a database connection". See juhtub tihti pärast kolimist või andmebaasi parooli muutmist.
- Võtmed ja salt-väärtused (kaheksa rida KEY ja SALT): juhuslikud tekstid, millega WordPress sisselogimisküpsiseid allkirjastab. Kes neid teab, saab teoreetiliselt luua kehtiva sisselogimisküpsise. Kui need asendad, logitakse kõik välja. Just seda teed pärast häkkimist (õppetund 7.5). Uued väärtused saad aadressilt
https://api.wordpress.org/secret-key/1.1/salt/. - $table_prefix: kõigi tabelinimede eesliide, tavaliselt
wp_. Nii saavad mitu paigaldust jagada üht andmebaasi. Teistsuguse eesliite valimine ei ole päris turvameede, kuid ei tee ka kahju. - WP_DEBUG: lülitab sisse veateated. Toimival saidil on see välja lülitatud (
false). Kuidas vigu turvaliselt vaadata, ilma et külastajad neid näeksid, loe õppetunnist 5.4. - Seaded, mida lisad ise (näiteks
DISALLOW_FILE_EDITõppetunnis 7.4 võiDISABLE_WP_CRONõppetunnis 6.3), kuuluvad rea "stop met bewerken" kohale.
wp-config.php sisaldab sinu andmebaasi parooli. Ära kunagi jaga seda faili, ära pane sellest koopiat veebikausta (nagu wp-config.php.bak või wp-config.old: seda saab igaüks alla laadida, sest veebiserver ei käivita seda PHP-na) ning anna sellele ranged failiõigused (õppetund 7.4).
.htaccess
LiteSpeedi ja Apache puhul on veebikaustas .htaccess fail veebiserveri reeglitega. See algab punktiga, seega on see paljudes programmides peidetud. WordPress lisab sinna selle bloki korralike aadresside jaoks (püsilingid):
# 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 WordPressLihtsamalt öeldes: "kui see ei ole olemasolev fail (!-f) ega olemasolev kaust (!-d), suuna see faili index.php." See on õppetunni 1.2 samm 2. Pluginad (vahemällu salvestamine, turvalisus) lisavad tihti omaenda blokke. Pane oma reeglid WordPressi ja pluginate blokkide väliseid kohtadesse, sest need blokid kirjutatakse mõnikord uuesti. Nginxi puhul faili .htaccess ei ole; seal lahendab majutaja selle serveri konfiguratsioonis.
Andmebaas: milline tabel mille jaoks
phpMyAdminiga (DirectAdminis Databasebeheer all) näed andmebaasi. Tavaline paigaldus sisaldab kaksteist tabelit; pluginad lisavad neid sageli juurde. Tähtsaimad:
| Tabel | Mis selles on |
|---|---|
wp_posts | Postitused, lehed, versioonid, menüükirjed ja plokiteemade puhul ka mallid ja mustrid. Ka pildid on siin "postitus" tüübiga attachment |
wp_postmeta | Postituste lisaandmed, näiteks toote hind või lehekoostaja seaded |
wp_options | Saidi ja pluginate seaded. Siin on siteurl ja home (õppetund 3.1), aktiivse teema nimi ja aktiivsete pluginate nimekiri |
wp_users ja wp_usermeta | Kasutajad, nende (krüpteeritud) paroolid ja roll |
wp_terms, wp_term_taxonomy, wp_term_relationships | Rubriigid, sildid ja millised postitused neisse kuuluvad |
wp_comments ja wp_commentmeta | Kommentaarid |
Kaks kasulikku teadmist. Esiteks: tabelis wp_options on siteurl ja home. Kui need on valed (näiteks pärast kolimist), suunab sait kõik valele aadressile ja sa ei pääse enam haldusesse. Siis saad need taastada phpMyAdminis või wp-config.php reeglitega (õppetund 3.1). Teiseks: paljud seaded salvestatakse serialiseeritud kujul, see on PHP vorm, kus iga teksti pikkust arvestatakse kaasa. Kui muudad sellist väärtust käsitsi või lased andmebaasil läbi "otsi ja asenda", ei klapi pikkus enam ja seade läheb katki (õppetund 3.2).
phpMyAdminis vaatamine on turvaline. Muutmist tee ainult siis, kui tead, mida teed, ja alati koos varukoopiaga.
Praktikas: kuidas see paneelis välja näeb
Näitena kasutame DirectAdmini. cPanelis ja Pleskis kannavad osad nimesid File Manager ja phpMyAdmin samuti nii.
- Ava File Manager ja mine kausta
domains/example.com/public_html. Lülita sisse peidetud failide näitamine, et näha faili.htaccess. - Klõpsa failil
wp-config.phpja vali vaatamine (mitte muutmine). Otsi ülesDB_NAMEja$table_prefix. - Ava phpMyAdmin, vali vasakult sellenimeline andmebaas ja vaata, millised tabelid seal on.
- Klõpsa tabelil
wp_options(koos sinu eesliitega) ja otsi üles readsiteurljahome.
Kokkuvõte
- WordPressi veebisait koosneb failidest ja andmebaasist; varukoopiale on vaja mõlemat.
wp-admin,wp-includesja eraldiseisvad core-failid kuuluvad WordPressile;wp-contenton sinu oma.- wp-config.php sisaldab andmebaasi andmeid, võtmeid ja salt-väärtusi, tabeli eesliidet ning seadeid nagu WP_DEBUG. Ära kunagi hoia sellest koopiat veebikaustas.
.htaccesssuunab kõik, mis ei ole fail, faili index.php; omaenda reeglid pane WordPressi blokkide väliseid kohtadesse.- Tabelis
wp_optionson siteurl ja home; serialiseeritud andmeid ei muuda käsitsi.
Test (quiz)
Ülesanne
Ülesanne D1.3: Uuri oma installatsiooni. Ava oma veebikaust File Manageris või FTP-programmiga ning seejärel oma andmebaas phpMyAdminis. Tee ainult vaatlusi. Märgi üles, mida leidsid, ja täida: tabeli eesliide, andmebaasi tabelite arv, väärtused siteurl ja home tabelis wp_options, ning kaustad kaustas wp-content. Kirjuta ka üles, kas kaustas wp-content/mu-plugins on faile ja kas tead, kust need pärinevad. Ära kunagi jaga oma andmebaasi parooli, ka mitte selles vormis.
Ülesanne D1.3: Uuri oma installatsiooni
Selle ülesande teed ise, keegi ei kontrolli seda. Märgi ära, mida tegid, ja märgi ülesanne tehtuks.
Eesliide lõppeb alakriipsuga (näiteks wp_ või juhuslik kood). Tavaline installatsioon sisaldab 12 tabelit; pluginad lisavad veel. siteurl ja home algavad https://-ga. Ära jaga kunagi wp-config.php andmebaasiparooli, ka mitte siin.
Su linnukesed ja märkmed jäävad ainult sellesse brauserisse, me ei saada neid kuhugi. Kui oled sisse loginud, salvestame Minu kursustes ainult info, et tegid ülesande ära.
Lisalugemist
Need artiklid kirjeldavad samme WebOké paneelides; teistes paneelides toimivad need sarnaselt.
- DirectAdmin juhend 11.1: File Manageri avamine: paketi kaustad
- DirectAdmin juhend 11.4: Peidetud failide, näiteks .htaccess, kuvamine ja muutmine
- DirectAdmin juhend 12.3: phpMyAdmini avamine ja kasutamine
- Milline on MySQL-i kasutajanimi / parool / andmebaasi nimi?
- DirectAdmin juhend 18.6: Viga andmebaasiühenduse loomisel
- wp-config.php (developer.wordpress.org, inglise keeles): https://developer.wordpress.org/advanced-administration/wordpress/wp-config/
