Oprava oprávnení súborov: fix_permissions, fix_storage a Správca súborov
Oprava oprávnení súborov
Nesprávne oprávnenia sú najčastejšia príčina chýb ako „Permission denied“ alebo toho, že Laravel nedokáže zapisovať do storage či bootstrap/cache. CloudWeb hosting ponúka opravu troma spôsobmi: jedným klikom v paneli, príkazom v SSH/webovom termináli, alebo ručne cez Správcu súborov.
Jedným klikom v paneli
V detaile hostingu otvorte Vývoj → Nasadenia, rozbaľte repozitár a v podzáložke Rýchle akcie nájdite sekciu Oprávnenia s dvoma tlačidlami:
- Opraviť oprávnenia – spustí
fix_permissionsnad celým repozitárom - Opraviť úložisko – spustí
fix_storage, rýchlejšiu opravu len pre priečinokstorage
Príkaz fix_permissions
Ak sa pripájate cez SSH alebo webový terminál, rovnaký príkaz máte k dispozícii priamo v shelli:
fix_permissions
Bez argumentu opraví /var/www/html (ak existuje), inak aktuálny priečinok. Môžete zadať aj vlastnú cestu: fix_permissions /var/www/html/moj-projekt. Príkaz:
- nastaví vlastníka na
vas_pouzivatel:www-data, - priečinkom nastaví oprávnenia
2775(čítanie/zápis/spustenie pre vlastníka aj skupinu, setgid, aby nové súbory dedili skupinuwww-data), - súborom nastaví oprávnenia
664(čítanie a zápis pre vlastníka a skupinu), - ak nájde priečinky
storagealebobootstrap/cache, opraví ich rovnako.
Príkaz fix_storage (pre Laravel)
fix_storage
Skúsi najprv priečinok ./storage (relatívne k tomu, kde v shelli práve ste), a ak neexistuje, /var/www/html/storage. Rovnako ako pri fix_permissions môžete zadať vlastnú cestu: fix_storage /var/www/html/moj-projekt/storage. Je rýchlejší, pretože neprechádza celý web, len tento jeden priečinok.
Oprávnenia cez Správcu súborov
Pre jednotlivý súbor alebo priečinok môžete oprávnenia zmeniť aj v Správcovi súborov: kliknite naň pravým tlačidlom a vyberte Oprávnenia. V dialógu zadáte trojmiestne alebo štvormiestne oktálové číslo (napr. 755) a pri priečinku môžete zaškrtnúť „Použiť na všetko v priečinku“, aby sa zmena aplikovala rekurzívne na celý obsah.
Manuálna oprava
Ak potrebujete presnejšiu kontrolu, rovnaký výsledok ako fix_permissions dosiahnete aj ručne (nahraďte USERNAME vaším SSH používateľským menom):
sudo chown -R USERNAME:www-data /var/www/html
sudo find /var/www/html -type d -exec chmod 2775 {} \;
sudo find /var/www/html -type f -exec chmod 664 {} \;
Kedy tieto príkazy použiť
- po nahratí súborov cez FTP,
- po klonovaní alebo pulle z Gitu mimo panela (napr. priamo cez SSH),
- keď sa zobrazujú chyby „Permission denied“,
- keď Laravel nemôže zapisovať do
storagealebobootstrap/cache.
Po klonovaní, pulle alebo spustení Rýchlej akcie priamo v paneli panel oprávnenia aj reštart PHP rieši sám – tieto príkazy potrebujete najmä pri zásahoch mimo panela.
Súvisiace návody
Bol tento článok užitočný?
Vaša spätná väzba nám pomáha zlepšovať dokumentáciu