Gå til innholdet

Cookie-innstillinger

Velg hvilke typer cookies du tillater. Du kan når som helst endre valget via Cookie-innstillinger nederst på hver side. Personvernerklæring

Nødvendige

Alltid på

Trengs for å logge inn, beholde handlekurven og huske valgene dine. Disse er alltid på.

Hvilke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: økten din og at du forblir innlogget
  • weboke_basket: handlekurven din
  • wkBtwIncl: visning av priser med eller uten mva.
  • wok_cookies: cookievalget ditt, 12 måneder

Måler hvilken annonse som fører til et besøk eller en bestilling, slik at vi ikke betaler for annonser som ikke gir noe.

Hvilke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), opptil 90 dager
  • OpenAI Ads, annonser i ChatGPT
  • wok_aff: hvilken partner som henviste deg til oss (partnerprogram), 60 dager

4,6

Land og språk

Hvert land har sin egen nettside, med priser og mva. for det landet.

Vis

Filer, wp-config og databasen

Modul 1: Hvordan WordPress fungerer · Lesetid: 9 minutter

Læringsmål: Etter denne leksjonen kjenner du igjen mappene i WordPress, innstillingene i wp-config.php og de viktigste databasetabellene, og vet du hva du finner hvor.

Nøkkelbegreper: wp-admin, wp-includes, wp-content (themes, plugins, uploads, mu-plugins), wp-config.php (DB_*, table_prefix, nøkler og salts, WP_DEBUG), .htaccess, wp_options (siteurl, home), wp_posts, wp_users

To halvdeler: filer og database

Et WordPress-nettsted består alltid av to deler som hører sammen:

  1. Filer i webmappen til domenet ditt (i DirectAdmin domains/example.com/public_html): koden til WordPress, temaene dine, utvidelsene dine og alt du laster opp.
  2. En database: alle tekstene, sidene, menyene, innstillingene, brukerne og kommentarene dine.

Dette skillet er viktig ved sikkerhetskopiering og flytting. En sikkerhetskopi med bare filene mangler alle tekstene dine. En sikkerhetskopi med bare databasen mangler alle bildene dine. Du trenger begge deler (leksjon 8.1).

Mappene

Åpne webmappen din i File Manager eller med et FTP-program, så ser du omtrent dette:

public_html/
├── wp-admin/          kontrollpanelet (core)
├── wp-includes/       resten av WordPress (core)
├── wp-content/        alt som er ditt
│   ├── themes/        temaene
│   ├── plugins/       utvidelsene
│   ├── uploads/       mediene dine, per år og måned: uploads/2026/11/
│   ├── mu-plugins/    «must use»-utvidelser (hvis de finnes)
│   ├── languages/     oversettelser
│   └── upgrade/       midlertidig mappe for oppdateringer
├── .htaccess          regler for webserveren
├── index.php          startpunktet for hver sideforespørsel
├── wp-config.php      innstillingene for denne installasjonen
├── wp-login.php       innloggingssiden
├── xmlrpc.php         en gammel kobling for apper (leksjon 7.3)
└── ...                andre wp-*.php-filer fra core

Tommelfingerregelen: wp-admin, wp-includes og de løse wp-*.php-filene tilhører WordPress. Disse blir overskrevet ved hver oppdatering. Legg aldri noe der selv, og endre ingenting.

wp-content er ditt. En oppdatering av WordPress rører ikke denne mappen (bortsett fra standardtemaene og -utvidelsene som følger med). Her ligger temaene, utvidelsene og opplastingene dine. Noen ting å vite:

  • uploads vokser raskest. Hvert bilde du laster opp, lagrer WordPress i flere formater (leksjon 4.4). Et nettsted med mange års nyheter kan ha gigabyte med opplastinger.
  • mu-plugins (must use) er utvidelser som alltid er aktive, og som du ikke kan slå av i kontrollpanelet. Noen webhotell og utvidelser bruker dem. Også inntrengere gjemmer gjerne noe der (leksjon 7.5). Kjenner du ikke igjen en fil der, finn ut hvor den kommer fra.
  • En slettet utvidelse forsvinner fra plugins. En deaktivert utvidelse blir liggende, med all koden sin (leksjon 5.4).

wp-config.php: innstillingene

wp-config.php er det første WordPress laster. Her ligger opplysningene WordPress bruker for å nå databasen, og noen innstillinger for hele installasjonen. En forkortet versjon:

define( 'DB_NAME', 'gebruiker_wp1' );
define( 'DB_USER', 'gebruiker_wp1' );
define( 'DB_PASSWORD', 'et-langt-tilfeldig-passord' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );

define( 'AUTH_KEY',         'lang tilfeldig tekst' );
define( 'SECURE_AUTH_KEY',  'lang tilfeldig tekst' );
define( 'LOGGED_IN_KEY',    'lang tilfeldig tekst' );
define( 'NONCE_KEY',        'lang tilfeldig tekst' );
define( 'AUTH_SALT',        'lang tilfeldig tekst' );
define( 'SECURE_AUTH_SALT', 'lang tilfeldig tekst' );
define( 'LOGGED_IN_SALT',   'lang tilfeldig tekst' );
define( 'NONCE_SALT',       'lang tilfeldig tekst' );

$table_prefix = 'wp_';

define( 'WP_DEBUG', false );

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

Hva det betyr:

  • DB_NAME, DB_USER, DB_PASSWORD, DB_HOST: hvilken database, bruker og passord WordPress kobler til, og på hvilken server. Stemmer en av disse ikke, ser du «Error establishing a database connection». Dette skjer ofte etter en flytting eller etter at et databasepassord er endret.
  • Nøklene og saltene (de åtte linjene med KEY og SALT): tilfeldige tekster som WordPress bruker til å signere innloggingsinformasjonskapslene med. Den som kjenner dem, kan i teorien lage en gyldig innloggingsinformasjonskapsel. Erstatter du dem, blir alle logget ut. Det er nettopp det du gjør etter et hackerangrep (leksjon 7.5). Nye verdier henter du fra https://api.wordpress.org/secret-key/1.1/salt/.
  • $table_prefix: prefikset foran alle tabellnavn, vanligvis wp_. Slik kan flere installasjoner dele én database. Å velge et annet prefiks er ikke reell sikkerhet, men heller ikke skadelig.
  • WP_DEBUG: slår på feilmeldinger. På et live nettsted står denne av (false). Hvordan du trygt ser feil uten å vise dem til besøkende, leser du i leksjon 5.4.
  • Innstillinger du selv legger til (for eksempel DISALLOW_FILE_EDIT i leksjon 7.4 eller DISABLE_WP_CRON i leksjon 6.3) hører hjemme over linjen «stopp redigeringen».

wp-config.php inneholder databasepassordet ditt. Del aldri filen, legg aldri en kopi av den i webmappen (som wp-config.php.bak eller wp-config.old: disse kan alle laste ned fordi webserveren ikke kjører dem som PHP), og gi den strenge filrettigheter (leksjon 7.4).

.htaccess

Hos LiteSpeed og Apache ligger det en .htaccess-fil i webmappen med regler for webserveren. Den begynner med et punktum, så den er skjult i mange programmer. WordPress setter inn denne blokken for pene adresser (permalenker):

# 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

Enkelt sagt: «er det ikke en eksisterende fil (!-f) og ikke en eksisterende mappe (!-d), send det da til index.php.» Det er steg 2 fra leksjon 1.2. Utvidelser (caching, sikkerhet) legger ofte til egne blokker. Sett dine egne regler utenfor blokkene til WordPress og utvidelsene, for disse blokkene blir noen ganger skrevet på nytt. Hos nginx finnes ikke .htaccess; der ordner webhotellet dette i serverkonfigurasjonen.

Databasen: hvilken tabell er til hva

Med phpMyAdmin (i DirectAdmin under Databasebehandling) ser du inn i databasen. En vanlig installasjon har tolv tabeller; utvidelser legger ofte til flere. De viktigste:

TabellHva som ligger i den
wp_postsInnlegg, sider, revisjoner, menyelementer, og ved blokktemaer også maler og mønstre. Også bilder er her et «innlegg» av typen attachment
wp_postmetaEkstra opplysninger til innlegg, som prisen på et produkt eller innstillinger fra en sidebygger
wp_optionsInnstillinger for nettstedet og for utvidelser. Her ligger siteurl og home (leksjon 3.1), navnet på det aktive temaet og listen over aktive utvidelser
wp_users og wp_usermetaBrukere, deres (krypterte) passord og rollen deres
wp_terms, wp_term_taxonomy, wp_term_relationshipsKategorier, emneknagger og hvilke innlegg som hører til hvor
wp_comments og wp_commentmetaKommentarer

To nyttige fakta. For det første: i wp_options ligger siteurl og home. Er disse feil (for eksempel etter en flytting), sender nettstedet alle til feil adresse, og du kommer ikke lenger inn i kontrollpanelet. Da kan du gjenopprette dem i phpMyAdmin eller med regler i wp-config.php (leksjon 3.1). For det andre: mange innstillinger lagres serialisert, en PHP-form der lengden på hver tekst telles med. Endrer du en slik verdi for hånd, eller kjører du et enkelt «søk og erstatt» på databasen, stemmer ikke lengre lengden, og innstillingen går i stykker (leksjon 3.2).

Å se i phpMyAdmin er trygt. Endringer gjør du bare hvis du vet hva du gjør, og alltid med en sikkerhetskopi.

I praksis: slik ser det ut i et panel

Som eksempel bruker vi DirectAdmin. I cPanel og Plesk heter delene File Manager og phpMyAdmin også slik.

  1. Åpne File Manager og gå til domains/example.com/public_html. Slå på visning av skjulte filer for å se .htaccess.
  2. Klikk på wp-config.php og velg visning (ikke redigering). Finn DB_NAME og $table_prefix.
  3. Åpne phpMyAdmin, velg til venstre databasen med det navnet, og se hvilke tabeller som finnes.
  4. Klikk på tabellen wp_options (med ditt prefiks) og finn radene siteurl og home.

Oppsummering

  • Et WordPress-nettsted er filer pluss database; en sikkerhetskopi trenger begge deler.
  • wp-admin, wp-includes og de løse core-filene tilhører WordPress; wp-content er ditt.
  • wp-config.php inneholder databaseopplysningene, nøklene og saltene, tabellprefikset og innstillinger som WP_DEBUG. Oppbevar aldri en kopi av den i webmappen.
  • .htaccess sender alt som ikke er en fil, til index.php; egne regler setter du utenfor blokkene til WordPress.
  • I wp_options ligger siteurl og home; serialiserte data endrer du ikke for hånd.

Quiz

1. Du vil gjøre en tilpasning som overlever en oppdatering av WordPress. Hvor hører den hjemme?



2. Etter en flytting ser du «Error establishing a database connection». Hvor ser du først?



3. Hva skjer når du erstatter nøklene og saltene i wp-config.php?



4. Hvorfor er en fil wp-config.php.bak i webmappen farlig?



5. I hvilken tabell finner du listen over aktive utvidelser?



Oppgave

Oppgave D1.3: Utforsk din egen installasjon. Åpne webmappen din i File Manager eller med et FTP-program, og deretter databasen din i phpMyAdmin. Ikke gjør noe annet enn å se. Kryss av for hva du har funnet, og fyll inn: tabellprefikset, antallet tabeller i databasen, verdiene for siteurl og home i wp_options, og mappene i wp-content. Skriv også ned om det ligger filer i wp-content/mu-plugins, og om du vet hvor de kommer fra. Del aldri databasepassordet ditt, heller ikke i dette skjemaet.

Oppgave D1.3: Utforsk din egen installasjon

Denne oppgaven gjør du selv; ingen kontrollerer den. Kryss av det du har gjort, og merk oppgaven som fullført.






Avkrysningene og notatene dine blir kun i denne nettleseren; vi sender dem ikke noe sted. Er du logget inn, lagrer vi kun i Mine kurs at du har gjort oppgaven.

Les mer

Disse artiklene beskriver stegene i panelene til WebOké; i andre paneler fungerer de på lignende måte.

Et øyeblikk …

Sett opp domenene dine

Ordne for hvert domene navnetjenerne, koblingen til hostingen din og hvem som blir innehaver.

Laster inn domenene dine…