Modul 1 · 1.3
Datoteke, wp-config i baza podataka
Modul 1: Kako WordPress funkcionira · Vrijeme čitanja: 9 minuta
Cilj učenja: Nakon ove lekcije prepoznat ćete mape WordPressa, postavke u wp-config.php i najvažnije tablice baze podataka, te znati što gdje pronaći.
Ključni pojmovi: wp-admin, wp-includes, wp-content (themes, plugins, uploads, mu-plugins), wp-config.php (DB_*, table_prefix, ključevi i salt vrijednosti, WP_DEBUG), .htaccess, wp_options (siteurl, home), wp_posts, wp_users
Dvije polovice: datoteke i baza podataka
Web-stranica na WordPressu uvijek se sastoji od dva dijela koji pripadaju zajedno:
- Datoteke u web mapi Vaše domene (kod DirectAdmina
domains/example.com/public_html): kôd WordPressa, Vaše teme, Vaši dodaci (plugini) i sve što učitate. - Baza podataka: svi Vaši tekstovi, stranice, izbornici, postavke, korisnici i komentari.
Ova razlika je važna kod sigurnosnih kopija i preseljenja. Sigurnosna kopija koja sadrži samo datoteke nema sve Vaše tekstove. Sigurnosna kopija koja sadrži samo bazu podataka nema sve Vaše fotografije. Potrebno Vam je oboje (lekcija 8.1).
Mape
Otvorite svoju web mapu u File Manageru ili putem FTP programa, pa ćete vidjeti otprilike ovo:
public_html/
├── wp-admin/ nadzorna ploča (core)
├── wp-includes/ ostatak WordPressa (core)
├── wp-content/ sve što je Vaše
│ ├── themes/ teme
│ ├── plugins/ dodaci (plugini)
│ ├── uploads/ Vaši medijski sadržaji, po godini i mjesecu: uploads/2026/11/
│ ├── mu-plugins/ "must use" dodaci (ako postoje)
│ ├── languages/ prijevodi
│ └── upgrade/ privremena mapa za nadogradnje
├── .htaccess pravila za web poslužitelj
├── index.php polazna točka svakog zahtjeva za stranicom
├── wp-config.php postavke ove instalacije
├── wp-login.php stranica za prijavu
├── xmlrpc.php stara poveznica za aplikacije (lekcija 7.3)
└── ... ostale wp-*.php datoteke jezgre (core)Osnovno pravilo: wp-admin, wp-includes i pojedinačne wp-*.php datoteke pripadaju WordPressu. One se prepisuju prilikom svake nadogradnje. Nikada u njih ništa sami ne stavljajte i ništa u njima ne mijenjajte.
wp-content je Vaš. Nadogradnja WordPressa tu mapu ostavlja na miru (osim standardnih tema i dodataka koji dolaze uz nju). Ovdje idu Vaše teme, dodaci i učitani sadržaji. Nekoliko stvari koje treba znati:
- uploads raste najbrže. Svaku fotografiju koju učitate WordPress sprema u više formata (lekcija 4.4). Web-stranica s dugogodišnjim vijestima može imati gigabajte podataka u mapi uploads.
- mu-plugins (must use) su dodaci koji su uvijek aktivni i koje ne možete isključiti u administraciji. Neki hosting provideri i dodaci koriste ih. I uljezi tu rado nešto sakriju (lekcija 7.5). Ako ne prepoznajete neku datoteku ondje, istražite odakle potječe.
- Izbrisan dodatak nestaje iz mape
plugins. Isključen dodatak ostaje, zajedno sa svim svojim kodom (lekcija 5.4).
wp-config.php: postavke
wp-config.php prva je datoteka koju WordPress učitava. U njoj se nalaze podaci pomoću kojih WordPress pristupa bazi podataka, te nekoliko postavki za cijelu instalaciju. Skraćena verzija:
define( 'DB_NAME', 'gebruiker_wp1' );
define( 'DB_USER', 'gebruiker_wp1' );
define( 'DB_PASSWORD', 'dugacka-nasumicna-lozinka' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );
define( 'AUTH_KEY', 'dugi nasumični tekst' );
define( 'SECURE_AUTH_KEY', 'dugi nasumični tekst' );
define( 'LOGGED_IN_KEY', 'dugi nasumični tekst' );
define( 'NONCE_KEY', 'dugi nasumični tekst' );
define( 'AUTH_SALT', 'dugi nasumični tekst' );
define( 'SECURE_AUTH_SALT', 'dugi nasumični tekst' );
define( 'LOGGED_IN_SALT', 'dugi nasumični tekst' );
define( 'NONCE_SALT', 'dugi nasumični tekst' );
$table_prefix = 'wp_';
define( 'WP_DEBUG', false );
/* Dat is alles, stop met bewerken! */
require_once ABSPATH . 'wp-settings.php';Što to znači:
- DB_NAME, DB_USER, DB_PASSWORD, DB_HOST: s kojom se bazom podataka, korisnikom i lozinkom WordPress povezuje, i na kojem poslužitelju. Ako nešto od toga nije točno, vidjet ćete poruku "Error establishing a database connection". To se često događa nakon preseljenja ili nakon promjene lozinke baze podataka.
- Ključevi i salt vrijednosti (osam redaka s KEY i SALT): nasumični tekstovi kojima WordPress potpisuje kolačiće za prijavu. Tko ih zna, teoretski može izraditi valjani kolačić za prijavu. Ako ih zamijenite, svi će korisnici biti odjavljeni. Upravo to i trebate napraviti nakon hakerskog napada (lekcija 7.5). Nove vrijednosti dobivate na adresi
https://api.wordpress.org/secret-key/1.1/salt/. - $table_prefix: prefiks svih naziva tablica, obično
wp_. Tako više instalacija može dijeliti jednu bazu podataka. Odabir drugačijeg prefiksa nije prava zaštita, ali ni ne šteti. - WP_DEBUG: uključuje prikaz poruka o pogreškama. Na stranici koja je u produkciji ovo je isključeno (
false). Kako sigurno pregledati pogreške bez da ih prikažete posjetiteljima, pročitajte u lekciji 5.4. - Postavke koje sami dodate (na primjer
DISALLOW_FILE_EDITu lekciji 7.4 iliDISABLE_WP_CRONu lekciji 6.3) trebaju doći iznad retka "stop met bewerken" (prestanite uređivati).
wp-config.php sadrži lozinku Vaše baze podataka. Nikada ne dijelite tu datoteku, ne stavljajte njezinu kopiju u web mapu (poput wp-config.php.bak ili wp-config.old: to svatko može preuzeti jer ih web poslužitelj ne izvršava kao PHP) i postavite stroga prava pristupa na tu datoteku (lekcija 7.4).
.htaccess
Kod LiteSpeeda i Apachea u web mapi se nalazi datoteka .htaccess s pravilima za web poslužitelj. Počinje točkom, pa je u mnogim programima skrivena. WordPress u nju stavlja ovaj blok radi urednih adresa (permalink poveznica):
# 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 WordPressJednostavno rečeno: "ako to nije postojeća datoteka (!-f) niti postojeća mapa (!-d), proslijedi to datoteci index.php." To je korak 2 iz lekcije 1.2. Dodaci (za predmemoriju, sigurnost) često dodaju vlastite blokove. Vlastita pravila postavite izvan blokova WordPressa i dodataka, jer se ti blokovi ponekad ponovno zapisuju. Kod nginxa .htaccess ne postoji; to tamo hosting provider rješava u konfiguraciji poslužitelja.
Baza podataka: koja tablica za što
Pomoću phpMyAdmina (u DirectAdminu pod Databasebeheer, upravljanje bazama podataka) pregledavate bazu podataka. Obična instalacija ima dvanaest tablica; dodaci često dodaju još. Najvažnije su:
| Tablica | Što se u njoj nalazi |
|---|---|
wp_posts | Objave, stranice, revizije, stavke izbornika, a kod blok tema i predlošci i obrasci (patterns). I slike su ovdje "objava" tipa attachment |
wp_postmeta | Dodatni podaci uz objave, poput cijene proizvoda ili postavki alata za izradu stranica |
wp_options | Postavke web-stranice i dodataka. Ovdje se nalaze siteurl i home (lekcija 3.1), naziv aktivne teme i popis aktivnih dodataka |
wp_users i wp_usermeta | Korisnici, njihove (šifrirane) lozinke i njihova uloga |
wp_terms, wp_term_taxonomy, wp_term_relationships | Kategorije, oznake (tagovi) i koje objave kojima pripadaju |
wp_comments i wp_commentmeta | Komentari |
Dvije korisne činjenice. Prvo: u wp_options nalaze se siteurl i home. Ako su one pogrešne (na primjer nakon preseljenja), Vaša web-stranica šalje sve posjetitelje na pogrešnu adresu, a Vi ne možete pristupiti administraciji. Tada ih možete ispraviti u phpMyAdminu ili pravilima u wp-config.php (lekcija 3.1). Drugo: mnoge postavke spremaju se serijalizirano, u PHP formatu u kojem se broji duljina svakog teksta. Ako takvu vrijednost ručno izmijenite, ili na bazu podataka primijenite jednostavno "traži i zamijeni", ta duljina više neće biti točna i postavka će se pokvariti (lekcija 3.2).
Pregledavanje u phpMyAdminu je sigurno. Izmjene radite samo ako znate što radite, i uvijek uz sigurnosnu kopiju.
U praksi: kako to izgleda u administratorskom sučelju
Kao primjer koristimo DirectAdmin. U cPanelu i Pleasku dijelovi se zovu File Manager i phpMyAdmin na isti način.
- Otvorite File Manager i idite na
domains/example.com/public_html. Uključite prikaz skrivenih datoteka kako biste vidjeli.htaccess. - Kliknite na
wp-config.phpi odaberite pregled (ne uređivanje). PotražiteDB_NAMEi$table_prefix. - Otvorite phpMyAdmin, s lijeve strane odaberite bazu podataka s tim nazivom i pogledajte koje tablice postoje.
- Kliknite na tablicu
wp_options(s Vašim prefiksom) i pronađite retkesiteurlihome.
Sažetak
- Web-stranica na WordPressu čine datoteke plus baza podataka; sigurnosna kopija treba oboje.
wp-admin,wp-includesi pojedinačne datoteke jezgre pripadaju WordPressu;wp-contentje Vaš.- wp-config.php sadrži podatke baze podataka, ključeve i salt vrijednosti, prefiks tablica i postavke poput WP_DEBUG. Nikada ne spremajte njegovu kopiju u web mapu.
.htaccesssve što nije datoteka šalje na index.php; vlastita pravila postavite izvan blokova WordPressa.- U
wp_optionsnalaze se siteurl i home; serijalizirane podatke ne mijenjajte ručno.
Kviz
Zadatak
Zadatak D1.3: Istražite vlastitu instalaciju. Otvorite svoju web mapu u File Manageru ili putem FTP programa, a potom svoju bazu podataka u phpMyAdminu. Nemojte ništa raditi, samo gledajte. Označite što ste pronašli i popunite: prefiks tablica, broj tablica u bazi podataka, vrijednosti siteurl i home u wp_options, te mape u wp-content. Zapišite i postoje li datoteke u wp-content/mu-plugins i znate li odakle potječu. Nikada ne dijelite lozinku svoje baze podataka, čak ni u ovom obrascu.
Zadatak D1.3: Istražite vlastitu instalaciju
Ovaj zadatak rješavate sami; nitko ga ne provjerava. Označite što ste napravili i označite zadatak kao završen.
Prefiks završava podvlakom (na primjer wp_ ili neki nasumični kod). Obična instalacija ima 12 tablica, dodaci ih dodaju više. siteurl i home počinju s https://. Lozinku za bazu podataka iz wp-config.php nikada ne dijelite, ni ovdje.
Vaše kvačice i bilješke ostaju samo u ovom pregledniku; ne šaljemo ih nikamo. Ako ste prijavljeni, u Moji tečajevi čuvamo samo podatak da ste zadatak završili.
Dodatno čitanje
Ovi članci opisuju korake u administratorskim sučeljima tvrtke WebOké; u drugim sučeljima funkcioniraju na sličan način.
- DirectAdmin priručnik 11.1: Otvaranje File Manager: mape u Vašem paketu
- DirectAdmin priručnik 11.4: Prikaz i uređivanje skrivenih datoteka poput .htaccess
- DirectAdmin priručnik 12.3: Otvaranje i korištenje phpMyAdmina
- Koje je korisničko ime / lozinka / naziv baze podataka za MySQL?
- DirectAdmin priručnik 18.6: Greška pri uspostavljanju veze s bazom podataka
- wp-config.php (developer.wordpress.org, Engleski): https://developer.wordpress.org/advanced-administration/wordpress/wp-config/
