Modulul 1 · 1.3
Fișiere, wp-config și baza de date
Modulul 1: Cum funcționează WordPress · Timp de citire: 9 minute
Obiectiv de învățare: După această lecție recunoașteți folderele WordPress, setările din wp-config.php și principalele tabele din baza de date, și știți unde găsiți ce.
Concepte-cheie: wp-admin, wp-includes, wp-content (themes, plugins, uploads, mu-plugins), wp-config.php (DB_*, table_prefix, chei și salts, WP_DEBUG), .htaccess, wp_options (siteurl, home), wp_posts, wp_users
Două jumătăți: fișiere și bază de date
O site WordPress constă întotdeauna din două părți care merg împreună:
- Fișiere în folderul web al domeniului dumneavoastră (la DirectAdmin
domains/example.com/public_html): codul WordPress, temele dumneavoastră, modulele (pluginurile) dumneavoastră și tot ce încărcați. - O bază de date: toate textele, paginile, meniurile, setările, utilizatorii și comentariile dumneavoastră.
Această distincție este importantă la copiile de siguranță și mutări. O copie de siguranță cu doar fișierele nu are textele dumneavoastră. O copie de siguranță cu doar baza de date nu are fotografiile dumneavoastră. Aveți nevoie de amândouă (lecția 8.1).
Folderele
Deschideți folderul web în File Manager sau cu un program FTP și veți vedea aproximativ așa:
public_html/
├── wp-admin/ panoul de administrare (core)
├── wp-includes/ restul WordPress (core)
├── wp-content/ tot ce este al dumneavoastră
│ ├── themes/ temele
│ ├── plugins/ modulele (pluginurile)
│ ├── uploads/ media dumneavoastră, pe an și lună: uploads/2026/11/
│ ├── mu-plugins/ module „must use” (dacă există)
│ ├── languages/ traduceri
│ └── upgrade/ folder temporar pentru actualizări
├── .htaccess reguli pentru serverul web
├── index.php punctul de pornire al fiecărei cereri de pagină
├── wp-config.php setările acestei instalări
├── wp-login.php pagina de autentificare
├── xmlrpc.php o conexiune veche pentru aplicații (lecția 7.3)
└── ... alte fișiere wp-*.php din coreRegula generală: wp-admin, wp-includes și fișierele individuale wp-*.php aparțin WordPress. Acestea sunt suprascrise la fiecare actualizare. Nu puneți niciodată nimic acolo și nu modificați nimic.
wp-content este al dumneavoastră. O actualizare WordPress lasă acest folder neatins (cu excepția temelor și modulelor standard care vin odată cu instalarea). Aici merg temele, modulele și fișierele dumneavoastră încărcate. Câteva lucruri de știut:
- uploads crește cel mai rapid. Fiecare fotografie pe care o încărcați este salvată de WordPress în mai multe formate (lecția 4.4). O site cu ani de știri poate avea gigabytes de fișiere încărcate.
- mu-plugins (must use) sunt module care sunt întotdeauna active și pe care nu le puteți dezactiva din panoul de control. Unii furnizori de găzduire și module le folosesc. Și intrușii preferă să ascundă ceva acolo (lecția 7.5). Dacă nu recunoașteți un fișier de acolo, aflați de unde provine.
- Un modul șters dispare din
plugins. Un modul dezactivat rămâne, cu tot codul său (lecția 5.4).
wp-config.php: setările
wp-config.php este primul lucru pe care îl încarcă WordPress. Acolo se află datele cu care WordPress accesează baza de date, și câteva setări pentru întreaga instalare. O versiune scurtată:
define( 'DB_NAME', 'gebruiker_wp1' );
define( 'DB_USER', 'gebruiker_wp1' );
define( 'DB_PASSWORD', 'o-parola-lunga-si-aleatorie' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );
define( 'AUTH_KEY', 'text lung și aleatoriu' );
define( 'SECURE_AUTH_KEY', 'text lung și aleatoriu' );
define( 'LOGGED_IN_KEY', 'text lung și aleatoriu' );
define( 'NONCE_KEY', 'text lung și aleatoriu' );
define( 'AUTH_SALT', 'text lung și aleatoriu' );
define( 'SECURE_AUTH_SALT', 'text lung și aleatoriu' );
define( 'LOGGED_IN_SALT', 'text lung și aleatoriu' );
define( 'NONCE_SALT', 'text lung și aleatoriu' );
$table_prefix = 'wp_';
define( 'WP_DEBUG', false );
/* Dat is alles, stop met bewerken! */
require_once ABSPATH . 'wp-settings.php';Ce înseamnă:
- DB_NAME, DB_USER, DB_PASSWORD, DB_HOST: cu ce bază de date, utilizator și parolă se conectează WordPress, și pe ce server. Dacă vreunul dintre acestea nu este corect, vedeți mesajul „Error establishing a database connection”. Acest lucru se întâmplă adesea după o mutare sau după modificarea parolei bazei de date.
- Cheile și salts (cele opt linii cu KEY și SALT): texte aleatorii cu care WordPress semnează cookie-urile de autentificare. Cine le cunoaște poate, în teorie, crea un cookie de autentificare valid. Dacă le înlocuiți, toată lumea este deconectată. Exact asta faceți după o compromitere (lecția 7.5). Valori noi obțineți de la
https://api.wordpress.org/secret-key/1.1/salt/. - $table_prefix: prefixul tuturor numelor de tabele, de obicei
wp_. Astfel, mai multe instalări pot partaja o bază de date. Alegerea unui alt prefix nu este o măsură reală de securitate, dar nici nu dăunează. - WP_DEBUG: activează mesajele de eroare. Pe o site live, acest lucru este dezactivat (
false). Cum vizualizați erorile în siguranță, fără a le arăta vizitatorilor, citiți în lecția 5.4. - Setările pe care le adăugați dumneavoastră (de exemplu
DISALLOW_FILE_EDITîn lecția 7.4 sauDISABLE_WP_CRONîn lecția 6.3) trebuie să fie deasupra liniei „stop met bewerken”.
wp-config.php conține parola bazei de date. Nu distribuiți niciodată acest fișier, nu plasați o copie a lui în folderul web (precum wp-config.php.bak sau wp-config.old: oricine poate descărca acest fișier deoarece serverul web nu îl execută ca PHP) și acordați-i permisiuni de fișier stricte (lecția 7.4).
.htaccess
La LiteSpeed și Apache, în folderul web se află un fișier .htaccess cu reguli pentru serverul web. Începe cu un punct, deci este ascuns în multe programe. WordPress adaugă acest bloc pentru adrese ordonate (permalinks):
# 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 WordPressMai simplu spus: „dacă nu este un fișier existent (!-f) și nu este un folder existent (!-d), trimiteți-l la index.php.” Acesta este pasul 2 din lecția 1.2. Modulele (de cache, de securitate) adaugă adesea propriile blocuri. Plasați regulile dumneavoastră în afara blocurilor WordPress și ale modulelor, deoarece aceste blocuri sunt uneori rescrise. La nginx, .htaccess nu există; acolo furnizorul de găzduire reglementează acest lucru în configurația serverului.
Baza de date: ce tabel pentru ce
Cu phpMyAdmin (în DirectAdmin sub Databasebeheer) vă uitați în baza de date. O instalare obișnuită are douăsprezece tabele; modulele adaugă adesea mai multe. Cele mai importante:
| Tabel | Ce conține |
|---|---|
wp_posts | Articole, pagini, revizii, elemente de meniu, și la temele cu blocuri și șabloane și modele. De asemenea, imaginile sunt aici un „articol” de tipul attachment |
wp_postmeta | Date suplimentare la articole, precum prețul unui produs sau setările unui constructor de pagini |
wp_options | Setările site-ului și ale modulelor. Aici se află siteurl și home (lecția 3.1), numele temei active și lista modulelor active |
wp_users și wp_usermeta | Utilizatori, parolele lor (criptate) și rolul lor |
wp_terms, wp_term_taxonomy, wp_term_relationships | Categorii, etichete și ce articole aparțin de ele |
wp_comments și wp_commentmeta | Comentarii |
Două lucruri utile de știut. În primul rând: în wp_options se află siteurl și home. Dacă acestea sunt greșite (de exemplu după o mutare), site-ul dumneavoastră trimite pe toată lumea la adresa greșită și nu mai puteți accesa panoul de control. Atunci le puteți repara în phpMyAdmin sau cu reguli în wp-config.php (lecția 3.1). În al doilea rând: multe setări sunt stocate serializat, o formă PHP în care lungimea fiecărui text este numărată. Dacă modificați manual o astfel de valoare, sau rulați un simplu „caută și înlocuiește” pe baza de date, acea lungime nu mai este corectă și setarea se defectează (lecția 3.2).
Vizualizarea în phpMyAdmin este sigură. Modificările le faceți doar dacă știți ce faceți, și întotdeauna cu o copie de siguranță.
În practică: cum arată într-un panou
Ca exemplu folosim DirectAdmin. În cPanel și Plesk, componentele se numesc la fel File Manager și phpMyAdmin.
- Deschideți File Manager și mergeți la
domains/example.com/public_html. Activați afișarea fișierelor ascunse pentru a vedea.htaccess. - Faceți clic pe
wp-config.phpși alegeți vizualizare (nu editare). CăutațiDB_NAMEși$table_prefix. - Deschideți phpMyAdmin, alegeți în stânga baza de date cu acel nume și verificați ce tabele există.
- Faceți clic pe tabelul
wp_options(cu prefixul dumneavoastră) și căutați rândurilesiteurlșihome.
Rezumat
- O site WordPress înseamnă fișiere plus bază de date; o copie de siguranță are nevoie de ambele.
wp-admin,wp-includesși fișierele individuale din core aparțin WordPress;wp-contenteste al dumneavoastră.- wp-config.php conține datele bazei de date, cheile și salts, prefixul tabelelor și setări precum WP_DEBUG. Nu păstrați niciodată o copie a lui în folderul web.
.htaccesstrimite tot ce nu este un fișier către index.php; regulile proprii le plasați în afara blocurilor WordPress.- În
wp_optionsse află siteurl și home; datele serializate nu le modificați manual.
Test (quiz)
Exercițiu
Exercițiu D1.3: Explorați-vă propria instalare. Deschideți folderul web în File Manager sau cu un program FTP și apoi baza de date în phpMyAdmin. Nu faceți nimic altceva decât să vă uitați. Bifați ce ați găsit și completați: prefixul tabelelor, numărul de tabele din baza de date, valorile siteurl și home din wp_options, și folderele din wp-content. Notați de asemenea dacă există fișiere în wp-content/mu-plugins și dacă știți de unde provin. Nu distribuiți niciodată parola bazei de date, nici în acest formular.
Exercițiul D1.3: Explorați-vă propria instalare
Acest exercițiu îl faceți singur; nimeni nu îl verifică. Bifați ce ați făcut și marcați exercițiul ca finalizat.
Prefixul se termină cu o liniuță de subliniere (de exemplu wp_ sau un cod aleatoriu). O instalare obișnuită are 12 tabele; modulele (pluginurile) adaugă mai multe. siteurl și home încep cu https://. Nu dezvăluiți niciodată parola bazei de date din wp-config.php, nici aici.
Bifele și notițele dumneavoastră rămân doar în acest browser; nu le trimitem nicăieri. Dacă sunteți autentificat, păstrăm în Cursurile mele doar faptul că ați finalizat exercițiul.
Lecturi suplimentare
Aceste articole descriu pașii în panourile WebOké; în alte panouri funcționează similar.
- Manual DirectAdmin 11.1: Deschiderea File Manager: directoarele din pachetul dumneavoastră
- Manual DirectAdmin 11.4: Afișarea și editarea fișierelor ascunse precum .htaccess
- Manual DirectAdmin 12.3: Deschiderea și utilizarea phpMyAdmin
- Care sunt numele de utilizator, parola și numele bazei de date MySQL?
- Manual DirectAdmin 18.6: „Error establishing a database connection”
- wp-config.php (developer.wordpress.org, Engleză): https://developer.wordpress.org/advanced-administration/wordpress/wp-config/
