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 {} ;