Czy mogę zainstalować / zaktualizować wtyczki WordPress bez zapewniania dostępu FTP?

564

Używam WordPress na moim serwerze na żywo, który używa SFTP tylko za pomocą klucza SSH .

Chcę zainstalować i zaktualizować wtyczki, ale wygląda na to, że musisz podać login FTP, aby zainstalować wtyczki. Czy istnieje sposób instalowania i uaktualniania wtyczek poprzez ręczne przesyłanie plików zamiast obsługiwać cały proces przez WordPress?

użytkownik77413
źródło
3
Tak, możesz. Wystarczy użyć cPanel lub dowolnego innego narzędzia do przesyłania plików; prześlij spakowaną wtyczkę i wypakuj do niej wp-content/plugins/następnie z pulpitu wp przejdź do zakładki wtyczek i włącz ją.
WPDev,
Jeśli używasz a VPS, spróbuj tego: stackoverflow.com/a/44137965/3160597
azerafati,
@WPDev Jeśli twój komentarz został wymieniony jako odpowiedź, głosowałbym go jeszcze raz, to było najbardziej pomocne.
Tensigh

Odpowiedzi:

771

WordPress wyświetli monit o podanie informacji o połączeniu FTP podczas próby zainstalowania wtyczek lub aktualizacji WordPress tylko wtedy, gdy nie będzie mógł /wp-contentbezpośrednio pisać . W przeciwnym razie, jeśli twój serwer ma dostęp do zapisu niezbędnych plików, automatycznie zajmie się aktualizacjami i instalacją. Ta metoda nie wymaga dostępu FTP / SFTP lub SSH, ale wymaga skonfigurowania określonych uprawnień do plików na serwerze WWW.

Spróbuje różnych metod w kolejności i cofnie się na FTP, jeśli metody Direct i SSH są niedostępne.

https://github.com/WordPress/WordPress/blob/4.2.2/wp-admin/includes/file.php#L912

WordPress spróbuje zapisać plik tymczasowy w twoim /wp-contentkatalogu. Jeśli to się powiedzie, porównuje własność pliku z własnym identyfikatorem użytkownika, a jeśli jest zgodna, pozwoli ci użyć „bezpośredniej” metody instalowania wtyczek, motywów lub aktualizacji.

Teraz, jeśli z jakiegoś powodu nie chcesz polegać na automatycznym sprawdzaniu, która metoda systemu plików ma być używana, możesz zdefiniować stałą 'FS_METHOD'w wp-config.phppliku, który będzie albo 'direct', 'ssh', 'ftpext' or 'ftpsockets'używał tej metody. Pamiętaj, że jeśli ustawisz tę opcję na „bezpośrednią”, ale twój użytkownik sieci (nazwa użytkownika, pod którą działa twój serwer WWW) nie ma odpowiednich uprawnień do zapisu, pojawi się błąd.

Podsumowując, jeśli nie chcesz (lub nie możesz) zmienić uprawnień do treści wp, więc twój serwer WWW ma uprawnienia do zapisu, dodaj to do pliku wp-config.php:

define('FS_METHOD', 'direct');

Uprawnienia wyjaśnione tutaj:

stereoscott
źródło
30
Musiałem zrobić: sudo chown -R www-data wp-content, a także nadanie uprawnień do zapisu
mikermcneil
5
Korzystanie z getmyuidlinii 876 jest tutaj prawdopodobnie niepoprawne, ponieważ zwraca identyfikator UID właściciela skryptu, a nie modułu wykonującego skrypt. Wierzę, że tak powinno być posix_getuid.
cmbuckley,
7
Jakie są konsekwencje tego podejścia dla bezpieczeństwa?
Jahmic
1
Jeśli chcesz zobaczyć, pod którym użytkownikiem działa php, możesz użyć tego: print_r(posix_getpwuid(posix_geteuid())); Możesz dodać kod do wp-configpliku.
Ivan V.
3
chown -R www-data wordpress/wp-contentnie działa dla mnie, ale chown -R www-data wordpressnie
Martin
251

Jak wspomniano wcześniej, żadna z poprawek perm już nie działa. Musisz odpowiednio zmienić perms ORAZ umieścić w swoim wp-config.php:

define('FS_METHOD', 'direct');
nie podłączony
źródło
11
Mimo że miałem odpowiednie uprawnienia, aby serwer WWW mógł zapisywać w katalogu wtyczek i katalogu wp-content, ustawienie to naprawiło to, aby administrator nie pytał o ustawienia FTP / SFTP dotyczące aktualizacji wtyczek. Dziękuję Ci. Działał idealnie.
Sean McCleary
7
Musiałem to również wyraźnie zrobić.
julien_c
5
Kiedy wprowadzili ten wymóg?
danjp
Musiałem także polegać na tym ustawieniu, na WP zainstalowanej przez pakiet debian na Ubuntu 12.04. W przeciwnym razie uprawnienia były w porządku, wp-content ma uprawnienia rwx dla grup www-data ...
alci
2
Uważaj, aby upewnić się, że w pliku wp-config.php nie ma już następujących elementów: zdefiniuj („FS_METHOD”, „ftpext”); W tym przypadku umieszczenie zdefiniuj („FS_METHOD”, „direct”); na dole pliku nie będzie działać. Będziesz musiał skasować lub skomentować definicję („FS_METHOD”, „ftpext”); Może się to szczególnie zdarzyć, jeśli przeprowadziłeś migrację z innego serwera, który wymagał FTP.
Doug
104

Chciałem tylko dodać, że NIGDY nie należy ustawiać wp-contentuprawnień ani uprawnień do żadnego folderu 777.

Oto, co musiałem zrobić, aby:

1) Ustawiam własność folderu wordpress (rekurencyjnie) na użytkownika apache:

# chown -R apache wordpress/

2) Zmieniłem własność grupy folderu wordpress (rekurencyjnie) na grupę apache, tak:

# chgrp -R apache wordpress/

3) daj właścicielowi pełne uprawnienia do katalogu, tak jak:

# chmod u+wrx wordpress/*

I to zadziałało. Mój wp-contentfolder ma 755uprawnienia, btw.

Wersja TL; DR:

# chown -R apache:apache wordpress
# chmod u+wrx wordpress/*
sufinawaz
źródło
11
ustawienie twojego wordpressa jako własności apache jest tak samo złe jak ustawienie 777. Rezultat jest taki sam: każdy skrypt php może teraz zmieniać twoje pliki wordpress. Najlepszą opcją jest chown apache: apache tymczasowy, zainstaluj aktualizacje i chown z powrotem do oryginalnej LUB użyj sztuczki ssh / ftp
woens 24.10.2013
11
Nie zgadzam się. Nie jest to dokładnie to samo, co ustawienie na 777. Każdy użytkownik na komputerze miałby dostęp do zapisu, jeśli ustawisz uprawnienia na 777. To jest problem sam w sobie. i podczas gdy masz rację, ten apache może teraz modyfikować pliki php, to byłby przede wszystkim zamiar (w celu zaktualizowania lub zainstalowania czegokolwiek). Jeśli komuś uda się umieścić złośliwe pliki php na serwerze, jest to zupełnie nowy problem i chown do różnych użytkowników niewiele by pomógł.
sufinawaz
2
Dzięki, to też uratowało mi dzień, ponieważ nie mam uprawnień FTP, a jedynie dostęp do konta root.
shasi kanth
4
To jedyny, który mi pomógł! Wielkie dzięki, po latach rozwijania stron Wordpress, to wciąż klasyczny problem!
acidghost
1
Jeśli używasz WordPressa w nietypowej kompilacji, umieść to w pliku PHP, aby sprawdzić, kto jest uruchomiony jako Apache (na przykład ubuntu to www-data): <? Php echo exec ('whoami'); ?>
Imperative
70
  1. W wp-config.phpdodatkudefine('FS_METHOD', 'direct');
  2. Zrobić serwer zapisu katalogów wp-content/, wp-content/plugins/.
  3. Zainstaluj wtyczkę (skopiuj katalog wtyczek do katalogu wp-content/plugins).

Pracował nad wersją 3.2.1

Lamy
źródło
4
Pracował również w wersji 4.0.
Meetai.com,
1
Musisz dodać tę opcję, ale musisz tylko zmienić perms na wp-content / plugins
John Kloian
Są to wyraźnie kroki, które należy wykonać, aby zainstalować wtyczkę bez wyświetlania monitu o podanie informacji o FTP. Możesz podjąć kroki w celu zaostrzenia WordPress z uprawnieniami, a następnie wprowadzić te 2 zmiany i powinieneś pozostać w większości bezpieczny.
bozdoz,
50

otwórz wp-config.phpplik i dodaj następujący wiersz:

define('FS_METHOD', 'direct');

to działa dla mnie ... Dzięki

StreetCoder
źródło
Działa również (i wydaje się wymagana) w wersji 5.4 od czerwca 2020 r.
Ralf Hein
34

Szybka zmiana na wp-config.php

define('FS_METHOD','direct');

To wszystko, ciesz się aktualizacjami WordPress bez ftp !

Metoda alternatywna:

Istnieją hosty, które uniemożliwiają działanie tej metody w celu ułatwienia aktualizacji WordPress. Na szczęście istnieje inny sposób, aby powstrzymać tego szkodnika przed pytaniem o nazwę użytkownika FTP i hasło.

Ponownie po deklaracjach logowania MYSQL w pliku wp-config.php dodaj:

define("FTP_HOST", "localhost");
define("FTP_USER", "yourftpusername");
define("FTP_PASS", "yourftppassword");
Ravi Patel
źródło
22

Aby umożliwić korzystanie z SSH2 do aktualizacji i przesyłania motywów, musisz wygenerować klucze SSH i mieć zainstalowany moduł PHP SSH. Następnie WordPress wykryje, że masz dostęp do SSH2 i zobaczysz inną opcję (SSH2) wyświetlaną podczas przesyłania / aktualizacji.

1.) Upewnij się, że masz zainstalowany moduł PHP dla Debiana:

sudo apt-get install libssh2-php

2.) Wygeneruj klucze SSH, dodanie hasła jest opcjonalne:

ssh-keygen
cd  ~/.ssh
cp id_rsa.pub authorized_keys

3.) Zmień uprawnienia, aby WordPress mógł uzyskać dostęp do tych kluczy:

cd ~
chmod 755 .ssh
chmod 644 .ssh/*

Teraz dostaniesz opcję SSH2 podczas przesyłania / aktualizacji / wtyczki. Połączenie WP SSH

4.) Dla większej łatwości możesz skonfigurować ustawienia domyślne w swoim, wp-config.phpco spowoduje wstępne wypełnienie poświadczeń SSH w oknie przesyłania WordPress.

define('FTP_PUBKEY','/home/<user>/.ssh/id_rsa.pub');
define('FTP_PRIKEY','/home/<user>/.ssh/id_rsa');
define('FTP_USER','<user>');
define('FTP_PASS','passphrase');
define('FTP_HOST','domain.com');

„Hasło” jest opcjonalne, jeśli nie skonfigurujesz hasła podczas ssh-kengen; to nie dodawaj tegowp-config.php

To rozwiązało mój problem. I wcale nie musiałem tego robić chown. Ale widziałem tę metodę w innych miejscach.

Bibliografia:

JacquelineIO
źródło
nie jestem ekspertem od bezpieczeństwa i zdaję sobie sprawę, że wordpress uwzględnił tę możliwość i pomyślałem, że było OK .... ale nie czuję się dobrze z tym ... 1. mając konto ssh bez hasła, (każdy, kto kiedykolwiek dostanie klucz prywatny może następnie zalogować się zdalnie w dowolnym momencie bez hasła) i 2. mając hasło zapisane w postaci zwykłego tekstu (patrz 1). przypomina mi rsh, w zależności od pomysłu, że „nikt nie będzie miał dostępu do moich lokalnych plików” w celu ochrony hasła sieciowego do systemu.
don bright
Jestem pewien, że możesz wygenerować hasło i NIE dodawać go do wp-config.php, wtedy będziesz musiał je wpisać po przejściu do okna dialogowego Informacje o połączeniu.
JacquelineIO,
Używanie niezaszyfrowanego klucza prywatnego w ten sposób jest ogromną luką w zabezpieczeniach. Ale możesz złagodzić problem, przygotowując „od = cokolwiek” do odpowiedniego wiersza w uprawnionych kluczach.
markhahn
To jest świetne, ale wydaje się, że istnieje niezgodność z php7: core.trac.wordpress.org/ticket/35517
Supaiku
21

Zwykle możesz po prostu wgrać wtyczkę do wp-content\pluginskatalogu. Jeśli nie masz dostępu do tego katalogu przez SFTP, obawiam się, że utknąłeś.

Toby Allen
źródło
Tak, po prostu upuść je w wp-content / plugins.
ceejayoz
17

Możesz to bardzo łatwo uzyskać, wpisując następujące polecenie w poleceniu polecenia

sudo chown -R www-data:www-data your_folder_name

lub skopiuj i wklej następujący kod w pliku wp-config.php.

define('FS_METHOD', 'direct');

Gdzie „twoja_nazwa_folderu” to folder, w którym WordPress jest zainstalowany w tym folderze.

rzymski
źródło
16

Wykonaj następujący kod w terminalu

sudo chown -R www-data /var/www

Aby uzyskać więcej informacji, odwiedź Wordpress na temat wtyczek instalacyjnych Ubuntu bez dostępu FTP

Bikram Shrestha
źródło
4
Zapewnianie dostępu do danych www do wszystkiego w twoim katalogu
internetowym
wariant, który zadziałał dla mnie:sudo chown -R www-data /var/www/html
Jules Colle
15

Dodaj następujący kod do wp-config

define('FS_METHOD', 'direct');

FS_METHOD wymusza metodę systemu plików. Powinno to być tylko bezpośrednie, ssh2, ftpext lub ftpsockets. Zasadniczo należy to zmieniać tylko w przypadku problemów z aktualizacją. Jeśli to zmienisz, a to nie pomoże, zmień to z powrotem / usuń. W większości przypadków ustawienie go na „ftpsockets” będzie działać, jeśli nie zostanie wybrana automatycznie wybrana metoda.

(Preferencje podstawowe) „bezpośredni” zmusza go do korzystania z bezpośrednich żądań we / wy pliku z poziomu PHP, jest to obarczone otwieraniem problemów bezpieczeństwa na źle skonfigurowanych hostach. Jest to wybierane automatycznie, gdy jest to właściwe.

(Preferencje wtórne) „ssh2” wymusza użycie rozszerzenia SSH PHP, jeśli jest zainstalowane

(3. preferencja) „ftpext” to wymuszenie użycia rozszerzenia PHP PHP dla dostępu FTP, i na koniec

(4. preferencja) „ftpsockets” wykorzystuje klasę PHP Sockets do dostępu FTP

Więcej informacji na stronie: http://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants

Rahul Balakrishna
źródło
15

Jeśli korzystasz z systemu Ubuntu , szybkim rozwiązaniem, które mi pomogło, jest przekazanie własności użytkownikowi Apache (domyślnie dane www) w następujący sposób:

cd your_wordpress_directory
sudo chown -R www-data wp-content
sudo chmod -R 755 wp-content
mikermcneil
źródło
2
Nie zezwalaj na wykonywanie plików, które go nie potrzebują.
Burhan Ali,
13

Zmień z php_modna fastcgiz włączoną cgii SuEXEC. Pracuje dla mnie.

Jeśli nie działa, spróbuj zmienić wp-contentna 775root:

chmod -R 775 ./wp-content

Dodaj do wp-config.php:

define('FS_METHOD', 'direct');

mam nadzieję, że to zadziała

Zaman
źródło
12

WordPress 2.7 umożliwia bezpośrednie przesłanie pliku zip (na dole strony wtyczek znajduje się link) - nie wymaga dostępu do FTP. Jest to nowa funkcja w wersji 2.7 i działa tylko z wtyczkami (jeszcze nie z motywami).

D. Lambert
źródło
BTW, aktualizacja jest jeszcze łatwiejsza - zobaczysz ikonę wskazującą, że nowa wersja jest dostępna, a następnie kliknij „uaktualnij” i pozwól mu to zrobić. Bardzo dobrze. Nawet rdzeń WordPress jest uaktualniany w ten sposób - przeszedłem z 2.7 do 2.7.1 bez przesyłania czegokolwiek.
D. Lambert,
Jest to prawdą tylko wtedy, gdy masz ustawione uprawnienia do plików, aby serwer WWW / użytkownik PHP mógł do nich pisać. Jeśli nie, wyświetli monit o podanie poświadczeń FTP / SFTP. Zobacz odpowiedź stereointeractive.com.
Dave Forgac,
9

Wskrzesza stary wątek, ale jest nowa fantastyczna wtyczka o nazwie SSH SFTP Updater Support, która dodaje możliwości SFTP bez konieczności edycjiwp-config.php pliku. Ponadto implementacja SFTP Wordpress opiera się na nieco niejasnych modułach PHP, które często nie są włączone na serwerach; ta wtyczka pakuje inną wtyczkę PHP SFTP, więc nie musisz niczego konfigurować po stronie Apache.

Wpadłem na mnóstwo problemów z działaniem obsługi SFTP - ta wtyczka rozwiązała wszystkie z nich i jest po prostu fantastyczna.

chrismanderson
źródło
9

Spróbuj tego

1) W wp-config.phpdodatkudefine('FS_METHOD', 'direct');

2) Ustaw wp-contentkatalog na 777do zapisu.

3) Teraz zainstaluj wtyczkę.

Raj
źródło
6
Cześć Mohan, dzięki stosy za opcję FS_METHOD. Właśnie tego szukałem. Muszę powiedzieć, co następuje: żaden katalog nie powinien potrzebować 777, chyba że okoliczności są wyjątkowe. To sprawia, że ​​świat katalogów jest czytelny, zapisywalny i wykonywalny. Jest to ogromne zagrożenie bezpieczeństwa. Właściwym rozwiązaniem jest ustalenie, kim jest użytkownik apache (www-data, _www lub podobny). Ten użytkownik potrzebuje dostępu do odczytu i zapisu do treści wp lub musi mieć własność nad tym katalogiem („sudo chown www-data wp-content”), bez uprawnień do wykonywania. Przepraszam, że jestem trochę tępy, ale 777 jest niebezpieczny dla treści internetowych.
Ruben,
8
Nie 777 katalogu przesyłanych plików, jest to niebezpieczne i nie powinno być odpowiedzią!
MKN Web Solutions
8

Odpowiedź od stereointeractive obejmuje wszystkie opcje. Chciałem tylko wspomnieć o alternatywnym sposobie korzystania z FTP. Zgaduję, że powodem, dla którego nie pozwalasz na dostęp FTP, jest bezpieczeństwo. Jednym ze sposobów rozwiązania tych problemów związanych z bezpieczeństwem jest uruchomienie serwera FTP nasłuchującego tylko w wersji 127.0.0.1

Dzięki temu możesz korzystać z FTP z poziomu WordPressa i będziesz mógł instalować wtyczki, nie ujawniając go reszcie świata. Można to również zastosować do innych popularnych aplikacji internetowych, takich jak Joomla! i Drupal. To właśnie robimy z naszymi urządzeniami BitNami i serwerami w chmurze i działa całkiem dobrze.

kaysa
źródło
8

Polecam również wtyczkę SSH SFTP Updater Support . Właśnie rozwiązałem również wszystkie moje problemy ... szczególnie w odniesieniu do pobierania wtyczek do usunięcia przez administratora. Po prostu zainstaluj go w zwykły sposób, a następnym razem, gdy WordPress wyświetli monit o podanie szczegółów FTP, pojawią się dodatkowe pola do skopiowania / wklejenia prywatnego klucza SSH lub przesłania pliku PEM.

Jedyny problem, jaki mam, to sprawienie, by zapamiętał klucz (wypróbowałem obie metody). Nie podoba mi się pomysł szukania i wprowadzania go za każdym razem, gdy muszę usunąć wtyczkę. Ale przynajmniej na razie jest to solidna poprawka.

Mark Jeldi
źródło
1
„pojawią się dodatkowe pola do skopiowania / wklejenia prywatnego klucza SSH”… nie jestem geniuszem w zakresie bezpieczeństwa, ale… nie chodzi o sedno prywatnych kluczy SSH, że nigdy nie musisz ich wysyłać przez sieć ?
don bright
8

Tak, bezpośrednio zainstaluj wtyczkę w WordPress.

  1. Skopiuj folder wtyczek i wklej do folderu wtyczek WordPress.
  2. przejdź do strony administratora (/ test / wp-admin), a następnie po przejdź do linku do wtyczki i sprawdź nazwę wtyczki.
  3. Aktywuj wtyczkę, aby łatwo zainstalować wtyczkę.

inna opcja

  1. utwórz plik zip dla kodu wtyczki.
  2. przejdź do strony administratora (/ test / wp-admin), a następnie po przejściu do linku do wtyczki, a następnie kliknij dodaj nowy, przejrzyj folder zip wtyczki i zainstaluj wtyczkę, a następnie wyjdź z opcji aktywuj wtyczkę, więc aktywuj wtyczkę i aktywuj wtyczkę.
Maulik Patel
źródło
6

Możliwe jest użycie SFTP lub SSH do automatycznej aktualizacji wtyczek w WordPress, ale musisz mieć rozszerzenie ssh2 pecl. Możesz dowiedzieć się, jak to zrobić, korzystając z poniższego samouczka

Sudar
źródło
6

Używamy SFTP z SSH (zarówno na naszych serwerach programistycznych, jak i na żywo), a ja próbowałem (choć niezbyt mocno) korzystać z funkcji przesyłania WordPress. Zgadzam się z Toby, prześlij swoje wtyczki do wp-content/pluginskatalogu, a następnie aktywuj je stamtąd.

Schoffelman
źródło
6

Widziałem wiele osób zalecających ustawienie uprawnień na 777. Miałem ten sam problem jak 2 dni temu i wszystko, co zrobiłem, to dodaj to do wp-content

define('FS_METHOD', 'direct');

i

ustaw uprawnienia na 775 dla folderu wtyczek

To rozwiązało mój problem z pytaniem o login / hasło dostępu do FTP.

Wcześniej musiałem ręcznie dodać wtyczkę, dodając plik .zip do folderu wtyczki, a następnie przejdź do wp-admin/pluginsi musiałem ją zainstalować.

ZainZaheer06
źródło
5

Spróbuj tego Sprawdź, czy do folderu wp-content udzielono poprawnych uprawnień.

Edytuj wp-config.php dodaj następujący wiersz

define('FS_METHOD', 'direct');

chmod katalog „wp-content” do danych www dla pełnego dostępu.

Teraz spróbuj zainstalować wtyczkę.

Javeed Shakeel
źródło
4

Tak, możesz to zrobić.

Musisz dodać

define('METHOD','direct');

w twoim wpconfig. Ale ta metoda nie będzie lepsza, ponieważ ma słabości bezpieczeństwa.

Dzięki,

Riyaz
źródło
3

Metoda 1: Możesz ustawić to: 1. w wp-config.php musisz napisać te linie.

define('FS_METHOD', 'direct'); 

Uwaga: wstaw to po zdefiniowaniu („DB_CHARSET”, „utf8mb4”).

  1. ustaw uprawnienia lub uprawnienia wp-content na rekurencyjne 777 pełne uprawnienia, które możesz udzielić za pośrednictwem filezilla. zapisz kliknij katalog> uprawnienia> sprawdź odczyt-zapis i wykonaj, a także zaznacz Rekurencyjne w podkatalogach

    Metoda 2:

lub Możesz to również ustawić

define("FTP_HOST", "localhost");
define("FTP_USER", "yourftpusername");
define("FTP_PASS", "yourftppassword");
Samir Lakhani
źródło
do lutego 2020 r., jest to wyraźna instrukcja,Note: put this after define( 'DB_CHARSET', 'utf8mb4' ).
Osify
2

konfigurowanie ftp, a nawet połączenia SFTP lub chmod 777 to zły sposób na cokolwiek innego niż środowisko lokalne. Otwarcie nawet metody SFTP wprowadza więcej niepotrzebnych zagrożeń bezpieczeństwa.

potrzebne jest prawo do zapisu do / wp-content / uploads & / wp-content / plugins / przez właściciela tych katalogów. (linux ls -la pokaże ci własność).

Domyślnym działającym użytkownikiem apache jest www-data.

chmod 777 pozwala każdemu użytkownikowi na komputerze edytować te pliki, nie tylko użytkownikowi wątku apache / php.

SFTP, jeśli jeszcze go nie używasz, wprowadzi kolejny punkt możliwej awarii z zewnętrznego źródła. Podczas gdy potrzebujesz tylko dostępu lokalnego użytkownika uruchamiającego proces apache / php, aby zrealizować cel.

Nie widziałem, żeby ktokolwiek robił te punkty, więc pomyślałem, że zaoferuję te informacje, aby pomóc nam w rozwiązaniu problemów związanych z bezpieczeństwem WP w Internecie.

Jason
źródło
2

Oto prosta metoda.

Wykonaj następujące polecenia.

Umożliwi to moduł mod_rewrite dla Apache

$sudo a2enmod rewrite

To polecenie zmieni właściciela folderu na www-data

$sudo chown -R www-data [Wordpress Folder Location]

Po wykonaniu powyższych poleceń możesz zainstalować dowolne motywy bez FTP.

Manuja Jayawardana
źródło
1
Dla Nginx po prostu uruchom drugie poleceniesudo chown -R www-data [Wordpress Folder Location]
srokatonie
@srokatonie dzięki za komentarz. będzie to przydatne dla wszystkich.
Manuja Jayawardana,
2

Dodaj define('FS_METHOD','direct');wo-config.php

Gulshan Kumar
źródło
1

Jedyny powód, dla którego WordPress nie pozwala na przesyłanie żadnych wtyczek za pośrednictwem pulpitu administracyjnego WordPress, gdy nie masz uprawnień do pisania w katalogu / wp-content. Pamiętaj, że twój katalog wordpress / wp-content wymaga poziomu uprawnień 0755. Istnieją różne sposoby zmiany poziomu uprawnień do folderu.

Zmiana uprawnień do plików za pomocą cPanel:

Przejdź do Menedżera plików w otwartym publicznym folderze HTML, w którym powinna znajdować się witryna Wordpress, lub otwórz katalog główny witryny, jeśli witryna znajduje się w innym folderze. W katalogu głównym WordPress przejdź do folderu wp-content; na końcu wiersza folderu wp-content ostatnie pole przenosi uprawnienia do plików dla tego folderu. Edytuj poziom uprawnień do folderu na 0755 i gotowe.

Zmiana uprawnień do plików za pomocą terminala SSH:

W swoim terminalu zlokalizuj katalog główny witryny WordPress, która w moim przypadku to / var / www / html, aby przejść do katalogu głównego WordPress, wprowadź następującą komendę:

cd /var/www/html 

Teraz jesteś w katalogu głównym WordPress, w którym znajduje się wymagany folder / wp-content. Aby zmienić uprawnienia do pliku, wpisz następującą komendę:

sudo chmod wp-content 755 

Spowoduje to zmianę uprawnień do pliku katalogu / wp-content na 0755.

Teraz nie otrzymasz komunikatu o błędzie podczas przesyłania wtyczek Wordpress przez FTP.

Zulkifl Agha
źródło
0

Najlepszym sposobem na zainstalowanie wtyczki za pomocą SSH jest WPCLI.

Należy pamiętać, że dostęp SSH jest obowiązkowy, aby używać komend WP CLI. Przed użyciem sprawdź, czy WP CLI jest zainstalowany na serwerze hostingowym lub komputerze.

Jak sprawdzić: wp --version[Pokaże zainstalowaną wersję wp cli]

Jeśli nie jest zainstalowany, jak go zainstalować: Przed zainstalowaniem WP-CLI upewnij się, że środowisko spełnia minimalne wymagania:

Środowisko uniksopodobne (OS X, Linux, FreeBSD, Cygwin); ograniczona obsługa w środowisku Windows. PHP 5.4 lub nowszy WordPress 3.7 lub nowszy. Wersje starsze niż najnowsza wersja WordPress mogą mieć obniżoną funkcjonalność

Jeśli powyższe punkty są spełnione, wykonaj następujące czynności: Referencyjny adres URL: WPCLI

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
[ download the wpcli phar ]

php wp-cli.phar --info [ check whether the phar file is working ]

chmod +x wp-cli.phar [ change permission ]
sudo mv wp-cli.phar /usr/local/bin/wp [ move to global folder ]
wp --info [ to check the installation ]

Teraz WP CLI jest gotowy do instalacji.

Teraz możesz zainstalować dowolną wtyczkę dostępną w WordPress.org, używając następujących poleceń:

wp install plugin plugin-slug
wp delete plugin plugin-slug
wp deactivate plugin plugin-slug

UWAGA: wp cli może zainstalować tylko te wtyczki, które są dostępne w wordpress.org

Tristup
źródło