Jak ustawić uprawnienia na katalogach i plikach?
Chciałbym zainstalować CMS Joomla. Skopiowałem rozpakowane pliki instalacyjne na serwer, ale przy próbie instalacji otrzymuję błędy dot. błędnych uprawnień.
Jak ustawić uprawnienia na katalogach i plikach?
Analiza problemu
Skopiowane na serwer przy użyciu dowolnego klienta ftp - katalogi i pliki zwykle mają uprawnienia odpowiednio:
- 775 i 664 (konfiguracja: PHP/SuPHP, czyli handler "SuPHP") lub
- 755 i 644 (konfiguracja: PHP/DSO).
Rozwiązanie problemu
Przed rozpoczęciem instalacji należy zapoznać się z dokumentacją pod kontem ustawienia odpowiednich praw dla katalogów i plików oraz wymagane uprawnienia zweryfikować i ustawić w razie rozbieżności.
Najwygodniej do tego celu wykorzystać klienta usług ftp (np. Total Commander, z górnego menu: Pliki / Zmień atrybuty).
Po zakończeniu prac instalacyjnych warto ponownie zweryfikować uprawnienia dla folderów i plików - odpowiednio: 775 / 664 (PHP/SuPHP) lub 755 / 644 (PHP/DSO) .
Użytkownicy zaawansowani
Webmasterzy, którym nie obca jest praca na konsoli serwera (połączenie ssh z wykorzystniem konta main) - mogą skorzystać z uniksowej komendy chown, której użycie wygląda natępująco:
Dla konfiguracji PHP/SuPHP:
#!/bin/sh
cd
/bin/echo "+ katalogi 755"
/usr/bin/find public_html -type d -exec chmod 0755 {} ;
/bin/echo "+ pliki 644"
/usr/bin/find public_html -type f -exec chmod 0644 {} ;
Dla koniguracji PHP/DSO
#!/bin/sh
cd
/bin/echo "+ katalogi 775"
/usr/bin/find public_html -type d -exec chmod 0775 {} ;
/bin/echo "+ pliki 664"
/usr/bin/find public_html -type f -exec chmod 0664 {} ;
/bin/echo "+ katalogi tmp 777"
/usr/bin/find public_html -type d -name tmp -exec chmod 0777 {} ;
/bin/echo "+ katalog tmp 777"
/usr/bin/find tmp -type d -exec chmod 0777 {} ;