WordPress-sivuston sydän ei ole teema, lisäosa tai edes tietokanta – vaan tiedosto nimeltä wp-config.php. Tämä pieni, mutta kriittinen tiedosto määrittää, miten koko sivusto toimii. Se hallitsee yhteyden tietokantaan, asettaa turvallisuuteen liittyvät salaisuudet, ja jopa vaikuttaa suorituskykyyn. Jos wp-config.php katoaa, vahingoittuu tai joutuu vääriin käsiin, koko sivusto on vaarassa.
Mikä wp-config.php oikeasti tekee
Kun WordPress käynnistyy, se etsii juurihakemistosta wp-config.php-tiedoston.
Tämä tiedosto kertoo järjestelmälle kaiken olennaisen:
-
Missä tietokanta sijaitsee
-
Mitä käyttäjätunnusta ja salasanaa käytetään yhteyteen
-
Minkä niminen tietokanta on
-
Mitä tietoturva-avaimia ja suolauksia (salauksia) WordPress hyödyntää
-
Millaisia asetuksia käytetään esimerkiksi virheiden näyttämiseen, välimuistiin tai tiedostojen muokkaukseen
Toisin sanoen, ilman wp-config.php-tiedostoa WordPress ei tiedä, miten sen pitäisi käynnistyä.
Yhteys tietokantaan – sivuston elinehto
WordPress tallentaa kaiken sisältönsä tietokantaan: artikkelit, sivut, käyttäjät, asetukset, kommentit ja linkit.
wp-config.php määrittää, miten WordPress löytää tämän tietokannan ja miten se tunnistautuu sinne.
Jos tiedoston tietokantatiedot ovat väärät, sivusto näyttää vain virheilmoituksen:
“Error establishing a database connection.”
Tämä on yksi yleisimmistä virheistä, ja syy löytyy lähes aina wp-config.php-tiedoston virheellisistä tiedoista tai oikeuksista.
Tietoturva alkaa wp-configista
wp-config.php sisältää autentikointiavainparit ja suolaukset, jotka tekevät kirjautumisesta turvallista ja estävät evästeiden väärinkäytön.
Jos nämä arvot puuttuvat tai ovat liian yksinkertaisia, hakkeri voi helpommin murtautua käyttäjäistuntoihin.
Lisäksi tiedosto sisältää usein asetuksia, joilla voidaan estää:
-
Tiedostojen muokkaus WordPress-hallinnassa
-
Lisäosien asennus ilman valvontaa
-
Virheilmoitusten näkyminen julkisesti
Tämä tekee wp-config.php:sta paljon enemmän kuin pelkän yhteystiedoston – se on koko WordPressin suojauskerros.
Miksi sen sijainti on tärkeä
Oletuksena wp-config.php sijaitsee WordPressin juurihakemistossa, mutta se voidaan turvallisuuden parantamiseksi siirtää yhden tason ylemmäs.
WordPress osaa etsiä tiedoston automaattisesti myös ylemmästä hakemistosta, joten sen ei ole pakko olla julkisen www-hakemiston sisällä.
Tämä yksinkertainen toimenpide estää monia hyökkäyksiä, koska tiedosto ei enää ole selaimen kautta saavutettavissa.
Käyttöoikeudet ja suojaus
Koska wp-config.php sisältää arkaluontoisia tietoja, sen tiedosto-oikeudet (CHMOD) tulee rajoittaa tiukasti.
Suositeltava asetus on 400 tai 440, jolloin vain palvelin itse voi lukea tiedoston, mutta kukaan ei voi muokata sitä suoraan.
Lisäksi on tärkeää estää sen pääsy selaimella. Tämä onnistuu lisäämällä .htaccess
-tiedostoon esimerkiksi seuraavan kaltaisen säännön:<Files wp-config.php> deny from all </Files>
Tämä yksinkertainen rivi estää suurimman osan vahingoista, jos sivusto joutuu hyökkäyksen kohteeksi.
wp-config ja suorituskyky
Moni ylläpitäjä ei tiedä, että wp-config.php:lla voi myös parantaa suorituskykyä.
Siinä voidaan asettaa mm. välimuistin kesto, skriptien latausjärjestys ja virheiden lokitus.
Esimerkiksi kehitysympäristössä voidaan ottaa käyttöön debug-moodi, kun taas tuotantoympäristössä se kannattaa poistaa käytöstä, jotta virheilmoitukset eivät näy vierailijoille.
Lisäksi tiedostossa voidaan määrittää muistirajoja, cron-ajastusten käyttäytymistä ja jopa väliaikaistiedostojen sijainteja.
Miksi wp-config ei kuulu Git-repositorioon
Yksi vakavimmista virheistä, mitä kehittäjät tekevät, on wp-config.php-tiedoston lisääminen versionhallintaan.
Koska se sisältää tietokantasalasanat ja yksilölliset avaimet, sen joutuminen julkiseen GitHub-repoon voi johtaa täydelliseen tietomurtoon.
Sen sijaan kannattaa käyttää ympäristömuuttujia tai omaa konfiguraatiotiedostoa, joka luodaan automaattisesti palvelimen puolella. Näin salaisuudet eivät koskaan lähde projektin mukana.
wp-config on enemmän kuin asetus – se on ohjauskeskus
Moni ajattelee wp-config.php-tiedostoa teknisenä pakollisena elementtinä, mutta todellisuudessa se on WordPressin hallinnan ydin.
Sieltä käsin voi säätää, mitä WordPress saa tehdä ja mitä ei. Esimerkiksi:
-
Sallitaanko automaattiset päivitykset?
-
Näytetäänkö virheitä julkisesti?
-
Tallennetaanko revisioita ja kuinka monta?
-
Missä hakemistossa mediat säilytetään?
Näillä asetuksilla voi ohjata WordPressin käyttäytymistä tarkemmin kuin hallintapaneelin kautta.
Kun wp-config menee rikki
Jos wp-config.php vahingoittuu, koko WordPress lakkaa toimimasta.
Siksi siitä kannattaa aina olla varmuuskopio tallessa – mieluiten erillisessä, suojatussa paikassa. Ilman sitä tietokanta ei ole saavutettavissa, ja vaikka tiedot säilyisivät palvelimella, sivustoa ei voi käyttää ennen kuin asetukset palautetaan.
Yhteenveto
wp-config.php on paljon enemmän kuin tekninen yksityiskohta – se on WordPressin komentokeskus.
Se hallitsee tietokantayhteyttä, määrittää turvallisuusasetukset ja vaikuttaa suoraan suorituskykyyn.
Sen suojaaminen, varmuuskopiointi ja oikein konfigurointi ovat perusedellytyksiä mille tahansa vakavasti otettavalle WordPress-sivustolle.
Jos haluat turvallisen ja vakaan sivuston, aloita suojaamalla tärkein tiedosto – wp-config.php.