Använd Storage Server för din webbplats: bilder, nedladdningar, arkiv

Publicerad den 6 min läsning

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å lagringenStannar på webbservern
Original av bilder och videorMiniatyrbilder och beskurna versioner
Nedladdningsarkiv, ISO-filer, PDF-samlingarCSS, JavaScript, typsnitt
Rådata, exporter, loggarkivDatabasen
Säkerhetskopior av webbplatsenAllt 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:

  1. Originalen ligger på lagringen. De laddas upp en gång och rörs sedan sällan.
  2. 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.
  3. 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

ProtokollPortBra förKräver
SMB / CIFS445Montering som katalogroot-rättigheter på servern
SSHFS23Montering som katalog, krypteratroot-rättigheter på servern
SFTP23Åtkomst ur PHP, skript, överföringarutgående port 23
WebDAV över HTTPS443Delat webbhotell, begränsade miljöerbara HTTPS
rsync23Synkronisering av stora katalogerutgående port 23
BorgBackup23Säkerhetskopior med dedupliceringutgå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

PaketUtrymmeUnderkontonÖgonblicksbilderPris
Storage-11 TB10010 plus 10 automatiska9,99 EUR
Storage-25 TB10020 plus 20 automatiska29,99 EUR
Storage-310 TB10030 plus 30 automatiska39,99 EUR
Storage-420 TB10040 plus 40 automatiska69,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?
Inte med en direkt länk i bildtaggen. En Storage Server är ingen publik webbserver, varje åtkomst är inloggad. Din webbserver hämtar filen och skickar den vidare, eller du skapar tidsbegränsade nedladdningslänkar. För miniatyrbilder är den bättre vägen att skapa dem en gång och mellanlagra dem på webbservern.
Vilket protokoll ska jag välja från webbservern?
På en egen server med root-rättigheter är SMB eller SSHFS bekvämast, lagringen visas då som en vanlig katalog. På delat webbhotell utan root-rättigheter går det inte, där är WebDAV över HTTPS vägen med minst motstånd, eftersom port 443 praktiskt taget aldrig är blockerad.
Ersätter en Storage Server ett CDN?
Nej. Ett CDN sprider kopior till många platser och levererar dem direkt till besökarna. En Storage Server är ett förvaringsställe på en plats, och varje åtkomst till den är inloggad. De två kompletterar varandra: originalen på lagringen, de levererade versionerna via webbservern eller CDN.
Hur många underkonton kan jag lägga upp?
Upp till 100, i varje paket. Varje underkonto har en egen startkatalog, ett eget lösenord och egna protokollbehörigheter. Så får webbplatsen ett konto som bara får använda SFTP och bara ser sin egen katalog, och säkerhetskopieringen ett separat.
Kan jag tilldela ett underkonto eget utrymme?
Nej, någon kvot per underkonto finns inte. Ett underkonto stannar i sin katalog, men kan där fylla hela paketets utrymme. Vill du begränsa enskilda användare måste du göra det i din egen applikation.
Hur snabb är åtkomsten?
För stora filer i ett svep mycket bra, flaskhalsen är din webbservers anslutning. För många små åtkomster efter varandra tillkommer nätverkslatensen per fil. Därför hör original och arkiv hemma på lagringen, medan ofta hämtade småsaker som miniatyrbilder hör hemma i en mellanlagring på webbservern.
Syns inloggningsuppgifterna i webbläsaren?
Bara om du bygger det fel. Rätt är att webbservern upprättar anslutningen och skickar filen vidare. Inloggningsuppgifterna stannar då på servern och dyker varken upp i källkoden eller i en adress.
Kan jag säkerhetskopiera min webbplats till den?
Ja, och det är den enklaste starten. Med rsync eller BorgBackup överför du bara ändringarna, till det kommer lagringens ögonblicksbilder som andra nivå. Beroende på paket är 10 till 40 ögonblicksbilder möjliga, plus lika många automatiska.
Behöver jag en egen server för det?
Nej. Det fungerar även från delat webbhotell, då via WebDAV eller SFTP ur PHP. Bara monteringen som enhet kräver root-rättigheter och därmed en egen server.
Vad kostar det?
Storage-1 med 1 TB kostar 9,99 euro i månaden, Storage-2 med 5 TB 29,99, Storage-3 med 10 TB 39,99 och Storage-4 med 20 TB 69,99. Utan uppläggningsavgift, på PrePaid-basis och utan bindningstid, plats Tyskland.

Storage Server Webserver WebDAV SFTP Mediendateien Downloads Backup