1 modulis · 1.3
Failai, wp-config ir duomenų bazė
1 modulis: Kaip veikia WordPress · Skaitymo trukmė: 9 min.
Mokymosi tikslas: Po šios pamokos atpažinsite WordPress aplankus, nustatymus faile wp-config.php ir svarbiausias duomenų bazės lenteles, ir žinosite, kur ką rasti.
Pagrindinės sąvokos: wp-admin, wp-includes, wp-content (themes, plugins, uploads, mu-plugins), wp-config.php (DB_*, table_prefix, raktai ir salts, WP_DEBUG), .htaccess, wp_options (siteurl, home), wp_posts, wp_users
Dvi pusės: failai ir duomenų bazė
WordPress svetainę visada sudaro dvi tarpusavyje susijusios dalys:
- Failai Jūsų domeno žiniatinklio aplanke (DirectAdmin atveju
domains/example.com/public_html): WordPress kodas, Jūsų temos, įskiepiai ir visa, ką įkeliate. - Duomenų bazė: visi Jūsų tekstai, puslapiai, meniu, nustatymai, vartotojai ir komentarai.
Šis skirtumas svarbus kalbant apie atsargines kopijas ir perkėlimą. Atsarginė kopija, kurioje yra tik failai, neturi Jūsų tekstų. Atsarginė kopija, kurioje yra tik duomenų bazė, neturi Jūsų nuotraukų. Reikia abiejų (žr. 8.1 pamoką).
Aplankai
Atidarę žiniatinklio aplanką per Failų tvarkyklę arba FTP programą, pamatysite maždaug tokį vaizdą:
public_html/
├── wp-admin/ skydelis (core)
├── wp-includes/ likusi WordPress dalis (core)
├── wp-content/ viskas, kas priklauso Jums
│ ├── themes/ temos
│ ├── plugins/ įskiepiai
│ ├── uploads/ Jūsų medija, pagal metus ir mėnesį: uploads/2026/11/
│ ├── mu-plugins/ „must use“ įskiepiai (jei tokių yra)
│ ├── languages/ vertimai
│ └── upgrade/ laikinas aplankas atnaujinimams
├── .htaccess žiniatinklio serverio taisyklės
├── index.php kiekvieno puslapio užklausos pradžios taškas
├── wp-config.php šios diegties nustatymai
├── wp-login.php prisijungimo puslapis
├── xmlrpc.php senesnė sąsaja programėlėms (žr. 7.3 pamoką)
└── ... kiti wp-*.php core failaiPagrindinė taisyklė: wp-admin, wp-includes ir pavieniai wp-*.php failai priklauso WordPress. Jie perrašomi kiekvieno atnaujinimo metu. Niekada ten nieko nekeiskite ir nieko ten nekurkite patys.
wp-content priklauso Jums. WordPress atnaujinimas šio aplanko nepaliečia (išskyrus kartu atkeliaujančias standartines temas ir įskiepius). Čia saugomos Jūsų temos, įskiepiai ir įkelti failai. Keletas dalykų, kuriuos verta žinoti:
- uploads auga sparčiausiai. Kiekvieną įkeltą nuotrauką WordPress išsaugo keliais formatais (žr. 4.4 pamoką). Svetainė su keleriais metais kaupiamomis naujienomis gali turėti gigabaitus įkeltų failų.
- mu-plugins (must use) tai įskiepiai, kurie visada aktyvūs ir kurių negalima išjungti skydelyje. Juos naudoja kai kurie talpinimo paslaugų teikėjai ir įskiepiai. Įsilaužėliai taip pat mėgsta ten kažką paslėpti (žr. 7.5 pamoką). Jei nežinote, iš kur atsirado failas, išsiaiškinkite jo kilmę.
- Pašalintas įskiepis dingsta iš aplanko
plugins. Išjungtas įskiepis lieka vietoje su visu savo kodu (žr. 5.4 pamoką).
wp-config.php: nustatymai
wp-config.php yra pirmas failas, kurį įkelia WordPress. Jame yra duomenys, kuriais WordPress pasiekia duomenų bazę, ir keli nustatymai visai diegčiai. Sutrumpinta versija:
define( 'DB_NAME', 'gebruiker_wp1' );
define( 'DB_USER', 'gebruiker_wp1' );
define( 'DB_PASSWORD', 'ilgas-atsitiktinis-slaptazodis' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );
define( 'AUTH_KEY', 'ilgas atsitiktinis tekstas' );
define( 'SECURE_AUTH_KEY', 'ilgas atsitiktinis tekstas' );
define( 'LOGGED_IN_KEY', 'ilgas atsitiktinis tekstas' );
define( 'NONCE_KEY', 'ilgas atsitiktinis tekstas' );
define( 'AUTH_SALT', 'ilgas atsitiktinis tekstas' );
define( 'SECURE_AUTH_SALT', 'ilgas atsitiktinis tekstas' );
define( 'LOGGED_IN_SALT', 'ilgas atsitiktinis tekstas' );
define( 'NONCE_SALT', 'ilgas atsitiktinis tekstas' );
$table_prefix = 'wp_';
define( 'WP_DEBUG', false );
/* Dat is alles, stop met bewerken! */
require_once ABSPATH . 'wp-settings.php';Ką tai reiškia:
- DB_NAME, DB_USER, DB_PASSWORD, DB_HOST: su kuria duomenų baze, vartotoju ir slaptažodžiu WordPress jungiasi, ir kokiame serveryje. Jei bent vienas duomuo netikslus, pamatysite pranešimą „Error establishing a database connection“. Tai dažnai nutinka po perkėlimo arba pakeitus duomenų bazės slaptažodį.
- Raktai ir salts (aštuonios eilutės su KEY ir SALT): atsitiktiniai tekstai, kuriais WordPress pasirašo prisijungimo slapukus (cookies). Jei kas nors juos žino, teoriškai galėtų sukurti galiojantį prisijungimo slapuką. Pakeitę juos, atjungsite visus naudotojus. Būtent tai reikia padaryti po įsilaužimo (žr. 7.5 pamoką). Naujas reikšmes galima gauti adresu
https://api.wordpress.org/secret-key/1.1/salt/. - $table_prefix: visų lentelių pavadinimų priešdėlis, dažniausiai
wp_. Taip kelios diegtys gali dalytis viena duomenų baze. Kito priešdėlio pasirinkimas nėra tikra apsauga, bet ir nekenkia. - WP_DEBUG: įjungia klaidų pranešimus. Veikiančioje svetainėje tai turi būti išjungta (
false). Kaip saugiai peržiūrėti klaidas, jų nerodant lankytojams, skaitykite 5.4 pamokoje. - Patys pridedami nustatymai (pavyzdžiui,
DISALLOW_FILE_EDITiš 7.4 pamokos arbaDISABLE_WP_CRONiš 6.3 pamokos) turi būti virš eilutės „stop met bewerken“ („nebekeiskite“).
wp-config.php faile yra Jūsų duomenų bazės slaptažodis. Niekada nesidalykite šiuo failu, nekurkite jo kopijos žiniatinklio aplanke (pavyzdžiui, wp-config.php.bak ar wp-config.old: tokį failą gali atsisiųsti bet kas, nes žiniatinklio serveris jo nevykdo kaip PHP) ir nustatykite griežtas failų teises (žr. 7.4 pamoką).
.htaccess
Naudojant LiteSpeed ir Apache, žiniatinklio aplanke yra failas .htaccess su žiniatinklio serverio taisyklėmis. Jis prasideda tašku, todėl daugelyje programų yra paslėptas. WordPress įrašo šį bloką tvarkingiems adresams (nuolatinėms nuorodoms):
# 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 WordPressPaprastai tariant: „jei tai nėra esamas failas (!-f) ir nėra esamas aplankas (!-d), nukreipk tai į index.php.“ Tai 2 žingsnis iš 1.2 pamokos. Įskiepiai (talpyklos, saugumo) dažnai prideda savo blokus. Savo taisykles rašykite už WordPress ir įskiepių blokų ribų, nes šie blokai kartais perrašomi iš naujo. Naudojant nginx, failo .htaccess nėra; tai tvarko talpinimo paslaugų teikėjas serverio konfigūracijoje.
Duomenų bazė: kuri lentelė kam skirta
Su phpMyAdmin (DirectAdmin valdiklyje po Duomenų bazių valdymu) galite peržiūrėti duomenų bazę. Įprastoje diegtyje yra dvylika lentelių; įskiepiai dažnai prideda daugiau. Svarbiausios:
| Lentelė | Kas joje yra |
|---|---|
wp_posts | Įrašai, puslapiai, redakcijos, meniu elementai, o blokų temų atveju dar ir šablonai bei raštai (patterns). Čia kaip „įrašas“ saugomi ir vaizdai, pažymėti tipu attachment |
wp_postmeta | Papildomi duomenys prie įrašų, pavyzdžiui, produkto kaina arba puslapių kūrimo įrankio nustatymai |
wp_options | Svetainės ir įskiepių nustatymai. Čia yra siteurl ir home (žr. 3.1 pamoką), aktyvios temos pavadinimas ir aktyvių įskiepių sąrašas |
wp_users ir wp_usermeta | Vartotojai, jų (užšifruoti) slaptažodžiai ir jų rolė |
wp_terms, wp_term_taxonomy, wp_term_relationships | Kategorijos, žymos ir su jomis susiję įrašai |
wp_comments ir wp_commentmeta | Komentarai |
Dvi naudingos žinutės. Pirma: lentelėje wp_options yra siteurl ir home. Jei jos netikslios (pavyzdžiui, po perkėlimo), Jūsų svetainė nukreipia visus į neteisingą adresą ir Jūs nebegalite patekti į skydelį. Tokiu atveju galite jas sutvarkyti per phpMyAdmin arba taisyklėmis faile wp-config.php (žr. 3.1 pamoką). Antra: daugelis nustatymų saugomi serializuota forma, tai PHP formatas, kuriame įskaičiuojamas kiekvieno teksto ilgis. Jei tokią reikšmę pakeičiate rankiniu būdu arba duomenų bazei pritaikote paprastą „rasti ir pakeisti“, ilgio reikšmė nebesutampa ir nustatymas sugenda (žr. 3.2 pamoką).
Žiūrėti į phpMyAdmin yra saugu. Keisti ką nors derėtų tik tada, kai tiksliai žinote, ką darote, ir visada turint atsarginę kopiją.
Praktikoje: kaip tai atrodo valdiklyje
Kaip pavyzdį naudojame DirectAdmin. cPanel ir Plesk valdikliuose atitinkami skyriai taip pat vadinami Failų tvarkykle (File Manager) ir phpMyAdmin.
- Atidarykite Failų tvarkyklę ir eikite į
domains/example.com/public_html. Įjunkite paslėptų failų rodymą, kad matytumėte.htaccess. - Spustelėkite
wp-config.phpir pasirinkite peržiūrą (ne redagavimą). RaskiteDB_NAMEir$table_prefix. - Atidarykite phpMyAdmin, kairėje pasirinkite duomenų bazę su tuo pavadinimu ir pažiūrėkite, kokios lentelės joje yra.
- Spustelėkite lentelę
wp_options(su Jūsų priešdėliu) ir suraskite eilutessiteurlirhome.
Santrauka
- WordPress svetainę sudaro failai ir duomenų bazė; atsarginei kopijai reikia abiejų.
wp-admin,wp-includesir pavieniai core failai priklauso WordPress;wp-contentpriklauso Jums.- wp-config.php faile yra duomenų bazės duomenys, raktai ir salts, lentelių priešdėlis ir nustatymai, tokie kaip WP_DEBUG. Niekada nesaugokite jo kopijos žiniatinklio aplanke.
.htaccessnukreipia viską, kas nėra failas, į index.php; savo taisykles rašykite už WordPress blokų ribų.- Lentelėje
wp_optionsyra siteurl ir home; serializuotų duomenų rankiniu būdu nekeiskite.
Testas (quiz)
Užduotis
Užduotis D1.3: Ištirkite savo diegimą. Atidarykite savo žiniatinklio aplanką Failų tvarkyklėje arba FTP programa, o po to savo duomenų bazę per phpMyAdmin. Nieko nekeiskite, tik žiūrėkite. Pažymėkite, ką radote, ir užpildykite: lentelių priešdėlį, duomenų bazės lentelių skaičių, reikšmes siteurl ir home lentelėje wp_options, ir aplankus aplanke wp-content. Taip pat užrašykite, ar aplanke wp-content/mu-plugins yra failų ir ar žinote, iš kur jie atsirado. Niekada nesidalykite savo duomenų bazės slaptažodžiu, net ir šioje formoje.
Užduotis D1.3: Ištirkite savo diegimą
Šią užduotį atliekate patys; niekas jos netikrina. Pažymėkite, ką atlikote, ir pažymėkite užduotį kaip atliktą.
Priešdėlis baigiasi pabrauktuku (pvz., wp_ arba atsitiktiniu kodu). Įprastas diegimas turi 12 lentelių; įskiepiai prideda daugiau. siteurl ir home prasideda https://. Niekada niekam nesidalykite duomenų bazės slaptažodžiu iš wp-config.php, taip pat ir čia.
Jūsų pažymėti varneliai ir pastabos lieka tik šioje naršyklėje; niekur jų nesiunčiame. Jei esate prisijungę, skiltyje Mano kursai išsaugome tik tai, kad užduotį atlikote.
Papildoma literatūra
Šiuose straipsniuose aprašyti WebOké valdikliuose atliekami žingsniai; kituose valdikliuose jie veikia panašiai.
- DirectAdmin vadovas 11.1: Atidaryti failų tvarkyklę: Jūsų paslaugų paketo katalogai
- DirectAdmin vadovas 11.4: Paslėptų failų, tokių kaip .htaccess, rodymas ir redagavimas
- DirectAdmin vadovas 12.3: phpMyAdmin atidarymas ir naudojimas
- Koks yra MySQL naudotojo vardas / slaptažodis / duomenų bazės pavadinimas?
- DirectAdmin vadovas 18.6: „Error establishing a database connection“
- wp-config.php (developer.wordpress.org, anglų kalba): https://developer.wordpress.org/advanced-administration/wordpress/wp-config/
