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).

(!) Zgłoś błąd na stronie

Spodobał Ci się artykuł? Zapisz się do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!

Na podany adres e-mail otrzymasz od nas wiadomość e-mail, w której znajdziesz link do potwierdzenia subskrypcji naszego Newslettera. Dzięki temu mamy pewność, że nikt nie dodał Twojego adresu przez przypadek. Jeśli wiadomość nie przyjdzie w ciągu najbliższej godziny (zazwyczaj jest to maksymalnie kilka minut) sprawdź folder SPAM.

Patryk

CEO Webinsider.pl, a do tego CTO, CIO, CFO, CMO, CSO, COO i CRO ;-)
Pasjonat nowych technologii - od sprzętu po oprogramowanie, od serwerów po smartfony i rozwiązania IoT. Potencjalnie kiepski bloger, bo nie robi zdjęć "talerza" zanim zacznie jeść.

Dumny przyjaciel swoich psów :-)