Storage Server pro vlastní web: obrázky, soubory ke stažení, archivy
Místo na webserveru je drahé, místo na Storage Serveru ne. Tento článek ukazuje, co všechno lze přesunout, který protokol z webserveru funguje a jak se soubory bezpečně dostanou k návštěvníkům.
Na webserveru je místo na disku to nejdražší, co máte. Leží na rychlých NVMe SSD, které jsou postavené pro databáze a PHP, a s každým gigabajtem citelně zdražuje. Zároveň tam leží věci, které tu rychlost nikdy nepotřebují: originály fotografií, videosoubory, archivy ke stažení, staré zálohy.
Storage Server stojí zlomek toho a sejme z webserveru přesně tuto zátěž. Tento článek ukazuje, co má smysl přesunout, který protokol z webserveru funguje, jak se soubory bezpečně dostanou k návštěvníkům a kde jsou hranice.
Co se vyplatí přesunout a co ne
| Patří na úložiště | Zůstává na webserveru |
|---|---|
| Originály obrázků a videí | Náhledy a ořezané verze |
| Archivy ke stažení, soubory ISO, sbírky PDF | CSS, JavaScript, fonty |
| Nezpracovaná data, exporty, archivy logů | Databáze |
| Zálohy webu | Všechno, co je potřeba při každém zobrazení stránky |
Dělicí linie je jednoduchá: co se čte zřídka a přenese se jednou ve velkém, patří na úložiště. Co se načítá při každém zobrazení stránky, zůstává tam, kde je to rychlé.
Co Storage Server je a co není
Storage Server je síťové úložiště s uživatelskými účty. Připojíte se přístupovými údaji a čtete nebo zapisujete soubory. Není to objektové úložiště s veřejnými adresami a není to CDN.
V praxi to znamená: na svém webu nemůžete odkázat obrázek přímo na úložiště, protože každý přístup je přihlášený. Soubor si vyzvedne váš webserver a předá ho dál, nebo si sami vytvoříte časově omezené odkazy ke stažení. Jak na to čistě, stojí dál v textu.
Zní to jako omezení, má to ale výhodu: nikdo vám soubory nesebere tím, že uhodne adresu nebo pošle odkaz dál. Přístup vede vždy přes vaši aplikaci, a tedy přes vaše pravidla.
Vzor, který v praxi funguje
Tři kroky, víc to není:
- Originály leží na úložišti. Nahrajete je jednou a potom se jich jen zřídka dotknete.
- Odvozené verze vzniknou jednou a leží na webserveru. Tedy náhledy, ořezané varianty, komprimované verze. Jsou malé a jsou potřeba při každém zobrazení stránky.
- Stahování vede přes vaši aplikaci. Malý skript ověří oprávnění, vyzvedne soubor z úložiště a vydá ho.
Kdo to obrátí a náhledy si při každém zobrazení tahá čerstvě z úložiště, postaví si pomalý web. Doba odezvy sítě se u každého souboru sčítá a galerie se čtyřiceti obrázky čeká čtyřicetkrát.
Který protokol na jaký případ
| Protokol | Port | Dobré na | Potřebuje |
|---|---|---|---|
| SMB / CIFS | 445 | Připojení jako adresář | root práva na serveru |
| SSHFS | 23 | Připojení jako adresář, šifrované | root práva na serveru |
| SFTP | 23 | Přístup z PHP, skripty, přenosy | odchozí port 23 |
| WebDAV přes HTTPS | 443 | shared hosting, omezená prostředí | jen HTTPS |
| rsync | 23 | Synchronizaci velkých adresářů | odchozí port 23 |
| BorgBackup | 23 | Zálohy s deduplikací | odchozí port 23 |
Nejdůležitější rozhodnutí nezávisí na vkusu, ale na vašich právech: na vlastním serveru připojíte úložiště jako adresář a každá aplikace ho může používat, aniž by o něm cokoli věděla. Jak na to, stojí v článku Připojení Storage Serveru jako síťového disku.
Na shared hostingu root práva nemáte, připojení jako adresář tím padá. Tam vede cesta přes WebDAV nebo SFTP z aplikace, a WebDAV je většinou menší odpor, protože port 443 není zablokovaný prakticky nikdy.
Nastavení přístupu z PHP
Pro SFTP stačí čistě PHP knihovna, žádné rozšíření na serveru není potřeba:
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('Přihlášení se nezdařilo');
}
// Nahrání souboru
$sftp->put('/bilder/2026/original.jpg', '/tmp/upload.jpg', SFTP::SOURCE_LOCAL_FILE);
// Čtení souboru
$inhalt = $sftp->get('/bilder/2026/original.jpg');
Pro WebDAV stačí dokonce vestavěné rozšíření curl:
$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);
Oba příklady používají podúčet, ne hlavní účet. Proč, stojí v další části.
Pro každý účel vlastní podúčet
Každý Storage Server dovoluje až 100 podúčtů, a to v každém tarifu. Každý dostane:
- vlastní výchozí adresář, ze kterého se nedostane,
- vlastní heslo,
- vlastní povolení protokolů, tedy například jen SFTP a žádnou Sambu.
Pro web to znamená: jeden podúčet pro webserver, který smí jen SFTP a vidí jen /web, druhý pro zálohy, který vidí jen /backup. Pokud webserver někdo převezme, na zálohy se útočník nedostane, protože ten účet je vůbec nezná.
Jedna hranice tu je: podúčet nedostane vlastní kontingent místa. Zůstane ve svém adresáři, může tam ale zaplnit celé úložiště tarifu. Kdo chce jednotlivé uživatele skutečně omezit, potřebuje před úložiště aplikaci, která to převezme. Přesně tuto stavbu ukazuje Propojení Nextcloudu se Storage Serverem.
Bezpečný výdej souborů ke stažení
Nejčastější chybou je pustit přístupové údaje do prohlížeče, třeba odkazem s uživatelským jménem a heslem. Správné je, aby spojení navazoval váš server a soubor jen předal dál:
<?php
// Ověření oprávnění, dřív než se stane cokoli dalšího
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;
U velmi velkých souborů čtěte lépe po blocích, než abyste vše nahráli do paměti, jinak praskne limit paměti PHP. Použijte k tomu ob_end_flush() a vydávejte soubor po částech.
Kdo počítá s mnoha stahováními současně, měl by navíc pamatovat na to, že každé běžící stahování drží jeden proces PHP. Od určitého rozsahu patří něco takového za vlastní server, a ne za shared hosting.
Zálohování webu na úložiště
To je nejjednodušší začátek a hned něco přinese. S rsync přenesete jen změny:
rsync -az --delete -e "ssh -p 23" \
/var/www/example.com/ \
u123456-sub2@u123456.storage.kernelhost.net:/backup/web/
Pro zálohy s deduplikací a šifrováním je lepší volbou BorgBackup, na úložišti je dostupný nativně. K tomu se jako druhá úroveň přidají snapshoty samotného úložiště: podle tarifu 10, 20, 30 nebo 40 ručních snapshotů a k nim stejný počet automatických v denním, týdenním a měsíčním rytmu.
Rozdíl proti záloze na tomtéž serveru je ten rozhodující: smazaný nebo zašifrovaný disk si vezme místní zálohu s sebou, zálohu na odděleném úložišti ne.
Než začnete: dva přepínače
V zákaznické sekci najdete u svého Storage Serveru tlačítko „Nastavení přístupu“. Dvě věci musí být v pořádku:
- Dostupnost zvenčí musí být zapnutá, jinak se váš webserver k úložišti přes internet nedostane.
- Požadovaný protokol musí být povolený, tedy Samba pro SMB, SSH pro SFTP a rsync, WebDAV pro cestu přes HTTPS.
U nově objednaných serverů je všechno z toho aktivní. Kdo z bezpečnostních důvodů vypne, co nepotřebuje, měl by pamatovat na to, že právě to je později nejčastější příčinou hlášky „už to nefunguje“.
Který tarif se hodí
| Tarif | Místo | Podúčty | Snapshoty | Cena |
|---|---|---|---|---|
| Storage-1 | 1 TB | 100 | 10 plus 10 automatických | 9,99 EUR |
| Storage-2 | 5 TB | 100 | 20 plus 20 automatických | 29,99 EUR |
| Storage-3 | 10 TB | 100 | 30 plus 30 automatických | 39,99 EUR |
| Storage-4 | 20 TB | 100 | 40 plus 40 automatických | 69,99 EUR |
Všechny Storage Servery stojí v Německu, mluví FTP, FTPS, SFTP, SCP, Samba, WebDAV a WebDAVs, přinášejí rsync a BorgBackup nativně a mají IPv4 i IPv6. Zřizovací poplatek žádný není, účtuje se na bázi PrePaid bez minimální doby trvání. Můžete tedy začít s 1 TB a později zvětšit, bez přestěhování.
Příklad pro srovnání: 1 TB místa navíc na webserveru stojí podle poskytovatele násobek 9,99 EUR měsíčně a leží pak na stejném stroji jako web. Úložiště vedle je nejen levnější, je také oddělené.
Časté dotazy
Mohu obrázky vložit do webu přímo ze Storage Serveru?
Který protokol mám z webserveru použít?
Nahradí Storage Server CDN?
Kolik podúčtů si mohu vytvořit?
Mohu podúčtu přidělit vlastní místo?
Jak rychlý je přístup?
Jsou přístupové údaje vidět v prohlížeči?
Mohu na to zálohovat i svůj web?
Potřebuji k tomu vlastní server?
Kolik to stojí?
2026 KernelHost GmbH. Všechna práva vyhrazena. Tento návod je chráněn autorským právem. Jeho zveřejnění na jiných webech, a to i po částech nebo v upravené podobě, není bez našeho písemného souhlasu dovoleno. Citace s uvedením zdroje a odkazem jsou výslovně vítány.

