Модул 1 · 1.3
Файлове, wp-config и базата данни
Модул 1: Как работи WordPress · Време за четене: 9 минути
Учебна цел: След този урок ще разпознавате папките на WordPress, настройките в wp-config.php и най-важните таблици в базата данни, и ще знаете какво къде да намерите.
Ключови понятия: wp-admin, wp-includes, wp-content (themes, plugins, uploads, mu-plugins), wp-config.php (DB_*, table_prefix, ключове и salts, WP_DEBUG), .htaccess, wp_options (siteurl, home), wp_posts, wp_users
Две половини: файлове и база данни
Всеки уебсайт на WordPress се състои от две части, които вървят заедно:
- Файлове в уеб папката на Вашия домейн (при DirectAdmin
domains/example.com/public_html): кодът на WordPress, Вашите теми, разширения и всичко, което качвате. - База данни: всички Ваши текстове, страници, менюта, настройки, потребители и коментари.
Това разграничение е важно при резервни копия и премествания. Резервно копие само на файловете липсва всичките Ви текстове. Резервно копие само на базата данни липсва всичките Ви снимки. Нужни са Ви и двете (урок 8.1).
Папките
Отворете уеб папката си в File Manager или с FTP програма и ще видите приблизително следното:
public_html/
├── wp-admin/ администраторският екран (ядрото)
├── wp-includes/ останалата част от WordPress (ядрото)
├── wp-content/ всичко, което е Ваше
│ ├── themes/ темите
│ ├── plugins/ разширенията
│ ├── uploads/ Вашите медийни файлове, по година и месец: uploads/2026/11/
│ ├── mu-plugins/ "must use" разширения (ако има такива)
│ ├── languages/ преводи
│ └── upgrade/ временна папка за обновявания
├── .htaccess правила за уеб сървъра
├── index.php началната точка на всяка заявка за страница
├── wp-config.php настройките на тази инсталация
├── wp-login.php страницата за вход
├── xmlrpc.php стара връзка за приложения (урок 7.3)
└── ... други wp-*.php файлове от ядротоОсновното правило: wp-admin, wp-includes и отделните wp-*.php файлове принадлежат на WordPress. Те се презаписват при всяко обновяване. Никога не поставяйте нищо там и не ги променяйте.
wp-content е Ваша папка. Обновяване на WordPress не докосва тази папка (с изключение на стандартните теми и разширения, които идват с нея). Тук отиват Вашите теми, разширения и качени файлове. Няколко неща, които трябва да знаете:
- uploads расте най-бързо. Всяка снимка, която качвате, WordPress съхранява в множество формати (урок 4.4). Сайт с новини от години може да има гигабайти качени файлове.
- mu-plugins (must use) са разширения, които винаги са активни и не могат да бъдат изключени от Таблото. Някои хостинг доставчици и разширения ги използват. Също и нарушителите на сигурността обичат да скрият нещо там (урок 7.5). Ако не разпознавате файл там, разберете откъде идва.
- Изтрито разширение изчезва от
plugins. Изключено разширение остава, с целия си код (урок 5.4).
wp-config.php: настройките
wp-config.php е първото нещо, което WordPress зарежда. В него се съдържат данните, с които WordPress достига базата данни, както и няколко настройки за цялата инсталация. Съкратена версия:
define( 'DB_NAME', 'gebruiker_wp1' );
define( 'DB_USER', 'gebruiker_wp1' );
define( 'DB_PASSWORD', 'dalga-sluchaina-parola' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );
define( 'AUTH_KEY', 'дълъг произволен текст' );
define( 'SECURE_AUTH_KEY', 'дълъг произволен текст' );
define( 'LOGGED_IN_KEY', 'дълъг произволен текст' );
define( 'NONCE_KEY', 'дълъг произволен текст' );
define( 'AUTH_SALT', 'дълъг произволен текст' );
define( 'SECURE_AUTH_SALT', 'дълъг произволен текст' );
define( 'LOGGED_IN_SALT', 'дълъг произволен текст' );
define( 'NONCE_SALT', 'дълъг произволен текст' );
$table_prefix = 'wp_';
define( 'WP_DEBUG', false );
/* Dat is alles, stop met bewerken! */
require_once ABSPATH . 'wp-settings.php';Какво означава това:
- DB_NAME, DB_USER, DB_PASSWORD, DB_HOST: с коя база данни, потребител и парола се свързва WordPress, и на кой сървър. Ако нещо от това не е вярно, ще видите "Error establishing a database connection". Това се случва често след преместване или след смяна на паролата за базата данни.
- Ключовете и salts (осемте реда с KEY и SALT): случайни текстове, с които WordPress подписва бисквитките за вход. Който ги знае, теоретично може да създаде валидна бисквитка за вход. Ако ги замените, всички потребители ще бъдат излезли от профила си. Точно това правите след хакване (урок 7.5). Нови стойности можете да получите от
https://api.wordpress.org/secret-key/1.1/salt/. - $table_prefix: представката на всички имена на таблици, обикновено
wp_. Така няколко инсталации могат да споделят една база данни. Избирането на друга представка не е истинска защита, но и не е вредно. - WP_DEBUG: включва съобщенията за грешки. На работещ сайт това е изключено (
false). Как да разглеждате грешки безопасно, без да ги показвате на посетителите, прочетете в урок 5.4. - Настройки, които добавяте сами (например
DISALLOW_FILE_EDITв урок 7.4 илиDISABLE_WP_CRONв урок 6.3), трябва да бъдат над реда "stop met bewerken" (спрете редактирането).
wp-config.php съдържа паролата за Вашата база данни. Никога не споделяйте файла, не поставяйте негово копие в уеб папката (като wp-config.php.bak или wp-config.old: тях всеки може да изтегли, защото уеб сървърът не ги изпълнява като PHP) и задайте строги права за достъп до файла (урок 7.4).
.htaccess
При LiteSpeed и Apache в уеб папката има файл .htaccess с правила за уеб сървъра. Той започва с точка, затова в много програми е скрит. WordPress поставя там следния блок за изрядни адреси (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 WordPressКазано по-просто: "ако не е съществуващ файл (!-f) и не е съществуваща папка (!-d), пренасочи заявката към index.php." Това е стъпка 2 от урок 1.2. Разширенията (кеширане, сигурност) често добавят собствени блокове. Поставяйте собствените си правила извън блоковете на WordPress и разширенията, защото тези блокове понякога се пренаписват. При nginx .htaccess не съществува; там хостинг доставчикът управлява това в конфигурацията на сървъра.
Базата данни: коя таблица за какво
С phpMyAdmin (в DirectAdmin под Databasebeheer) разглеждате базата данни. Обикновена инсталация има дванадесет таблици; разширенията често добавят още. Най-важните:
| Таблица | Какво се съдържа в нея |
|---|---|
wp_posts | Публикации, страници, ревизии, елементи на менюто, а при блок теми също шаблони и образци. Също и изображенията тук са "публикация" от тип attachment |
wp_postmeta | Допълнителни данни към публикациите, като цената на продукт или настройки на конструктор на страници |
wp_options | Настройки на сайта и на разширенията. Тук се съдържат siteurl и home (урок 3.1), името на активната тема и списъкът с активни разширения |
wp_users и wp_usermeta | Потребители, техните (криптирани) пароли и роля |
wp_terms, wp_term_taxonomy, wp_term_relationships | Категории, тагове и кои публикации принадлежат към тях |
wp_comments и wp_commentmeta | Коментари |
Два полезни факта. Първо: в wp_options се съдържат siteurl и home. Ако те са неправилни (например след преместване), Вашият сайт изпраща всички на грешния адрес и Вие вече не можете да влезете в администрацията. Тогава можете да ги възстановите в phpMyAdmin или с редове в wp-config.php (урок 3.1). Второ: много настройки се съхраняват сериализирани, формат на PHP, при който дължината на всеки текст се брои. Ако промените такава стойност ръчно или пуснете просто "търсене и замяна" върху базата данни, тази дължина вече не отговаря и настройката се поврежда (урок 3.2).
Разглеждането в phpMyAdmin е безопасно. Промените правете само ако знаете какво правите, и винаги с резервно копие.
На практика: ето как изглежда в един панел
Като пример използваме DirectAdmin. В cPanel и Plesk частите се наричат File Manager и phpMyAdmin по същия начин.
- Отворете File Manager и отидете на
domains/example.com/public_html. Включете показването на скрити файлове, за да видите.htaccess. - Кликнете върху
wp-config.phpи изберете преглед (не редактиране). НамеретеDB_NAMEи$table_prefix. - Отворете phpMyAdmin, изберете отляво базата данни с това име и вижте какви таблици има.
- Кликнете върху таблицата
wp_options(с Вашата представка) и намерете редоветеsiteurlиhome.
Обобщение
- Уебсайт на WordPress е файлове плюс база данни; резервното копие се нуждае и от двете.
wp-admin,wp-includesи отделните файлове на ядрото принадлежат на WordPress;wp-contentе Ваша.- wp-config.php съдържа данните за базата данни, ключовете и salts, представката на таблиците и настройки като WP_DEBUG. Никога не пазете копие от него в уеб папката.
.htaccessпренасочва всичко, което не е файл, към index.php; собствените си правила поставяте извън блоковете на WordPress.- В
wp_optionsсе съдържат siteurl и home; сериализирани данни не променяте ръчно.
Тест (quiz)
Задача
Задача D1.3: Разгледайте собствената си инсталация. Отворете уеб папката си в File Manager или с FTP програма, а след това базата си данни в phpMyAdmin. Не правете нищо друго, освен да гледате. Отбележете какво сте намерили и попълнете: представката на таблиците, броя таблици в базата данни, стойностите на siteurl и home в wp_options, и папките в wp-content. Запишете също дали в wp-content/mu-plugins има файлове и дали знаете откъде идват. Никога не споделяйте паролата си за базата данни, дори и в този формуляр.
Задача D1.3: Разгледайте собствената си инсталация
Тази задача изпълнявате сами; никой не я проверява. Отбележете какво сте направили и маркирайте задачата като изпълнена.
Представката завършва с долна черта (например wp_ или произволен код). Обикновена инсталация има 12 таблици; разширенията добавят още. siteurl и home започват с https://. Никога не споделяйте паролата за базата данни от wp-config.php, дори и тук.
Вашите отметки и бележки остават само в този браузър; не ги изпращаме никъде. Ако сте влезли, в Моите курсове запазваме само че сте изпълнили задачата.
Допълнително четене
Тези статии описват стъпките в панелите на WebOké; в други панели работят по подобен начин.
- Ръководство за DirectAdmin 11.1: Отваряне на File Manager: директориите във Вашия пакет
- Ръководство за DirectAdmin 11.4: Показване и редактиране на скрити файлове като .htaccess
- Ръководство за DirectAdmin 12.3: Отваряне и използване на phpMyAdmin
- Какви са потребителското име, паролата и името на базата данни за MySQL?
- Ръководство за DirectAdmin 18.6: Error establishing a database connection
- wp-config.php (developer.wordpress.org, на английски): https://developer.wordpress.org/advanced-administration/wordpress/wp-config/
