Storage Server s WordPressem: co funguje a co ne
Ne všechno, co se o WordPressu a externím úložišti píše, také funguje. Tento článek rozděluje tři případy: zálohy jdou hned, soubory ke stažení s malou prací a knihovna médií jen za jedné podmínky.
Adresář wp-content/uploads je ta část WordPressu, která roste bez zábran. Obrázky, soubory PDF, videa, k tomu od každého obrázku několik velikostí, které WordPress vytvoří automaticky. Po několika letech tam leží desítky gigabajtů, a místo na webserveru je to nejdražší, co se dá koupit.
Storage Server stojí zlomek toho. Otázkou jen je, co se dá skutečně přesunout. Na internetu se k tomu píše hodně věcí, které v praxi nefungují. Tento článek tři případy čistě rozděluje.
Tři případy v přehledu
| Co | Jde to? | Náročnost |
|---|---|---|
| Zálohy | ano, hned | čtvrt hodiny, bezplatný plugin |
| Velké soubory ke stažení | ano | malý skript nebo plugin pro stahování |
| Knihovna médií, vlastní server | ano | jednou připojit, pak je nevidět |
| Knihovna médií, shared hosting | ne | chybí vhodný plugin |
O ten poslední bod zakopne většina lidí. Proto nejdřív nepříjemná pravda.
Proč pro knihovnu médií žádný plugin není
Známé pluginy pro přesun ve WordPressu mluví všechny stejnou řečí: S3. Spojí se s Amazon S3 nebo kompatibilní službou, nahrají tam soubor, smažou místní kopii a adresu v příspěvku nahradí veřejnou adresou té služby.
Přesně to se na Storage Server přenést nedá, a to ze dvou důvodů:
- Úložiště mluví SMB, SFTP a WebDAV, ale ne S3.
- Neexistuje veřejná adresa pro každý soubor. Každý přístup je přihlášený, nemůže tedy být odkaz, který by prohlížeč návštěvníka vyvolal přímo.
Existují jednotlivé pluginy, které pracují s FTP, ale žádný s významným rozšířením a aktuální údržbou, který by knihovnu médií přesunul celou přes SFTP nebo WebDAV. Kdo nějaký najde, měl by se před použitím podívat na datum poslední aktualizace a na počet aktivních instalací.
Cesta, která funguje: připojit místo přesunout
Na vlastním serveru s root právy se věc obrátí. Místo abyste WordPress učili mluvit s cizím úložištěm, přinesete úložiště na to místo, kam WordPress zapisuje tak jako tak:
apt install -y cifs-utils
mkdir -p /mnt/storage
printf 'username=u123456-sub1\npassword=VASE_HESLO\n' > /etc/samba/storage.cred
chmod 600 /etc/samba/storage.cred
Záznam v /etc/fstab:
//u123456.storage.kernelhost.net/backup /mnt/storage cifs credentials=/etc/samba/storage.cred,uid=www-data,gid=www-data,file_mode=0660,dir_mode=0770,seal,_netdev,nofail 0 0
Potom přestěhovat existující soubory a adresář vyměnit:
mount -a
mkdir -p /mnt/storage/uploads
rsync -a /var/www/example.com/wp-content/uploads/ /mnt/storage/uploads/
mv /var/www/example.com/wp-content/uploads /var/www/example.com/wp-content/uploads.alt
ln -s /mnt/storage/uploads /var/www/example.com/wp-content/uploads
WordPress si toho nevšimne, pro aplikaci je to úplně normální cesta. Starý adresář zůstane ležet jako uploads.alt, dokud neověříte, že všechno funguje. Smazat teprve potom, ne dřív.
Past v tom: náhledy
WordPress vytvoří od každého obrázku několik velikostí a načítá je při každém zobrazení stránky. Pokud tyto malé soubory leží na síťovém úložišti, přidá se u každého souboru doba odezvy sítě a galerie se čtyřiceti obrázky čeká čtyřicetkrát.
Dvě řešení, obě dobrá:
- Postavit před to mezipaměť, třeba cache ve webserveru, která vydané soubory drží lokálně.
- Na úložiště položit jen originály a vytvořené velikosti nechat lokálně. Je to o trochu více práce, ale pro stránky s mnoha obrázky nejčistší cesta.
Zálohy: nejrychlejší přínos
Pokud uděláte jen jednu věc, pak tuhle. Záloha na tomtéž serveru není záloha: když se disk smaže nebo web zašifruje, je pryč s ním. Na odděleném úložišti přežije.
Bezplatný plugin WPvivid umí v základní verzi zálohovat na úložiště přes SFTP, s časovým plánem a pravidlem pro uchovávání. Úplný návod k tomu stojí v článku Zálohy WordPressu na Storage Server.
Na vlastním serveru to jde ještě lépe, totiž s rsync nebo BorgBackup přímo z časového plánu. Pak přenášíte jen změny a BorgBackup navíc deduplikuje.
Výdej velkých souborů ke stažení
Pro soubory, které si mají návštěvníci stáhnout, je úložiště ideální: čtou se zřídka, jsou velké a nemusí být rychlé, jen musí dojít. Přístup vede přes malý skript, který nejdřív ověří oprávnění:
<?php
// ve functions.php nebo jako vlastní plugin
add_action('template_redirect', function () {
if (!isset($_GET['kh_download'])) {
return;
}
if (!is_user_logged_in()) {
wp_die('Přihlaste se, prosím', '', ['response' => 403]);
}
$pfad = '/mnt/storage/downloads/' . basename($_GET['kh_download']);
if (!is_readable($pfad)) {
wp_die('Soubor nenalezen', '', ['response' => 404]);
}
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . basename($pfad) . '"');
header('Content-Length: ' . filesize($pfad));
readfile($pfad);
exit;
});
Příklad vychází z připojeného úložiště. Bez připojení nahradíte readfile() voláním přes SFTP nebo WebDAV, jak je popsané v článku Storage Server pro vlastní web.
Vedlejší efekt je příjemný: protože soubor nikdy nemá veřejnou adresu, nemůže nikdo poslat odkaz dál. Ověření oprávnění se nedá obejít.
Co zůstává na shared hostingu
| Záměr | Shared hosting | Vlastní server |
|---|---|---|
| Záloha pluginem | ano | ano |
| Výdej souborů ke stažení přes PHP | ano, přes WebDAV nebo SFTP | ano |
| Přesun knihovny médií | ne | ano, připojením |
| rsync nebo BorgBackup | většinou ne | ano |
Na shared hostingu je WebDAV přes HTTPS nejspolehlivější cesta, protože port 443 není zablokovaný prakticky nikdy. SFTP funguje také, u nás ale běží na portu 23, a ne každý poskytovatel odchozí spojení na takových portech povolí. To je dobré před objednávkou krátce ověřit.
Jeden podúčet na každý účel
Každý Storage Server dovoluje až 100 podúčtů, každý s vlastním výchozím adresářem, vlastním heslem a vlastními povolenými protokoly. Pro WordPress to znamená nejméně dva:
- Jeden účet pro web, který vidí jen
/uploads. - Jeden účet pro zálohy, který vidí jen
/backup.
Pokud web někdo převezme, najde útočník ve wp-config.php přístupové údaje prvního účtu. Zálohy zůstanou nedotčené, protože tento účet je vůbec nezná. S jediným hlavním účtem by na tomto místě bylo všechno pryč.
Když více uživatelů potřebuje vlastní místo
Storage Server kvótu na podúčet nezná. Účet zůstane ve svém adresáři, může tam ale zaplnit celý tarif. Kdo chce zákazníkům, fotografům nebo redaktorům dát každému omezený kontingent, postaví proto před úložiště aplikaci, která to převezme. Nextcloud je k tomu nejbližší volba, přináší uživatele, kvóty i odkazy na sdílení: Propojení Nextcloudu se Storage Serverem.
Který tarif se hodí
| Tarif | Místo | Podúčty | Cena |
|---|---|---|---|
| Storage-1 | 1 TB | 100 | 9,99 EUR |
| Storage-2 | 5 TB | 100 | 29,99 EUR |
| Storage-3 | 10 TB | 100 | 39,99 EUR |
| Storage-4 | 20 TB | 100 | 69,99 EUR |
Pro jediný web na WordPressu se zálohami vystačí Storage-1 zpravidla na dlouho. Kdo přesouvá knihovny médií více webů nebo pracuje s videem, skončí rychle u Storage-2 nebo Storage-3. Všechny tarify stojí v Německu, jsou bez zřizovacího poplatku, účtují se na bázi PrePaid a nemají minimální dobu trvání. Přechod do nejbližšího většího tarifu je možný kdykoli, aniž byste se museli dotknout dat.
Časté dotazy
Mohu knihovnu médií WordPressu přesunout na Storage Server pluginem?
Jak to tedy přece jde?
Jaký je nejjednodušší přínos?
Budou se mi tím obrázky načítat pomaleji?
Mohu odkazovat soubory ke stažení přímo z úložiště?
Který protokol vzít na shared hostingu?
Potřebuji pro každý účel vlastní podúčet?
Co s více uživateli, z nichž každý potřebuje vlastní místo?
Vyplatí se to u malého webu?
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.

