W 2014 napisałem artykuł o tym jak poradzić sobie w sytuacji, gdy WordPress pyta o dane konta FTP podczas próby aktualizacji. Skoncentrowałem się wtedy na korekcie ustawień dla katalogu, w którym znajduje się strona, gdyż jest to rozwiązania chyba najlepsze i najwygodniejsze. Dziś pokaże, jak ustawić „na sztywno” adresy serwera FTP(S), gdy nie ma innej możliwości…
WordPress i ustawienia FTP
We wspomnianym już poradniku założyłem, że skoro u kogoś występuje taki problem, to najprawdopodobniej korzysta z serwera, na którym może dokonywać zmian związanych z uprawnieniami, a jak nie ma, to jest osoba do której można w tej sprawie się zgłosić (administrator serwera lub hostingu).
Jakiś czas temu jednak trafiłem na sytuację, gdy w firmie zapadła decyzja o uruchomieniu firmowego bloga na WordPressie, dział IT tej firmy przygotował grunt (wrzucił WordPressa do katalogu, utworzył i skonfigurował bazę danych), natomiast resztą miała zając się już osoba z marketingu (bardzo szeroko rozumianego w przypadku tej formy ;-)). Z wybraniem motywu, przygotowaniem wyglądu powiedzmy, że większych problemów nie było, a tam gdzie były – pomogłem.
Jednym z problemów do rozwiązania był właśnie problem z uprawnieniami do katalogu, w którym znajdował się WordPress. Każdorazowo, przy próbie aktualizacji (samego WordPressa, czy też wtyczek lub motywu) pojawiał się monit o podanie danych niezbędnych do ustanowienia połączenia FTP s serwerem:
Oczywiście moja pierwszą sugestią było, by koleżanka skontaktowała się z działem IT w firmie, który powinien dokonać niezbędnej korekty uprawnień. Zrobili to, ale zajęło im to kilka tygodni:
Bo to zadanie na co najmniej kilka godzin… Ale na pewno niebawem… znaczy kiedyś…
W każdym bądź razie nie chciałem zostawiać koleżanki w stanie zawieszenia (nie chciałem też samemu ingerować w ich system uprawnień, choć… kusiło), dlatego uznałem, że w takim przypadku najlepiej będzie ustawić „na sztywno” parametry związane z połączeniem FTP, tak by WordPress nie musiał o nie każdorazowo pytać.
Na szczęście jest to dość prosta procedura – wystarczy w pliku konfiguracyjnym (wp-config.php) dodać kilka linijek. Np.:
define( 'FS_METHOD', 'ftpext' );
define( 'FTP_BASE', '/var/www/.../moja-strona-wp/' );
define( 'FTP_USER', 'uzytkownik' );
define( 'FTP_PASS', 'hasło' );
define( 'FTP_HOST', 'adres.serwera.ftp' );
define( 'FTP_SSL', true );
Jest to wersja podstawowa, ale w razie potrzeby można skorzystać jeszcze z kilku dodatkowych opcji:
define( 'FTP_CONTENT_DIR', '/var/www/.../moja-strona-wp/wp-content/' );
define( 'FTP_PLUGIN_DIR ', '/var/www/.../moja-strona-wp/wp-content/plugins/' );
define( 'FTP_PUBKEY', '/home/webinsider/.ssh/id_rsa.pub' );
define( 'FTP_PRIKEY', '/home/webinsider/.ssh/id_rsa' );
W przypadku problemów z połączeniem (o ile upewniliście się, że podajecie prawidłowe dane zamiast przykładowych ;-)) warto zwrócić uwagę na parametr „FTP_SSL”, który być może trzeba ustawić jako nieaktywny:
define( 'FTP_SSL', false );
W dalszej kolejności możecie spróbować inny typ połączenia:
define( 'FS_METHOD', 'ftpext' );
Zamiast „ftpext” możecie ustawić „direct”, „ssh2” lub „ftpsockets” – zależnie od konfiguracji serwera, na którym znajduje się strona. Więcej informacji na ten temat znajdziecie w dokumentacji WordPressa (Codex).
- Wakacje składkowe ZUS a zawieszenie działalności gospodarczej, czyli uważaj, bo być może nie będziesz mógł skorzystać (w 2024) - 1970-01-01
- Przykładowy kalkulator wyceny usługi druku 3D, czyli nie tylko materiał się liczy - 1970-01-01
- Home Assistant 2024.10, czyli nowa karta „nagłówek” i niedziałający TTS w ramach usługi Google Cloud - 1970-01-01