Przejdź do treści

Ustawienia plików cookie

Prosimy wybrać, na które rodzaje plików cookie Państwo zezwalają. Wybór można zmienić w dowolnym momencie w Ustawieniach plików cookie na dole każdej strony. Polityka prywatności

Niezbędne

Zawsze włączone

Potrzebne do logowania, zachowania koszyka i zapamiętania wyborów. Są zawsze włączone.

Jakie pliki cookie?
  • weboke_sessie, weboke_klant, weboke_remember: sesja i pozostanie zalogowanym
  • weboke_basket: koszyk
  • wkBtwIncl: wyświetlanie cen z VAT lub bez VAT
  • wok_cookies: wybór dotyczący plików cookie, 12 miesięcy

Mierzą, która reklama prowadzi do odwiedzin lub zamówienia, abyśmy nie płacili za reklamy, które nic nie dają.

Jakie pliki cookie?
  • Google Ads przez Google Tag Manager (_gcl_au, _gcl_aw), do 90 dni
  • OpenAI Ads, reklamy w ChatGPT
  • wok_aff: przez którego partnera trafili Państwo do nas (program partnerski), 60 dni

4,6

Kraj i język

Każdy kraj ma własną stronę z cenami i stawką VAT tego kraju.

Wyświetl

Pliki, wp-config i baza danych

Moduł 1: Jak działa WordPress · Czas czytania: 9 minut

Cel lekcji: Po tej lekcji rozpoznają Państwo foldery WordPressa, ustawienia w wp-config.php oraz najważniejsze tabele bazy danych i będą wiedzieć, co gdzie znaleźć.

Kluczowe pojęcia: wp-admin, wp-includes, wp-content (themes, plugins, uploads, mu-plugins), wp-config.php (DB_*, table_prefix, klucze i sole, WP_DEBUG), .htaccess, wp_options (siteurl, home), wp_posts, wp_users

Dwie połówki: pliki i baza danych

Strona WordPress zawsze składa się z dwóch powiązanych ze sobą części:

  1. Pliki w katalogu WWW Państwa domeny (w DirectAdmin domains/example.com/public_html): kod WordPressa, Państwa motywy, wtyczki i wszystko, co Państwo przesyłają.
  2. Baza danych: wszystkie Państwa teksty, strony, menu, ustawienia, użytkownicy i komentarze.

To rozróżnienie jest ważne przy kopiach zapasowych i migracjach. Kopia zapasowa zawierająca tylko pliki nie zawiera Państwa tekstów. Kopia zapasowa zawierająca tylko bazę danych nie zawiera Państwa zdjęć. Potrzebują Państwo obu (lekcja 8.1).

Foldery

Po otwarciu katalogu WWW w Menedżerze Plików lub za pomocą programu FTP zobaczą Państwo mniej więcej to:

public_html/
├── wp-admin/          panel administracyjny (core)
├── wp-includes/       reszta WordPressa (core)
├── wp-content/        wszystko, co należy do Państwa
│   ├── themes/        motywy
│   ├── plugins/       wtyczki
│   ├── uploads/       Państwa media, według roku i miesiąca: uploads/2026/11/
│   ├── mu-plugins/    wtyczki "must use" (jeśli istnieją)
│   ├── languages/     tłumaczenia
│   └── upgrade/       folder tymczasowy na potrzeby aktualizacji
├── .htaccess          reguły dla serwera WWW
├── index.php          punkt startowy każdego żądania strony
├── wp-config.php      ustawienia tej instalacji
├── wp-login.php       strona logowania
├── xmlrpc.php         stare połączenie dla aplikacji (lekcja 7.3)
└── ...                inne pliki wp-*.php z rdzenia (core)

Zasada ogólna: wp-admin, wp-includes oraz pojedyncze pliki wp-*.php należą do WordPressa. Są one nadpisywane przy każdej aktualizacji. Nigdy niczego tam samodzielnie nie umieszczają Państwo ani niczego nie zmieniają.

wp-content należy do Państwa. Aktualizacja WordPressa nie dotyka tego folderu (z wyjątkiem domyślnych motywów i wtyczek, które są z nią dostarczane). Tu trafiają Państwa motywy, wtyczki i przesłane pliki. Kilka rzeczy, o których warto wiedzieć:

  • uploads rośnie najszybciej. Każde przesłane zdjęcie WordPress zapisuje w kilku formatach (lekcja 4.4). Strona z wieloletnim archiwum wiadomości może mieć gigabajty przesłanych plików.
  • mu-plugins (must use) to wtyczki, które są zawsze aktywne i których nie można wyłączyć w panelu administracyjnym. Korzystają z nich niektórzy dostawcy hostingu i niektóre wtyczki. Włamywacze też chętnie coś tam ukrywają (lekcja 7.5). Jeśli nie znają Państwo jakiegoś pliku, proszę sprawdzić, skąd pochodzi.
  • Usunięta wtyczka znika z folderu plugins. Wyłączona wtyczka pozostaje, wraz z całym swoim kodem (lekcja 5.4).

wp-config.php: ustawienia

wp-config.php to pierwszy plik, który ładuje WordPress. Zawiera dane, dzięki którym WordPress łączy się z bazą danych, oraz kilka ustawień dla całej instalacji. Skrócona wersja:

define( 'DB_NAME', 'gebruiker_wp1' );
define( 'DB_USER', 'gebruiker_wp1' );
define( 'DB_PASSWORD', 'een-lang-willekeurig-wachtwoord' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );

define( 'AUTH_KEY',         'lange willekeurige tekst' );
define( 'SECURE_AUTH_KEY',  'lange willekeurige tekst' );
define( 'LOGGED_IN_KEY',    'lange willekeurige tekst' );
define( 'NONCE_KEY',        'lange willekeurige tekst' );
define( 'AUTH_SALT',        'lange willekeurige tekst' );
define( 'SECURE_AUTH_SALT', 'lange willekeurige tekst' );
define( 'LOGGED_IN_SALT',   'lange willekeurige tekst' );
define( 'NONCE_SALT',       'lange willekeurige tekst' );

$table_prefix = 'wp_';

define( 'WP_DEBUG', false );

/* Dat is alles, stop met bewerken! */
require_once ABSPATH . 'wp-settings.php';

Co to oznacza:

  • DB_NAME, DB_USER, DB_PASSWORD, DB_HOST: z jaką bazą danych, użytkownikiem i hasłem łączy się WordPress oraz na jakim serwerze. Jeśli któraś z tych wartości jest nieprawidłowa, zobaczą Państwo komunikat "Error establishing a database connection". Zdarza się to często po migracji lub po zmianie hasła do bazy danych.
  • Klucze i sole (osiem wierszy z KEY i SALT): losowe ciągi znaków, którymi WordPress podpisuje pliki cookie logowania. Kto je zna, teoretycznie może stworzyć ważny plik cookie logowania. Jeśli je Państwo zmienią, wszyscy zostaną wylogowani. Dokładnie to należy zrobić po włamaniu (lekcja 7.5). Nowe wartości można pobrać z adresu https://api.wordpress.org/secret-key/1.1/salt/.
  • $table_prefix: przedrostek wszystkich nazw tabel, zazwyczaj wp_. Dzięki temu kilka instalacji może korzystać z jednej bazy danych. Wybór innego przedrostka nie jest prawdziwym zabezpieczeniem, ale też nie szkodzi.
  • WP_DEBUG: włącza komunikaty o błędach. Na działającej stronie jest to wyłączone (false). Jak bezpiecznie przeglądać błędy bez pokazywania ich odwiedzającym, przeczytają Państwo w lekcji 5.4.
  • Ustawienia, które Państwo sami dodają (na przykład DISALLOW_FILE_EDIT z lekcji 7.4 lub DISABLE_WP_CRON z lekcji 6.3) należy umieścić powyżej wiersza "stop met bewerken" (koniec edycji).

Plik wp-config.php zawiera hasło do Państwa bazy danych. Nigdy nie udostępniają Państwo tego pliku, nie umieszczają jego kopii w katalogu WWW (jak wp-config.php.bak czy wp-config.old: taki plik może pobrać każdy, ponieważ serwer WWW nie wykonuje go jako PHP) i nadają mu ścisłe uprawnienia dostępu (lekcja 7.4).

.htaccess

Przy LiteSpeed i Apache w katalogu WWW znajduje się plik .htaccess z regułami dla serwera WWW. Jego nazwa zaczyna się od kropki, dlatego w wielu programach jest ukryty. WordPress umieszcza w nim ten blok, aby uzyskać czytelne adresy (linki bezpośrednie):

# 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

Mówiąc prościej: "jeśli to nie jest istniejący plik (!-f) ani istniejący folder (!-d), przekaż żądanie do index.php." To krok 2 z lekcji 1.2. Wtyczki (do cache, bezpieczeństwa) często dodają własne bloki. Własne reguły proszę umieszczać poza blokami WordPressa i wtyczek, ponieważ te bloki są czasami nadpisywane na nowo. Przy nginx plik .htaccess nie istnieje; tam odpowiednie reguły ustawia dostawca hostingu w konfiguracji serwera.

Baza danych: która tabela do czego

Za pomocą phpMyAdmin (w DirectAdmin w sekcji Zarządzanie bazami danych) można zajrzeć do bazy danych. Zwykła instalacja ma dwanaście tabel; wtyczki często dodają ich więcej. Najważniejsze z nich:

TabelaCo się w niej znajduje
wp_postsWpisy, strony, wersje robocze, elementy menu, a przy motywach blokowych także szablony i wzorce. Również obrazy są tu traktowane jako „wpis” typu załącznik (attachment)
wp_postmetaDodatkowe dane powiązane z wpisami, na przykład cena produktu lub ustawienia kreatora stron
wp_optionsUstawienia witryny i wtyczek. Znajdują się tu siteurl i home (lekcja 3.1), nazwa aktywnego motywu oraz lista aktywnych wtyczek
wp_users i wp_usermetaUżytkownicy, ich (zaszyfrowane) hasła oraz ich rola
wp_terms, wp_term_taxonomy, wp_term_relationshipsKategorie, tagi i powiązania z wpisami, do których należą
wp_comments i wp_commentmetaKomentarze

Dwie przydatne informacje. Po pierwsze: w wp_options znajdują się siteurl i home. Jeśli są one nieprawidłowe (na przykład po migracji), strona przekierowuje wszystkich na niewłaściwy adres i nie mogą Państwo wejść do panelu administracyjnego. Wtedy można je przywrócić w phpMyAdmin lub za pomocą reguł w wp-config.php (lekcja 3.1). Po drugie: wiele ustawień jest zapisywanych w formie zserializowanej, czyli w formacie PHP, w którym liczona jest długość każdego tekstu. Jeśli taką wartość zmienią Państwo ręcznie albo zastosują proste „znajdź i zamień” bezpośrednio na bazie danych, ta długość przestaje się zgadzać i ustawienie ulega uszkodzeniu (lekcja 3.2).

Przeglądanie danych w phpMyAdmin jest bezpieczne. Wprowadzanie zmian należy robić tylko wtedy, gdy wiedzą Państwo, co robią, i zawsze mając kopię zapasową.

W praktyce: jak to wygląda w panelu

Jako przykład używamy DirectAdmin. W cPanel i Plesk odpowiednie sekcje również nazywają się Menedżer Plików (File Manager) oraz phpMyAdmin.

  1. Proszę otworzyć Menedżer Plików i przejść do domains/example.com/public_html. Proszę włączyć wyświetlanie ukrytych plików, aby zobaczyć .htaccess.
  2. Proszę kliknąć na wp-config.php i wybrać podgląd (nie edycję). Proszę odnaleźć DB_NAME i $table_prefix.
  3. Proszę otworzyć phpMyAdmin, wybrać po lewej stronie bazę danych o tej nazwie i sprawdzić, jakie tabele się w niej znajdują.
  4. Proszę kliknąć na tabelę wp_options (z Państwa przedrostkiem) i odnaleźć wiersze siteurl i home.

Podsumowanie

  • Strona WordPress to pliki plus baza danych; kopia zapasowa potrzebuje obu elementów.
  • wp-admin, wp-includes i pojedyncze pliki rdzenia (core) należą do WordPressa; wp-content należy do Państwa.
  • wp-config.php zawiera dane bazy danych, klucze i sole, przedrostek tabel oraz ustawienia takie jak WP_DEBUG. Nigdy nie przechowują Państwo jego kopii w katalogu WWW.
  • .htaccess przekazuje wszystko, co nie jest plikiem, do index.php; własne reguły umieszcza się poza blokami WordPressa.
  • W wp_options znajdują się siteurl i home; zserializowanych danych nie zmienia się ręcznie.

Quiz

1. Chcą Państwo wprowadzić zmianę, która przetrwa aktualizację WordPressa. Gdzie powinna się znaleźć?



2. Po migracji widzą Państwo komunikat "Error establishing a database connection". Gdzie sprawdzą Państwo najpierw?



3. Co się stanie, jeśli zmienią Państwo klucze i sole w wp-config.php?



4. Dlaczego plik wp-config.php.bak w katalogu WWW jest niebezpieczny?



5. W której tabeli znajduje się lista aktywnych wtyczek?



Zadanie

Zadanie D1.3: Proszę zbadać własną instalację. Proszę otworzyć katalog WWW w Menedżerze Plików lub za pomocą programu FTP, a następnie swoją bazę danych w phpMyAdmin. Proszę jedynie przeglądać, niczego nie zmieniając. Proszę zaznaczyć, co Państwo znaleźli, i uzupełnić: przedrostek tabel, liczbę tabel w bazie danych, wartości siteurl i home w wp_options oraz foldery w wp-content. Proszę też zapisać, czy w wp-content/mu-plugins znajdują się pliki i czy wiedzą Państwo, skąd pochodzą. Nigdy nie udostępniają Państwo hasła do bazy danych, również w tym formularzu.

Zadanie D1.3: Proszę zbadać własną instalację

To zadanie wykonuje się samodzielnie, nikt go nie sprawdza. Prosimy zaznaczyć wykonane punkty i oznaczyć zadanie jako wykonane.






Zaznaczenia i notatki pozostają tylko w tej przeglądarce; nie są nigdzie wysyłane. Po zalogowaniu w Moje kursy zapisywana jest jedynie informacja, że zadanie zostało wykonane.

Dalsza lektura

Poniższe artykuły opisują kroki w panelach WebOké; w innych panelach działają one w podobny sposób.

Chwileczkę…

Konfiguracja domen

Dla każdej domeny można ustawić serwery nazw, powiązanie z hostingiem oraz to, kto zostanie właścicielem.

Wczytywanie domen…