Korzystając z typowego hostingu WWW rzadko kiedy może wystąpić ten problem, lecz przechodząc na serwer VPS nie jest to wykluczone. Przykład z życia, przeniosłem się z WWW na VPS z Linux’em i musiałem przy każdej zmianie pliku podawać hasło do FTP. Stwierdziłem, że w sumie to nawet dobrze, bo zawsze jakieś zabezpieczenie więcej, a że samo się pojawiło…
Jednakże po pewnym czasie stwierdziłem, że to utrudnia życie, bo edytować motywu nie mogę, bo przycisku „Zapisz” brak. Wtedy stwierdziłem, że czas szukać rozwiązania.
Dlaczego WordPress prosi o podanie danych do FTP przy każdej modyfikacji plików?
Bo nie ma odpowiednich praw do zapisu. Często dzieje się tak, gdy nie robimy katalogów strony klasycznie w /var/www czy /var/www/html, lecz /var/xxx albo /home/yyy.
Co zrobić, aby WordPress działał jak kiedyś, czyli nie prosił o dostęp FTP?
Musisz dodać katalog z WordPressem do grupy swojego serwera HTTP. No dobra, ale jak w ogóle się nazywa?
Grupa Apache ma zazwyczaj nazwę httpd.
Grupa Lighttpd ma zazwyczaj nazwę www-data.
Taaak, ale może lepiej będzie podać jakiegoś pewniaka.
Jak określić grupę serwera HTTP, podpierającego naszą stronę?
Musimy utworzyć plik PHP z taką zawartością:
<?php echo(exec("whoami")); ?>
Zapisz go gdziekolwiek, najlepiej w katalogu głównym, bo go potem szybko usuniesz.
Po zapisaniu, wywołajmy go wpisując w adres przeglądarki:
http://adresdostrony.pl/folder-z-plikiem/pliczek.php
Na ekranie powinna pokazać się nazwa grupy serwera HTTP.
Teraz otwórz konsolę SSH, zaloguj się na root’a i wpisz:
chown -R nazwa_grupy: /sciezka/do/wordpressa
czyli np.
chown -R www-data: /var/www
Serwer zapewne chwile „pomyśli”. Gdy zakończy operację, WordPress powinien już działać normalnie. W moim przypadku wystarczyło odświeżenie strony i wszystko działało tak, jak kiedyś.