Storage Server voor uw eigen website gebruiken: afbeeldingen, downloads, archieven
Ruimte op een webserver is duur, ruimte op een Storage Server niet. Dit artikel laat zien wat u kunt verplaatsen, welk protocol vanaf de webserver werkt en hoe de bestanden veilig bij uw bezoekers aankomen.
Op een webserver is schijfruimte het duurste goed. Die ruimte staat op snelle NVMe-SSD's die voor databases en PHP gebouwd zijn, en met elke gigabyte wordt ze merkbaar duurder. Tegelijk staan daar dingen die die snelheid nooit nodig hebben: originele foto's, videobestanden, downloadarchieven, oude back-ups.
Een Storage Server kost daarvan een fractie en neemt precies die last weg. Dit artikel laat zien wat u zinvol kunt verplaatsen, welk protocol vanaf de webserver werkt, hoe de bestanden veilig bij uw bezoekers aankomen en waar de grenzen liggen.
Wat de moeite waard is om te verplaatsen, en wat niet
| Hoort op de opslag | Blijft op de webserver |
|---|---|
| Originelen van afbeeldingen en video's | Miniaturen en bijgesneden versies |
| Downloadarchieven, ISO-bestanden, pdf-verzamelingen | CSS, JavaScript, lettertypen |
| Ruwe gegevens, exports, logarchieven | De database |
| Back-ups van de website | Alles wat bij elke paginaweergave nodig is |
De scheidslijn is eenvoudig: wat zelden gelezen wordt en één keer in grote stukken wordt overgedragen, hoort op de opslag. Wat bij elke paginaweergave meegeladen wordt, blijft waar het snel is.
Wat een Storage Server is, en wat hij niet is
Een Storage Server is netwerkopslag met gebruikersaccounts. U maakt verbinding met inloggegevens en leest of schrijft bestanden. Hij is geen objectopslag met openbare adressen en geen CDN.
In de praktijk betekent dat: u kunt in uw pagina geen afbeelding rechtstreeks naar de opslag laten verwijzen, want elke toegang is aangemeld. Uw webserver haalt het bestand op en geeft het door, of u maakt zelf downloadlinks met een beperkte geldigheidsduur. Hoe dat netjes gaat, staat verderop.
Dat klinkt als een beperking, maar het heeft een voordeel: niemand kan uw bestanden buitmaken door adressen te raden of een link door te sturen. De toegang loopt altijd via uw toepassing, en dus via uw regels.
Het patroon dat in de praktijk werkt
Drie stappen, meer is het niet:
- De originelen staan op de opslag. Ze worden één keer geüpload en daarna zelden aangeraakt.
- Afgeleide versies ontstaan één keer en staan op de webserver. Dus miniaturen, bijgesneden varianten, gecomprimeerde versies. Ze zijn klein, en ze zijn bij elke paginaweergave nodig.
- Downloads lopen via uw toepassing. Een klein script controleert de rechten, haalt het bestand van de opslag en levert het uit.
Wie dat omdraait en miniaturen bij elke aanvraag opnieuw van de opslag haalt, bouwt een langzame website. De netwerklatentie per bestand telt op, en een galerij met veertig afbeeldingen wacht veertig keer.
Welk protocol voor welk geval
| Protocol | Poort | Goed voor | Vereist |
|---|---|---|---|
| SMB / CIFS | 445 | Koppelen als map | rootrechten op de server |
| SSHFS | 23 | Koppelen als map, versleuteld | rootrechten op de server |
| SFTP | 23 | Toegang vanuit PHP, scripts, overdrachten | uitgaande poort 23 |
| WebDAV via HTTPS | 443 | shared hosting, beperkte omgevingen | alleen HTTPS |
| rsync | 23 | Synchroniseren van grote mappen | uitgaande poort 23 |
| BorgBackup | 23 | Back-ups met deduplicatie | uitgaande poort 23 |
De belangrijkste beslissing hangt niet van smaak af, maar van uw rechten: op een eigen server koppelt u de opslag als map, en elke toepassing kan hem gebruiken zonder er iets van te weten. Hoe dat gaat, leest u in Storage Server als netwerkschijf koppelen.
Op shared hosting hebt u geen rootrechten, koppelen valt daarmee weg. Daar loopt de weg via WebDAV of SFTP vanuit de toepassing zelf, en WebDAV geeft daarbij meestal de minste weerstand, omdat poort 443 praktisch nooit geblokkeerd is.
Toegang vanuit PHP instellen
Voor SFTP volstaat een zuivere PHP-bibliotheek, een extensie op de server is niet nodig:
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('Aanmelden mislukt');
}
// Bestand uploaden
$sftp->put('/bilder/2026/original.jpg', '/tmp/upload.jpg', SFTP::SOURCE_LOCAL_FILE);
// Bestand lezen
$inhalt = $sftp->get('/bilder/2026/original.jpg');
Voor WebDAV is zelfs de ingebouwde curl-extensie genoeg:
$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);
Beide voorbeelden gebruiken een subaccount, niet het hoofdaccount. Waarom dat zo is, staat in de volgende paragraaf.
Voor elk doel een eigen subaccount
Elke Storage Server staat tot 100 subaccounts toe, en dat geldt bij elk tarief. Elk subaccount krijgt:
- een eigen startmap waar het niet uit kan komen,
- een eigen wachtwoord,
- eigen protocolrechten, dus bijvoorbeeld alleen SFTP en geen Samba.
Voor een website betekent dat: één subaccount voor de webserver, dat alleen SFTP mag en alleen /web ziet, en een tweede voor de back-up, dat alleen /backup ziet. Wordt de webserver ooit overgenomen, dan komt de aanvaller niet bij de back-ups, want dat account kent ze helemaal niet.
Eén grens is er wel: een subaccount krijgt geen eigen ruimtelimiet. Het blijft in zijn map, maar kan daar de volledige opslag van het tarief volschrijven. Wie afzonderlijke gebruikers werkelijk wil begrenzen, heeft er een toepassing voor nodig die dat overneemt. Nextcloud met de Storage Server verbinden laat precies deze opzet zien.
Downloads veilig uitleveren
De meest gemaakte fout is om de inloggegevens tot in de browser te laten komen, bijvoorbeeld met een link die gebruikersnaam en wachtwoord bevat. Goed is dat uw server de verbinding opbouwt en het bestand doorgeeft:
<?php
// Rechten controleren voordat er iets anders gebeurt
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;
Bij heel grote bestanden leest u beter in blokken dan dat u alles in het geheugen laadt, anders loopt u tegen de geheugenlimiet van PHP aan. Gebruik daarvoor ob_end_flush() en lever het bestand stuk voor stuk uit.
Wie veel gelijktijdige downloads verwacht, moet er bovendien aan denken dat elke lopende download een PHP-proces bezet houdt. Vanaf een zekere omvang hoort zoiets achter een eigen server en niet achter shared hosting.
Een back-up van de website op de opslag
Dat is de eenvoudigste start, en het levert direct iets op. Met rsync draagt u alleen de wijzigingen over:
rsync -az --delete -e "ssh -p 23" \
/var/www/example.com/ \
u123456-sub2@u123456.storage.kernelhost.net:/backup/web/
Voor back-ups met deduplicatie en versleuteling is BorgBackup de betere keuze, en het is op de opslag standaard aanwezig. Daar komen de snapshots van de opslag zelf als tweede laag bovenop: afhankelijk van het tarief 10, 20, 30 of 40 handmatige snapshots, plus even zoveel automatische in een dagelijks, wekelijks en maandelijks ritme.
Het verschil met een back-up op dezelfde server is het beslissende: een gewiste of versleutelde schijf neemt een lokale back-up mee, een back-up op gescheiden opslag niet.
Voordat u begint: twee schakelaars
In het klantenpaneel vindt u bij de Storage Server de knop „Toegangsinstellingen". Twee dingen moeten goed staan:
- Externe bereikbaarheid moet ingeschakeld zijn, anders komt uw webserver via het internet niet bij de opslag.
- Het gewenste protocol moet vrijgegeven zijn, dus Samba voor SMB, SSH voor SFTP en rsync, WebDAV voor de weg via HTTPS.
Bij nieuw bestelde servers staat dit alles aan. Wie om veiligheidsredenen uitschakelt wat hij niet nodig heeft, moet eraan denken dat juist dat later de meest voorkomende oorzaak is van „het werkt niet meer".
Welk tarief past
| Tarief | Ruimte | Subaccounts | Snapshots | Prijs |
|---|---|---|---|---|
| Storage-1 | 1 TB | 100 | 10 plus 10 automatisch | 9,99 EUR |
| Storage-2 | 5 TB | 100 | 20 plus 20 automatisch | 29,99 EUR |
| Storage-3 | 10 TB | 100 | 30 plus 30 automatisch | 39,99 EUR |
| Storage-4 | 20 TB | 100 | 40 plus 40 automatisch | 69,99 EUR |
Alle Storage Servers staan in Duitsland, spreken FTP, FTPS, SFTP, SCP, Samba, WebDAV en WebDAVs, hebben rsync en BorgBackup standaard aan boord en beschikken over IPv4 en IPv6. Er zijn geen installatiekosten, de afrekening loopt op prepaidbasis zonder minimale looptijd. U kunt dus met 1 TB beginnen en later vergroten, zonder te verhuizen.
Een rekenvoorbeeld: 1 TB extra ruimte op een webserver kost afhankelijk van de aanbieder een veelvoud van 9,99 euro per maand, en die ruimte staat dan op dezelfde machine als de website. De opslag ernaast is niet alleen goedkoper, hij is ook gescheiden.
Veelgestelde vragen
Kan ik afbeeldingen rechtstreeks van de Storage Server in mijn website opnemen?
Welk protocol neem ik vanaf de webserver?
Vervangt een Storage Server een CDN?
Hoeveel subaccounts kan ik aanmaken?
Kan ik een subaccount eigen opslagruimte toewijzen?
Hoe snel is de toegang?
Zijn de inloggegevens zichtbaar in de browser?
Kan ik hiermee ook een back-up van mijn website maken?
Heb ik daarvoor een eigen server nodig?
Wat kost dat?
2026 KernelHost GmbH. Alle rechten voorbehouden. Deze handleiding is auteursrechtelijk beschermd. Publicatie op andere websites, geheel, gedeeltelijk of in bewerkte vorm, is zonder onze schriftelijke toestemming niet toegestaan. Citeren met bronvermelding en link is uitdrukkelijk welkom.

