Moduuli 1 · 1.3
Tiedostot, wp-config ja tietokanta
Moduuli 1: Miten WordPress toimii · Lukuaika: 9 minuuttia
Oppimistavoite: Tämän oppitunnin jälkeen tunnistat WordPressin kansiot, wp-config.php-tiedoston asetukset ja tärkeimmät tietokantataulut, ja tiedät mistä löydät mitäkin.
Keskeiset käsitteet: wp-admin, wp-includes, wp-content (themes, plugins, uploads, mu-plugins), wp-config.php (DB_*, table_prefix, avaimet ja salat, WP_DEBUG), .htaccess, wp_options (siteurl, home), wp_posts, wp_users
Kaksi puoliskoa: tiedostot ja tietokanta
WordPress-sivusto koostuu aina kahdesta yhteenkuuluvasta osasta:
- Tiedostot verkkotunnuksesi webhotellikansiossa (DirectAdminista käytettäessä
domains/example.com/public_html): WordPressin koodi, teemasi, lisäosasi ja kaikki lataamasi tiedostot. - Tietokanta: kaikki tekstisi, sivusi, valikkosi, asetuksesi, käyttäjäsi ja kommenttisi.
Tämä ero on tärkeä varmuuskopioiden ja siirtojen yhteydessä. Varmuuskopiosta, jossa on vain tiedostot, puuttuvat kaikki tekstisi. Varmuuskopiosta, jossa on vain tietokanta, puuttuvat kaikki kuvasi. Tarvitset molemmat (oppitunti 8.1).
Kansiot
Avaa webhotellikansiosi File Managerissa tai FTP-ohjelmalla, niin näet suunnilleen tämän:
public_html/
├── wp-admin/ ohjausnäkymä (core)
├── wp-includes/ loput WordPressistä (core)
├── wp-content/ kaikki sinun omasi
│ ├── themes/ teemat
│ ├── plugins/ lisäosat
│ ├── uploads/ mediasi, vuoden ja kuukauden mukaan: uploads/2026/11/
│ ├── mu-plugins/ "must use"-lisäosat (jos niitä on)
│ ├── languages/ käännökset
│ └── upgrade/ väliaikainen kansio päivityksille
├── .htaccess webpalvelimen säännöt
├── index.php jokaisen sivupyynnön lähtöpiste
├── wp-config.php tämän asennuksen asetukset
├── wp-login.php kirjautumissivu
├── xmlrpc.php vanha liitäntä sovelluksille (oppitunti 7.3)
└── ... muut core:n wp-*.php-tiedostotNyrkkisääntö: wp-admin, wp-includes ja yksittäiset wp-*.php-tiedostot kuuluvat WordPressille. Ne korvataan jokaisessa päivityksessä. Älä koskaan lisää niihin mitään itse äläkä muokkaa niitä.
wp-content on sinun. WordPressin päivitys ei koske tätä kansiota (paitsi mukana tulevia oletusteemoja ja -lisäosia). Tänne tulevat teemasi, lisäosasi ja lataamasi tiedostot. Muutama asia, jotka kannattaa tietää:
- uploads kasvaa eniten. Jokaisen lataamasi kuvan WordPress tallentaa useana eri kokona (oppitunti 4.4). Sivustolla, jolla on vuosien ajan julkaistu uutisia, uploads-kansiossa voi olla gigatavuittain tiedostoja.
- mu-plugins (must use) ovat lisäosia, jotka ovat aina aktiivisia ja joita ei voi poistaa käytöstä ohjausnäkymästä. Osa webhotelleista ja lisäosista käyttää näitä. Myös murtautujat piilottavat sinne mielellään jotain (oppitunti 7.5). Jos et tunnista siellä olevaa tiedostoa, selvitä mistä se on peräisin.
- Poistettu lisäosa katoaa
plugins-kansiosta. Käytöstä poistettu lisäosa jää paikalleen, koodeineen päivineen (oppitunti 5.4).
wp-config.php: asetukset
wp-config.php on ensimmäinen asia, jonka WordPress lataa. Siinä ovat tiedot, joilla WordPress ottaa yhteyden tietokantaan, sekä muutama koko asennusta koskeva asetus. Lyhennetty versio:
define( 'DB_NAME', 'gebruiker_wp1' );
define( 'DB_USER', 'gebruiker_wp1' );
define( 'DB_PASSWORD', 'pitka-satunnainen-salasana' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );
define( 'AUTH_KEY', 'pitkä satunnainen teksti' );
define( 'SECURE_AUTH_KEY', 'pitkä satunnainen teksti' );
define( 'LOGGED_IN_KEY', 'pitkä satunnainen teksti' );
define( 'NONCE_KEY', 'pitkä satunnainen teksti' );
define( 'AUTH_SALT', 'pitkä satunnainen teksti' );
define( 'SECURE_AUTH_SALT', 'pitkä satunnainen teksti' );
define( 'LOGGED_IN_SALT', 'pitkä satunnainen teksti' );
define( 'NONCE_SALT', 'pitkä satunnainen teksti' );
$table_prefix = 'wp_';
define( 'WP_DEBUG', false );
/* Dat is alles, stop met bewerken! */
require_once ABSPATH . 'wp-settings.php';Mitä tämä tarkoittaa:
- DB_NAME, DB_USER, DB_PASSWORD, DB_HOST: mihin tietokantaan, millä käyttäjällä ja salasanalla WordPress ottaa yhteyden, ja millä palvelimella. Jos yksikin näistä on väärin, näet viestin "Error establishing a database connection". Tämä tapahtuu usein siirron jälkeen tai kun tietokannan salasana on vaihdettu.
- Avaimet ja salat (kahdeksan riviä, joissa KEY ja SALT): satunnaisia tekstejä, joilla WordPress allekirjoittaa kirjautumisevästeet. Ne tietävä voisi teoriassa luoda kelvollisen kirjautumisevästeen. Jos vaihdat ne, kaikki kirjautuvat ulos. Juuri näin toimit murron jälkeen (oppitunti 7.5). Uudet arvot saat osoitteesta
https://api.wordpress.org/secret-key/1.1/salt/. - $table_prefix: kaikkien taulujen nimien etuliite, yleensä
wp_. Näin useampi asennus voi jakaa saman tietokannan. Eri etuliitteen valitseminen ei ole todellinen tietoturvakeino, mutta ei myöskään haitallinen. - WP_DEBUG: ottaa virheilmoitukset käyttöön. Tuotantosivustolla tämä on pois päältä (
false). Kuinka tarkastelet virheitä turvallisesti ilman että ne näkyvät kävijöille, luet oppitunnilta 5.4. - Itse lisäämäsi asetukset (esimerkiksi
DISALLOW_FILE_EDIToppitunnilla 7.4 taiDISABLE_WP_CRONoppitunnilla 6.3) kuuluvat rivin "stop met bewerken" yläpuolelle.
wp-config.php sisältää tietokantasi salasanan. Älä koskaan jaa tiedostoa, älä laita siitä kopiota webhotellikansioon (kuten wp-config.php.bak tai wp-config.old: kuka tahansa voi ladata sen, koska webpalvelin ei suorita niitä PHP:nä) ja aseta sille tiukat tiedosto-oikeudet (oppitunti 7.4).
.htaccess
LiteSpeedissä ja Apachessa webhotellikansiossa on .htaccess-tiedosto, jossa on webpalvelimen säännöt. Se alkaa pisteellä, joten se on monissa ohjelmissa piilotettu. WordPress lisää siihen tämän lohkon siistejä osoitteita varten (permalinkit):
# 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 WordPressYksinkertaisesti sanottuna: "jos kyseessä ei ole olemassa oleva tiedosto (!-f) eikä olemassa oleva kansio (!-d), ohjaa pyyntö tiedostolle index.php." Tämä on oppitunnin 1.2 vaihe 2. Lisäosat (välimuisti, tietoturva) lisäävät usein omia lohkojaan. Laita omat sääntösi WordPressin ja lisäosien lohkojen ulkopuolelle, sillä nämä lohkot voidaan kirjoittaa uudelleen. Nginxissä .htaccess-tiedostoa ei ole; siellä webhotelli hoitaa tämän palvelimen asetuksissa.
Tietokanta: mikä taulu mihinkin
phpMyAdminilla (DirectAdministissa Databasebeheer-kohdassa) katsot tietokantaa. Tavallisessa asennuksessa on kaksitoista taulua; lisäosat lisäävät usein enemmän. Tärkeimmät:
| Taulu | Mitä siinä on |
|---|---|
wp_posts | Artikkelit, sivut, versiot, valikkokohteet ja lohkoteemoilla myös sivupohjat ja mallit. Myös kuvat ovat täällä attachment-tyyppisinä "artikkeleina" |
wp_postmeta | Artikkeleihin liittyvät lisätiedot, kuten tuotteen hinta tai sivueditorin asetukset |
wp_options | Sivuston ja lisäosien asetukset. Täällä ovat siteurl ja home (oppitunti 3.1), aktiivisen teeman nimi ja aktiivisten lisäosien lista |
wp_users ja wp_usermeta | Käyttäjät, heidän (salatut) salasanansa ja roolinsa |
wp_terms, wp_term_taxonomy, wp_term_relationships | Kategoriat, tagit ja mitkä artikkelit niihin kuuluvat |
wp_comments ja wp_commentmeta | Kommentit |
Kaksi hyödyllistä vinkkiä. Ensinnäkin: wp_options-taulussa ovat siteurl ja home. Jos ne ovat väärin (esimerkiksi siirron jälkeen), sivustosi ohjaa kaikki väärään osoitteeseen etkä pääse enää ohjausnäkymään. Silloin voit korjata ne phpMyAdminissa tai wp-config.php-tiedoston säännöillä (oppitunti 3.1). Toiseksi: monet asetukset tallennetaan serialisoituna, PHP:n muodossa, jossa jokaisen tekstin pituus lasketaan mukaan. Jos muokkaat tällaista arvoa käsin, tai teet tietokannalle yksinkertaisen "etsi ja korvaa"-toiminnon, pituus ei enää täsmää ja asetus hajoaa (oppitunti 3.2).
phpMyAdminin katselu on turvallista. Muokkaa vain, jos tiedät mitä teet, ja aina varmuuskopion kanssa.
Käytännössä: miltä tämä näyttää hallintapaneelissa
Esimerkkinä käytämme DirectAdministia. cPanelissa ja Pleskissä osat nimetään myös File Manager ja phpMyAdmin.
- Avaa File Manager ja siirry kansioon
domains/example.com/public_html. Ota piilotettujen tiedostojen näyttäminen käyttöön nähdäksesi.htaccess-tiedoston. - Klikkaa
wp-config.php-tiedostoa ja valitse tarkastelu (ei muokkaus). EtsiDB_NAMEja$table_prefix. - Avaa phpMyAdmin, valitse vasemmalta tuon nimen mukainen tietokanta ja katso, mitä tauluja siinä on.
- Klikkaa taulua
wp_options(omalla etuliitteelläsi) ja etsi rivitsiteurljahome.
Yhteenveto
- WordPress-sivusto on tiedostot plus tietokanta; varmuuskopiossa tarvitaan molemmat.
wp-admin,wp-includesja yksittäiset core-tiedostot kuuluvat WordPressille;wp-contenton sinun.- wp-config.php sisältää tietokannan tiedot, avaimet ja salat, taulujen etuliitteen ja asetukset kuten WP_DEBUG. Älä koskaan säilytä siitä kopiota webhotellikansiossa.
.htaccessohjaa kaiken, mikä ei ole tiedosto, tiedostolle index.php; omat sääntösi laitat WordPressin lohkojen ulkopuolelle.wp_options-taulussa ovat siteurl ja home; serialisoituja tietoja ei muokata käsin.
Tietovisa
Tehtävä
Tehtävä D1.3: Tutustu omaan asennukseesi. Avaa webhotellikansiosi File Managerissa tai FTP-ohjelmalla ja sen jälkeen tietokantasi phpMyAdminissa. Älä tee muuta kuin katso. Merkitse, mitä löysit, ja täytä: taulujen etuliite, taulujen määrä tietokannassa, siteurl- ja home-arvot taulusta wp_options, sekä wp-content-kansion sisältämät kansiot. Kirjoita myös, onko kansiossa wp-content/mu-plugins tiedostoja ja tiedätkö mistä ne ovat peräisin. Älä koskaan jaa tietokantasi salasanaa, ei edes tässä lomakkeessa.
Tehtävä D1.3: Tutustu omaan asennukseesi
Tämän tehtävän teet itse, kukaan ei tarkista sitä. Merkitse tekemäsi kohdat ja merkitse tehtävä tehdyksi.
Etuliite päättyy alaviivaan (esimerkiksi wp_ tai johonkin satunnaiseen koodiin). Tavallisessa asennuksessa on 12 taulua; lisäosat lisäävät niitä. siteurl ja home alkavat https://-osoitteella. Älä koskaan jaa wp-config.php-tiedoston tietokannan salasanaa, ei täälläkään.
Merkintäsi ja muistiinpanosi pysyvät vain tässä selaimessa, emme lähetä niitä minnekään. Jos olet kirjautunut sisään, tallennamme kohtaan Omat kurssit vain sen, että olet tehnyt tehtävän.
Lue lisää
Nämä artikkelit kuvaavat vaiheet WebOkén hallintapaneeleissa; muissa paneeleissa toiminta on vastaavaa.
- DirectAdmin-ohje 11.1: Tiedostonhallinnan (File Manager) avaaminen: paketin kansiot
- DirectAdmin-ohje 11.4: Piilotiedostojen, kuten .htaccess, näyttäminen ja muokkaaminen
- DirectAdmin-ohje 12.3: phpMyAdminin avaaminen ja käyttäminen
- Mikä on MySQL:n käyttäjätunnus, salasana ja tietokannan nimi?
- DirectAdmin-ohje 18.6: Error establishing a database connection -virhe
- wp-config.php (developer.wordpress.org, englanniksi): https://developer.wordpress.org/advanced-administration/wordpress/wp-config/
