Använd Storage Server för din webbplats: bilder, nedladdningar, arkiv
Utrymmet på en webbserver är dyrt, utrymmet på en Storage Server är det inte. Den här artikeln visar vad du kan flytta ut, vilket protokoll som fungerar från webbservern och hur filerna når besökarna på ett säkert sätt.
På en webbserver är diskutrymmet den dyraste varan. Det sitter på snabba NVMe-SSD:er som är byggda för databaser och PHP, och det blir märkbart dyrare för varje gigabyte. Samtidigt ligger där saker som aldrig behöver den farten: originalfoton, videofiler, nedladdningsarkiv, gamla säkerhetskopior.
En Storage Server kostar en bråkdel av det och tar över precis den lasten. Den här artikeln visar vad som är vettigt att flytta ut, vilket protokoll som fungerar från webbservern, hur filerna når besökarna på ett säkert sätt, och var gränserna går.
Vad som är värt att flytta ut, och vad som inte är det
| Hör hemma på lagringen | Stannar på webbservern |
|---|---|
| Original av bilder och videor | Miniatyrbilder och beskurna versioner |
| Nedladdningsarkiv, ISO-filer, PDF-samlingar | CSS, JavaScript, typsnitt |
| Rådata, exporter, loggarkiv | Databasen |
| Säkerhetskopior av webbplatsen | Allt som behövs vid varje sidvisning |
Skiljelinjen är enkel: det som läses sällan och överförs stort en gång hör hemma på lagringen. Det som laddas med vid varje sidvisning stannar där det är snabbt.
Vad en Storage Server är, och vad den inte är
En Storage Server är nätverkslagring med användarkonton. Du ansluter med inloggningsuppgifter och läser eller skriver filer. Den är ingen objektlagring med publika adresser och inget CDN.
I praktiken betyder det: du kan inte länka en bild på din sida direkt till lagringen, eftersom varje åtkomst är inloggad. Din webbserver hämtar filen och skickar den vidare, eller du skapar själv tidsbegränsade nedladdningslänkar. Hur det går snyggt till står längre ner.
Det låter som en begränsning, men har en fördel: ingen kommer åt dina filer genom att gissa adresser eller skicka vidare en länk. Åtkomsten går alltid via din applikation, och därmed via dina regler.
Mönstret som fungerar i praktiken
Tre steg, mer är det inte:
- Originalen ligger på lagringen. De laddas upp en gång och rörs sedan sällan.
- Härledda versioner skapas en gång och ligger på webbservern. Alltså miniatyrbilder, beskurna varianter, komprimerade versioner. De är små, och de behövs vid varje sidvisning.
- Nedladdningar går via din applikation. Ett litet skript kontrollerar behörigheten, hämtar filen från lagringen och levererar den.
Den som vänder på det och hämtar miniatyrbilder färska från lagringen vid varje visning bygger sig en långsam webbplats. Nätverkslatensen per fil summeras, och ett galleri med fyrtio bilder väntar fyrtio gånger.
Vilket protokoll för vilket fall
| Protokoll | Port | Bra för | Kräver |
|---|---|---|---|
| SMB / CIFS | 445 | Montering som katalog | root-rättigheter på servern |
| SSHFS | 23 | Montering som katalog, krypterat | root-rättigheter på servern |
| SFTP | 23 | Åtkomst ur PHP, skript, överföringar | utgående port 23 |
| WebDAV över HTTPS | 443 | Delat webbhotell, begränsade miljöer | bara HTTPS |
| rsync | 23 | Synkronisering av stora kataloger | utgående port 23 |
| BorgBackup | 23 | Säkerhetskopior med deduplicering | utgående port 23 |
Det viktigaste valet hänger inte på tycke och smak, utan på dina rättigheter: på en egen server monterar du lagringen som en katalog, och varje applikation kan använda den utan att veta något om den. Hur det går till står i Montera Storage Server som nätverksenhet.
På delat webbhotell har du inga root-rättigheter, montering faller därmed bort. Där går vägen via WebDAV eller SFTP ur applikationen, och WebDAV är oftast det minsta motståndet, eftersom port 443 praktiskt taget aldrig är blockerad.
Ställa in åtkomst ur PHP
För SFTP räcker ett rent PHP-bibliotek, det behövs ingen utökning på servern:
composer require phpseclib/phpseclib:~3.0
use phpseclib3\Net\SFTP;
$sftp = new SFTP('u123456.storage.kernelhost.net', 23);
if (!$sftp->login('u123456-sub1', $passwort)) {
throw new RuntimeException('Inloggningen misslyckades');
}
// Ladda upp filen
$sftp->put('/bilder/2026/original.jpg', '/tmp/upload.jpg', SFTP::SOURCE_LOCAL_FILE);
// Läsa filen
$inhalt = $sftp->get('/bilder/2026/original.jpg');
För WebDAV räcker till och med den inbyggda curl-utökningen:
$ch = curl_init('https://u123456.storage.kernelhost.net/bilder/2026/original.jpg');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERPWD => 'u123456-sub1:' . $passwort,
CURLOPT_TIMEOUT => 30,
]);
$inhalt = curl_exec($ch);
curl_close($ch);
Båda exemplen använder ett underkonto, inte huvudkontot. Varför står i nästa avsnitt.
Ett eget underkonto för varje ändamål
Varje Storage Server tillåter upp till 100 underkonton, och det i varje paket. Varje konto får:
- en egen startkatalog som det inte kommer ut ur,
- ett eget lösenord,
- egna protokollbehörigheter, alltså till exempel bara SFTP och inget Samba.
För en webbplats betyder det: ett underkonto för webbservern som bara får använda SFTP och bara ser /web, ett andra för säkerhetskopieringen som bara ser /backup. Blir webbservern en gång kapad kommer angriparen inte åt säkerhetskopiorna, eftersom det kontot inte känner till dem alls.
En gräns finns: ett underkonto får ingen egen utrymmeskvot. Det stannar i sin katalog, men kan där fylla hela paketets lagring. Vill du verkligen begränsa enskilda användare behöver du en applikation framför, som tar över det. Koppla Nextcloud till Storage Server visar precis den uppbyggnaden.
Leverera nedladdningar säkert
Det vanligaste felet är att släppa in inloggningsuppgifterna i webbläsaren, till exempel via en länk med användarnamn och lösenord. Rätt är att din server upprättar anslutningen och skickar filen vidare:
<?php
// Kontrollera behörigheten innan någonting annat händer
if (!nutzer_darf_datei($_GET['id'])) {
http_response_code(403);
exit;
}
$sftp = neue_verbindung();
$datei = $sftp->get(pfad_zu($_GET['id']));
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="dokument.pdf"');
header('Content-Length: ' . strlen($datei));
echo $datei;
Vid mycket stora filer läser du hellre i block i stället för att ladda allt i minnet, annars spränger du PHP:s minnesgräns. Sätt ob_end_flush() för det och leverera filen stycke för stycke.
Den som väntar många samtidiga nedladdningar bör dessutom tänka på att varje pågående nedladdning tar en PHP-process. Från en viss storleksordning hör något sådant bakom en egen server i stället för bakom delat webbhotell.
Säkerhetskopiera webbplatsen till lagringen
Det är den enklaste starten, och den ger något direkt. Med rsync överför du bara ändringarna:
rsync -az --delete -e "ssh -p 23" \
/var/www/example.com/ \
u123456-sub2@u123456.storage.kernelhost.net:/backup/web/
För säkerhetskopior med deduplicering och kryptering är BorgBackup det bättre valet, det finns nativt på lagringen. Till det kommer lagringens egna ögonblicksbilder som andra nivå: beroende på paket 10, 20, 30 eller 40 manuella ögonblicksbilder, plus lika många automatiska i daglig, veckovis och månadsvis rytm.
Skillnaden mot en säkerhetskopia på samma server är den avgörande: en raderad eller krypterad hårddisk tar en lokal säkerhetskopia med sig, en säkerhetskopia på separat lagring inte.
Innan du börjar: två reglage
I kundpanelen hittar du knappen ”Åtkomstinställningar” vid din Storage Server. Två saker måste stämma:
- Extern nåbarhet måste vara aktiverad, annars kommer din webbserver inte åt lagringen via internet.
- Det önskade protokollet måste vara frisläppt, alltså Samba för SMB, SSH för SFTP och rsync, WebDAV för HTTPS-vägen.
På nybeställda servrar är allt detta aktivt. Den som av säkerhetsskäl stänger av det han inte behöver bör tänka på att just det senare är den vanligaste orsaken till ”det fungerar inte längre”.
Vilket paket passar
| Paket | Utrymme | Underkonton | Ögonblicksbilder | Pris |
|---|---|---|---|---|
| Storage-1 | 1 TB | 100 | 10 plus 10 automatiska | 9,99 EUR |
| Storage-2 | 5 TB | 100 | 20 plus 20 automatiska | 29,99 EUR |
| Storage-3 | 10 TB | 100 | 30 plus 30 automatiska | 39,99 EUR |
| Storage-4 | 20 TB | 100 | 40 plus 40 automatiska | 69,99 EUR |
Alla Storage Server står i Tyskland, talar FTP, FTPS, SFTP, SCP, Samba, WebDAV och WebDAVs, har rsync och BorgBackup nativt och har IPv4 och IPv6. Det finns ingen uppläggningsavgift, faktureringen sker på PrePaid-basis utan bindningstid. Du kan alltså börja med 1 TB och växa senare, utan att flytta.
Ett räkneexempel: 1 TB extra utrymme på en webbserver kostar beroende på leverantör ett mångfaldigt av 9,99 euro i månaden, och det ligger då på samma maskin som webbplatsen. Lagringen vid sidan om är inte bara billigare, den är också separerad.
Vanliga frågor
Kan jag bädda in bilder på min webbplats direkt från Storage Server?
Vilket protokoll ska jag välja från webbservern?
Ersätter en Storage Server ett CDN?
Hur många underkonton kan jag lägga upp?
Kan jag tilldela ett underkonto eget utrymme?
Hur snabb är åtkomsten?
Syns inloggningsuppgifterna i webbläsaren?
Kan jag säkerhetskopiera min webbplats till den?
Behöver jag en egen server för det?
Vad kostar det?
2026 KernelHost GmbH. Alla rättigheter förbehållna. Den här guiden är skyddad av upphovsrätt. Publicering på andra webbplatser, helt, delvis eller i bearbetad form, är inte tillåten utan vårt skriftliga medgivande. Citat med källhänvisning och länk är uttryckligen välkomna.

