Po wgraniu skryptów PHP i/lub ustawieniu praw dostępu pojawia się błąd 500, dlaczego?
Serwery WWW Progreso skonfigurowane są w ten sposób, ze każdy uruchamiany skrypt (PHP, Perl, czy dowolny inny) działa z prawami danego użytkownika, a nie z prawami użytkownika np. serwera www (www, nobody czy inny). Jest to dużo bezpieczniejszy sposób uruchamiania skryptów, trzeba jednak pamiętać iż wbudowane w niego zabezpieczenia nie pozwalają na uruchamianie skryptów które posiadają prawa zapisu dla grupy i reszty. Również pliki includowane, a także katalogi w których znajdują się includowane pliki nie mogą mieć takich praw. Prawidłowe prawa to odpowiednio dla:
- statyczne pliki html, txt, obrazki i inne - 644
- dynamiczne pliki PHP oraz pliki includowane - 600
- dynamiczne pliki Perl, Python oraz inne programy CGI - 700
- includowane przez skrypty pliki w których znajdują się poufne dane (np. hasła) - 600
- katalogi - 755
Standardowo tworzone katalogi i pliki przy np. ich wgrywaniu przez FTP mają odrazu ustawione prawidłowe prawa, więc nie musisz nic zmieniać. Jeżeli jednak prawa są inne (na skutek Twojej zmiany, lub automatycznej zmiany przez skrypt) i pojawia się błąd 500 Internal Server Error, zmodyfikuj prawa dla pliku / katalogu. Możesz to zrobić hurtem z poziomu shella wydając komendę: chmod -R og-w $HOME