Chceš na svoj nový WordPress web nahrať obrázok (upload), alebo tému, ale zobrazí sa Ti takéto upozornenie:
Unable to create directory wp-content/uploads/2019/12. Is its parent directory writable by the server?
Prvá možnosť je, že práva na úpravu súborov sú nastavené tak, že WordPress nemôže robiť zmeny. Ako to zmeniť?
- Prihlás sa na SFTP/FTP.
- Nájdi priečinok
wp-content
- Klikni naň pravým klikom a zvoľ File permissions. Niektorí FTP klienti to majú inde, napr. pri Cyberducku treba kliknúť pravým, vybrať Info a až tam sa nachádzajú File permissions.
- Zmeň file permissions na 744, resp. 755. Dajú sa použiť obe varianty. Ďalej zvoľ možnosti: Recurse into subdirectories a Apply to directories only. Niektorí FTP klienti to majú ako možnosť, ktorú sa dá označiť, v mojom prípade sa mi po stlačení tlačidla otvorili pop-up okná, ktoré sa ma na tieto možnosti spýtali.
Čo ak to nepomohlo?
Možno server nemá nastavené vlastníctvo súborov (file ownership) na Tvojho wordpress usera. Čo to je a ako to zmeniť?
- Prihlás sa cez konzolu na server
ssh nazovservera.com -l meno-usera
A zadaj heslo, samozrejme. - Premiestni sa do foldera s WordPress súbormi (napr. ak je web vo foldri “wordpress”, tak zadaj
cd wordpress
) - Pozri si, kto je owner a kto skupina, príkazom
ls -al
. Každý súbor sa zobrazí nejak takto:
-rw-r--r-- 1 wordpress apache 420 Nov 30 2017 index.php
drwxr-xr-x 9 wordpress apache 4096 Nov 12 20:31 wp-admin
Prvý znak si nevšímaj. Tie ďalšie sú vždy v skupinách po troch. Ich význam je nasledovný: r = read, w = write, x = execute. Potom nasleduje číslo a za ním názov ownera a názov skupiny. V mojom príklade je owner „wordpress“ a group je „apache“. To, čo chceš, je, aby owner bol user Tvojho webu a group aby bol server. Dajme tomu, že by to bolo takto-rw-r--r-- 1 apache apache 420 Nov 30 2017 index.php
– ako to zmením? - Presuniem sa o folder vyšši
cd ..
- Použijem príkaz chown (change ownership – zmeniť majiteľa). Použijem aj -R, čo znamená „rekurzívne“. A chcem to zmeniť vo foldri „wordpress“ s mojím webom.
chown -R wordpress:apache ./wordpress
Hotovo.
Zdroje: