Bisakah saya menginstal / memperbarui plugin WordPress tanpa menyediakan akses FTP?

565

Saya menggunakan WordPress di server langsung saya yang hanya menggunakan SFTP menggunakan kunci SSH .

Saya ingin menginstal dan memutakhirkan plugin, tetapi tampaknya Anda diminta untuk memasukkan login FTP Anda untuk menginstal plugin. Apakah ada cara untuk menginstal dan meningkatkan plugin dengan mengunggah file secara manual alih-alih membuat WordPress menangani seluruh proses?

pengguna77413
sumber
3
Ya kamu bisa. Cukup menggunakan cPanel atau alat unggah file lainnya yang Anda miliki; unggah plugin yang di-zip dan ekstrak wp-content/plugins/lalu dari wp dashboard, buka tab plugins dan aktifkan.
WPDev
Jika menggunakan a VPS, sebaiknya coba ini: stackoverflow.com/a/44137965/3160597
azerafati
@WPDev Jika komentar Anda terdaftar sebagai jawaban, saya akan mengulanginya lagi, itu yang paling membantu.
Tensigh

Jawaban:

772

WordPress hanya akan meminta Anda untuk informasi koneksi FTP Anda saat mencoba menginstal plugin atau pembaruan WordPress jika tidak dapat menulis /wp-contentlangsung. Jika tidak, jika server web Anda memiliki akses tulis ke file-file yang diperlukan, itu akan menangani pembaruan dan instalasi secara otomatis. Metode ini tidak mengharuskan Anda untuk memiliki akses FTP / SFTP atau SSH, tetapi mengharuskan Anda untuk memiliki izin file tertentu yang diatur di server web Anda.

Ini akan mencoba berbagai metode secara berurutan, dan kembali ke FTP jika metode Direct dan SSH tidak tersedia.

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

WordPress akan mencoba menulis file sementara ke /wp-contentdirektori Anda . Jika ini berhasil, ia membandingkan kepemilikan file dengan uid sendiri, dan jika ada kecocokan itu akan memungkinkan Anda untuk menggunakan metode 'langsung' menginstal plugin, tema, atau pembaruan.

Sekarang, jika karena alasan tertentu Anda tidak ingin bergantung pada pemeriksaan otomatis untuk metode sistem file mana yang digunakan, Anda dapat menentukan konstanta, 'FS_METHOD'dalam wp-config.phpfile Anda , itu adalah salah satunya 'direct', 'ssh', 'ftpext' or 'ftpsockets'dan ia akan menggunakan metode itu. Ingatlah bahwa jika Anda mengatur ini menjadi 'langsung', tetapi pengguna web Anda (nama pengguna yang menjalankan server web Anda) tidak memiliki izin menulis yang tepat, Anda akan menerima kesalahan.

Singkatnya, jika Anda tidak ingin (atau tidak bisa) mengubah izin pada konten wp sehingga server web Anda memiliki izin menulis, kemudian tambahkan ini ke file wp-config.php Anda:

define('FS_METHOD', 'direct');

Izin dijelaskan di sini:

stereoscott
sumber
30
Saya harus melakukan: sudo chown -R www-data wp-content serta memberikan izin menulis
mikermcneil
5
Penggunaan getmyuidon line 876 bisa dibilang salah di sini, karena mengembalikan UID pemilik skrip, bukan pelaksana skrip. Saya percaya seharusnya begitu posix_getuid.
cmbuckley
7
Apa implikasi keamanan dari pendekatan ini?
Jahmic
1
Jika Anda ingin melihat di mana pengguna yang menjalankan php, Anda dapat menggunakan ini: print_r(posix_getpwuid(posix_geteuid())); Anda dapat menambahkan kode dalam wp-configfile.
Ivan V.
3
chown -R www-data wordpress/wp-contenttidak bekerja untuk saya, tetapi chown -R www-data wordpressberhasil
Martin
252

Seperti yang dinyatakan sebelumnya tidak ada perbaikan perm yang berfungsi lagi. Anda perlu mengubah perms yang sesuai DAN memasukkan yang berikut di wp-config.php:

define('FS_METHOD', 'direct');
tidak terhubung
sumber
11
Meskipun saya memiliki izin yang benar sehingga server web dapat menulis ke direktori plugins dan direktori wp-content, pengaturan ini memperbaikinya sehingga admin tidak meminta pengaturan FTP / SFTP untuk memperbarui plugin. Terima kasih. Bekerja dengan sempurna.
Sean McCleary
7
Saya harus secara eksplisit melakukan ini juga.
julien_c
5
Kapan mereka menjadikan ini persyaratan?
danjp
Saya juga harus mengandalkan pengaturan ini, pada WP yang diinstal oleh paket debian pada Ubuntu 12.04. Kalau tidak, izinnya baik-baik saja, konten-wp memiliki izin rwx untuk grup www-data ...
alci
2
Tonton untuk memastikan yang berikut ini belum ada di file wp-config.php: define ('FS_METHOD', 'ftpext'); Dalam hal ini, menempatkan define ('FS_METHOD', 'direct'); di bagian bawah file tidak akan berfungsi. Anda harus menghapus atau mengomentari define ('FS_METHOD', 'ftpext'); Ini mungkin sangat mungkin terjadi jika Anda telah bermigrasi dari server lain yang membutuhkan FTP.
Doug
104

Hanya ingin menambahkan bahwa Anda harus TIDAK PERNAH mengatur wp-contentizin atau izin folder apa pun 777.

Inilah yang harus saya lakukan untuk:

1) Saya mengatur kepemilikan folder wordpress (secara rekursif) kepada pengguna apache, seperti:

# chown -R apache wordpress/

2) Saya mengubah kepemilikan grup dari folder wordpress (secara rekursif) ke grup apache, seperti:

# chgrp -R apache wordpress/

3) beri pemilik hak penuh untuk direktori, seperti:

# chmod u+wrx wordpress/*

Dan itu berhasil. wp-contentFolder saya memiliki 755izin, btw.

TL; versi DR:

# chown -R apache:apache wordpress
# chmod u+wrx wordpress/*
sufinawaz
sumber
11
mengatur wordpress Anda sebagai milik apache sama buruknya dengan pengaturan 777. Hasilnya sama: skrip php apa pun sekarang dapat mengubah file wordpress Anda. Opsi terbaik adalah chown apache: apache sementara, instal pembaruan Anda dan chown kembali ke aslinya ATAU gunakan ssh / ftp trick
woens
11
Saya tidak setuju. Ini tidak sama dengan pengaturan ke 777. Setiap pengguna di mesin akan memiliki akses tulis jika Anda mengatur izin ke 777. Itu adalah masalah itu sendiri. dan ketika Anda benar, apache itu dapat mengubah file php sekarang, itu akan menjadi tujuan di tempat pertama (untuk memperbarui atau menginstal apa pun). Jika seseorang berhasil meletakkan file php berbahaya di server, itu masalah yang sama sekali baru dan mengunyah ke pengguna yang berbeda tidak akan banyak membantu.
sufinawaz
2
Terima kasih, ini menyelamatkan hari saya juga, karena saya tidak memiliki hak FTP, tetapi hanya akses root.
shasi kanth
4
Ini adalah satu-satunya yang membantu saya! Terima kasih banyak, setelah bertahun-tahun mengembangkan situs Wordpress, ini masih merupakan masalah klasik!
acidghost
1
Jika Anda menjalankan WordPress di bawah bangunan yang tidak biasa, tempelkan ini dalam file PHP untuk memeriksa siapa yang menjalankan Apache (ubuntu, misalnya, adalah www-data): <? Php echo exec ('whoami'); ?>
Imperatif
70
  1. Di wp-config.phptambahkandefine('FS_METHOD', 'direct');
  2. Membuat server ditulis direktori wp-content/, wp-content/plugins/.
  3. Instal plugin (salin direktori plugin ke wp-content/pluginsdirektori).

Bekerja pada versi 3.2.1

Lamy
sumber
4
Bekerja pada versi 4.0 juga.
Meetai.com
1
Anda harus menambahkan opsi ini tetapi Anda hanya perlu mengubah perms pada wp-content / plugins
John Kloian
Ini secara eksplisit langkah-langkah yang harus Anda ambil untuk menginstal plugin tanpa diminta info FTP. Anda dapat mengambil langkah-langkah untuk Mengeras WordPress dengan izin, dan kemudian membuat 2 perubahan ini, dan sebagian besar Anda harus tetap aman.
bozdoz
51

buka wp-config.phpfile dan tambahkan baris berikut:

define('FS_METHOD', 'direct');

ini bekerja untuk saya ... Terima kasih

StreetCoder
sumber
Juga berfungsi (dan tampaknya diperlukan) pada Versi 5.4 pada Juni 2020.
Ralf Hein
34

Hanya perubahan cepat ke wp-config.php

define('FS_METHOD','direct');

Itu saja, nikmati pembaruan wordpress Anda tanpa ftp !

Metode Alternatif:

Ada host di luar sana yang akan mencegah metode ini bekerja untuk memudahkan pembaruan WordPress Anda. Untungnya, ada cara lain untuk mencegah hama ini meminta Anda untuk memasukkan nama pengguna dan kata sandi FTP Anda.

Sekali lagi, setelah deklarasi login MYSQL di file wp-config.php Anda, tambahkan berikut ini:

define("FTP_HOST", "localhost");
define("FTP_USER", "yourftpusername");
define("FTP_PASS", "yourftppassword");
ravi patel
sumber
22

Untuk mengaktifkan penggunaan SSH2 untuk pembaruan dan unggahan tema Anda, Anda harus membuat kunci SSH dan memasang modul PHP SSH. Kemudian WordPress akan mendeteksi bahwa Anda memiliki SSH2 tersedia dan Anda akan melihat opsi yang berbeda (SSH2) ditampilkan ketika melakukan pengunggahan / peningkatan.

1.) Pastikan Anda telah menginstal modul PHP untuk debian itu adalah:

sudo apt-get install libssh2-php

2.) Hasilkan kunci SSH, menambahkan kata sandi adalah opsional:

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

3.) Ubah izin agar WordPress dapat mengakses kunci-kunci itu:

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

Sekarang Anda akan mendapatkan opsi SSH2 ketika melakukan upload / upgrade / plugin. Koneksi WP SSH

4.) Untuk kemudahan tambahan Anda dapat mengatur default di Anda wp-config.phpdan ini akan pra-mengisi kredensial SSH di jendela unggah 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');

'Frasa sandi' adalah opsional, jika Anda tidak mengatur frasa sandi selama ssh-kengen; maka jangan menambahkannyawp-config.php

Ini menyelesaikan masalah saya. Dan saya tidak perlu melakukan itu chownsama sekali. Tetapi saya telah melihat metode ini dirujuk di tempat lain.

Referensi:

JacquelineIO
sumber
saya bukan ahli keamanan, dan saya menyadari wordpress menyertakan kemampuan ini dan berpikir itu baik-baik saja .... tetapi saya merasa tidak enak dengan ini ... 1. memiliki akun ssh tanpa frasa sandi, (siapa pun yang pernah mendapatkan kunci pribadi kemudian dapat login dari jarak jauh kapan saja mereka mau tanpa kata sandi) dan 2. memiliki frasa sandi yang disimpan dalam plaintext (lihat 1). itu mengingatkan saya pada rsh, tergantung pada gagasan bahwa "tidak ada yang akan memiliki akses ke file lokal saya" untuk melindungi kata sandi jaringan ke suatu sistem.
don bright
Saya yakin Anda dapat membuat frasa sandi dan TIDAK menambahkannya ke wp-config.php, maka Anda hanya perlu mengetikkannya saat Anda masuk ke dialog Informasi Koneksi.
JacquelineIO
Ini adalah lubang keamanan besar untuk menggunakan kunci pribadi yang tidak terenkripsi dengan cara ini. Tetapi Anda dapat mengurangi masalah dengan menambahkan "dari = apa pun" ke baris yang relevan di otor_keys.
markhahn
Ini bagus, tetapi sepertinya ada ketidakmampuan dengan php7: core.trac.wordpress.org/ticket/35517
Supaiku
21

Biasanya Anda cukup mengunggah plugin Anda ke wp-content\pluginsdirektori. Jika Anda tidak memiliki akses ke direktori ini melalui SFTP, saya khawatir Anda mungkin mandek.

Toby Allen
sumber
Ya, cukup taruh di wp-content / plugins.
ceejayoz
17

Anda bisa mendapatkannya dengan sangat mudah dengan mengetikkan perintah berikut pada command promt

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

atau salin & tempel kode berikut dalam file wp-config.php Anda.

define('FS_METHOD', 'direct');

Di mana "your_folder_name" adalah folder tempat WordPress Anda diinstal di dalam folder ini.

Roma
sumber
16

Jalankan kode berikut di terminal

sudo chown -R www-data /var/www

Untuk perincian lebih lanjut, kunjungi Wordpress di Ubuntu, pasang plugin tanpa akses FTP

Bikram Shrestha
sumber
4
Bukan ide yang baik untuk memberikan akses data-www ke semua yang ada di direktori web Anda
WoodyDRN
varian yang bekerja untuk saya:sudo chown -R www-data /var/www/html
Jules Colle
15

Tambahkan kode berikut ke wp-config

define('FS_METHOD', 'direct');

FS_METHOD memaksa metode sistem file. Seharusnya hanya direct, ssh2, ftpext, atau ftpsockets. Secara umum, Anda hanya perlu mengubah ini jika Anda mengalami masalah pembaruan. Jika Anda mengubahnya dan itu tidak membantu, ubah kembali / hapus. Dalam sebagian besar keadaan, mengaturnya ke 'ftpsockets' akan berfungsi jika metode yang dipilih secara otomatis tidak.

(Preferensi Utama) "langsung" memaksanya untuk menggunakan permintaan I / O File Langsung dari dalam PHP, ini penuh dengan membuka masalah keamanan pada host yang dikonfigurasi dengan buruk, Ini dipilih secara otomatis bila perlu.

(Preferensi Sekunder) "ssh2" adalah untuk memaksa penggunaan Ekstensi PHP SSH jika diinstal

(Preferensi 3) "ftpext" adalah untuk memaksa penggunaan Ekstensi PHP FTP untuk Akses FTP, dan akhirnya

(Preferensi ke-4) "ftpsockets" memanfaatkan Kelas Soket PHP untuk Akses FTP

Untuk informasi lebih lanjut, kunjungi: http://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants

Rahul Balakrishna
sumber
15

Jika Anda menggunakan Ubuntu , solusi cepat yang berfungsi untuk saya adalah memberikan kepemilikan kepada pengguna Apache (www-data secara default) seperti:

cd your_wordpress_directory
sudo chown -R www-data wp-content
sudo chmod -R 755 wp-content
mikermcneil
sumber
2
Jangan berikan izin eksekusi ke file yang tidak membutuhkannya.
Burhan Ali
13

Ubah dari php_modmenjadi fastcgidengan cgi& SuEXECdiaktifkan. Bekerja untukku.

Jika tidak berhasil, coba ubah wp-contentmenjadi 775root:

chmod -R 775 ./wp-content

Tambahkan ke wp-config.php:

define('FS_METHOD', 'direct');

Saya harap ini berhasil

Zaman
sumber
12

WordPress 2.7 memungkinkan Anda mengunggah file zip secara langsung (ada tautan di bagian bawah halaman plugin) - tidak diperlukan akses FTP. Ini adalah fitur baru di 2.7, dan hanya berfungsi untuk plugin (belum tema).

D. Lambert
sumber
BTW, memutakhirkan bahkan lebih mudah - Anda akan melihat ikon yang menunjukkan bahwa versi baru tersedia, dan Anda mengklik "peningkatan" dan membiarkannya melakukan hal itu. Sangat bagus. Bahkan inti WordPress ditingkatkan dengan cara ini - saya beralih dari 2.7 ke 2.7.1 tanpa mengunggah apa pun.
D. Lambert
Ini hanya benar jika Anda memiliki izin file yang ditetapkan sehingga server web / pengguna PHP dapat menulis kepada mereka. Jika tidak, itu akan meminta Anda untuk kredensial FTP / SFTP. Lihat jawaban stereointeractive.com.
Dave Forgac
9

Menghidupkan kembali utas lama, tetapi ada plugin baru yang fantastis yang disebut Dukungan Pembaruan SSH SFTP yang menambahkan kemampuan SFTP tanpa perlu mengedit wp-config.phpfile Anda . Juga, implementasi SFTP Wordpress bergantung pada beberapa modul PHP yang agak tidak jelas yang sering tidak diaktifkan di server; plugin ini mengemas plugin PHP SFTP yang berbeda sehingga Anda tidak perlu mengonfigurasi apa pun di sisi Apache.

Saya telah mengalami banyak masalah dalam mendapatkan dukungan SFTP untuk bekerja - plugin ini menyelesaikan semuanya dan sangat fantastis.

Chrismanderson
sumber
9

Coba ini

1) Di wp-config.phptambahkandefine('FS_METHOD', 'direct');

2) Atur wp-contentdirektori menjadi 777agar dapat ditulis.

3) Sekarang instal plugin.

Raj
sumber
6
Hai Mohan, terima kasih banyak untuk opsi FS_METHOD. Ini memang yang saya cari. Saya perlu mengatakan yang berikut ini: tidak ada direktori yang harus dimiliki setiap 777 kecuali keadaan luar biasa. Ini membuat dunia direktori dapat dibaca, ditulis dan dieksekusi. Ini adalah risiko keamanan besar. Solusi yang tepat adalah mencari tahu siapa pengguna apache Anda (www-data, _www atau yang serupa). Pengguna ini perlu akses baca dan tulis ke konten-wp atau perlu kepemilikan atas dir ini ('sudo chown www-data wp-content'), tanpa hak eksekusi. Maaf karena sedikit tumpul tetapi 777 berbahaya untuk konten web.
Ruben
8
Jangan 777 direktori unggahan Anda, ini tidak aman dan seharusnya tidak menjadi jawaban!
MKN Web Solutions
8

Jawaban dari stereointeractive mencakup semua opsi. Hanya ingin menyebutkan cara alternatif menggunakan FTP. Saya menduga bahwa alasan Anda tidak mengizinkan akses FTP adalah untuk keamanan. Salah satu cara untuk mengatasi masalah keamanan tersebut adalah menjalankan mendengarkan server FTP Anda hanya pada 127.0.0.1

Ini memungkinkan Anda untuk menggunakan FTP dari dalam WordPress dan Anda akan dapat menginstal plugin tanpa memaparkannya ke seluruh dunia. Ini juga dapat diterapkan ke aplikasi web populer lainnya seperti Joomla! dan Drupal. Inilah yang kami lakukan dengan peralatan BitNami dan server cloud kami dan bekerja dengan sangat baik.

kaysa
sumber
8

Saya juga merekomendasikan plugin SSH SFTP Updater Support . Baru saja menyelesaikan semua masalah saya ... terutama dalam hal mendapatkan plugin untuk dihapus melalui admin. Instal saja dengan cara biasa, dan lain kali Anda diminta oleh WordPress untuk perincian FTP, akan ada bidang tambahan untuk Anda salin / tempel kunci SSH pribadi Anda atau unggah file PEM Anda.

Satu-satunya masalah yang saya miliki adalah mendapatkannya mengingat kuncinya (mencoba kedua metode). Tidak suka gagasan harus menemukan dan memasukkannya setiap kali saya perlu menghapus plugin. Tapi setidaknya ini adalah perbaikan yang solid untuk saat ini.

Mark Jeldi
sumber
1
"Akan ada bidang tambahan untuk Anda salin / tempel kunci SSH pribadi Anda" .... saya bukan jenius keamanan tapi ... bukan intinya kunci ssh pribadi yang Anda tidak perlu mengirimnya melalui jaringan ?
don bright
8

Ya, langsung instal plugin di WordPress.

  1. Salin folder plugin dan tempel di folder plugin WordPress.
  2. buka sisi admin (/ test / wp-admin) lalu setelah masuk ke tautan plugin dan periksa nama plugin.
  3. Aktifkan plugin jadi Instal plugin dengan mudah.

pilihan lain

  1. buat file zip untuk kode plugin.
  2. buka sisi admin (/ test / wp-admin) kemudian setelah masuk ke pada tautan plugin dan kemudian klik pada add baru kemudian browse folder zip plugin dan instal plugin kemudian keluar opsi aktifkan plugin sehingga begitu aktifkan plugin dan aktifkan plugin.
Patel Maulik
sumber
6

Dimungkinkan untuk menggunakan SFTP atau SSH untuk memperbarui Plugin secara otomatis di WordPress, tetapi Anda harus memiliki ekstensi ssh2 pecl. Anda dapat mengetahui cara melakukannya, menggunakan tutorial berikut

Sudar
sumber
6

Kami menggunakan SFTP dengan SSH (pada pengembangan kami dan server langsung), dan saya telah mencoba (tidak terlalu sulit) untuk menggunakan fitur unggah WordPress. Saya setuju dengan Toby, unggah plugin Anda ke wp-content/pluginsdirektori dan kemudian aktifkan dari sana.

Schoffelman
sumber
6

Saya melihat banyak orang merekomendasikan untuk mengatur izin ke 777. Saya memiliki masalah yang sama seperti 2 hari yang lalu dan yang saya lakukan adalah, tambahkan ini ke wp-content

define('FS_METHOD', 'direct');

dan

setel izin ke 775 untuk folder plugin

Ini memecahkan masalah saya untuk meminta login / kata sandi akses FTP.

Sebelum itu, saya harus menambahkan plugin secara manual dengan menambahkan file .zip ke folder plugin dan kemudian pergi ke wp-admin/pluginsdan harus menginstalnya.

ZainZaheer06
sumber
5

Coba ini Periksa apakah izin yang benar diberikan ke folder konten-wp.

Edit wp-config.php tambahkan baris berikut

define('FS_METHOD', 'direct');

chmod direktori "wp-content" menjadi www-data untuk akses penuh.

Sekarang coba instal plugin.

Javeed Shakeel
sumber
4

Ya kamu bisa melakukannya.

Anda perlu menambahkan

define('METHOD','direct');

di wpconfig Anda. Tetapi metode ini tidak akan disukai karena memiliki suara keamanan.

Terima kasih,

Riyaz
sumber
3

Metode 1: Anda dapat mengatur ini: 1. di wp-config.php Anda perlu menulis baris ini.

define('FS_METHOD', 'direct'); 

Catatan: letakkan ini setelah define ('DB_CHARSET', 'utf8mb4').

  1. atur izin wp-content atau izin penuh 777 rekursif yang dapat Anda berikan melalui filezilla. tulis klik pada direktori> izin> periksa baca-tulis dan jalankan dan juga periksa Perulangan ke subdirektori

    Metode 2:

atau Anda juga dapat mengatur ini

define("FTP_HOST", "localhost");
define("FTP_USER", "yourftpusername");
define("FTP_PASS", "yourftppassword");
Samir Lakhani
sumber
pada Februari 2020, ini adalah instruksi yang jelas,Note: put this after define( 'DB_CHARSET', 'utf8mb4' ).
Osify
2

pengaturan ftp atau bahkan koneksi SFTP atau chmod 777 adalah cara buruk untuk melakukan hal lain selain lingkungan lokal. Membuka bahkan metode SFTP memperkenalkan lebih banyak risiko keamanan yang tidak diperlukan.

yang diperlukan adalah izin yang dapat ditulisi ke / wp-content / unggahan & / wp-content / plugins / oleh pemilik direktori tersebut. (linux ls -la akan menunjukkan Anda kepemilikan).

Pengguna apache default yang menjalankan adalah www-data.

chmod 777 memungkinkan setiap pengguna pada mesin untuk mengedit file tersebut, bukan hanya pengguna thread apache / php.

SFTP jika Anda belum menggunakannya, akan memperkenalkan titik lain kemungkinan kegagalan dari sumber eksternal. Padahal Anda hanya perlu akses oleh pengguna lokal yang menjalankan proses apache / php untuk menyelesaikan tujuan.

Tidak melihat ada orang yang membuat poin ini, jadi saya pikir saya akan menawarkan info ini untuk membantu masalah keamanan WP kami yang konstan secara online.

Jason
sumber
2

Ini adalah metode sederhana.

Jalankan perintah berikut.

Ini akan mengaktifkan modul mod_rewrite Anda untuk Apache

$sudo a2enmod rewrite

Perintah ini akan mengubah pemilik folder menjadi www-data

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

Setelah Anda menjalankan perintah di atas, Anda dapat menginstal tema apa pun tanpa FTP.

Manuja Jayawardana
sumber
1
Untuk Nginx jalankan perintah keduasudo chown -R www-data [Wordpress Folder Location]
srokatonie
@srokatonie terima kasih atas komentarnya. ini akan berguna untuk semua orang.
Manuja Jayawardana
2

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

Gulshan kumar
sumber
1

Satu-satunya alasan di mana WordPress tidak akan memungkinkan Anda untuk mengunggah plugin apa pun melalui dashboard admin WordPress ketika Anda tidak punya izin untuk menulis di direktori / wp-content. Ingat bahwa direktori wordpress / konten wp Anda memerlukan tingkat izin 0755. Ada berbagai cara untuk mengubah tingkat izin folder.

Mengubah izin file menggunakan cPanel:

Buka File Manager di buka folder HTML publik di mana situs web wordpress Anda seharusnya, atau buka direktori root situs jika situs web Anda ada di folder lain. Di direktori root WordPress Anda navigasikan ke folder wp-content; di akhir baris folder konten-wp, kotak terakhir membawa izin file untuk folder ini. Pastikan untuk mengedit level izin folder ke 0755, dan Anda selesai.

Mengubah izin file menggunakan terminal SSH:

Di terminal Anda temukan root dari situs WordPress yang dalam kasus saya adalah / var / www / html sehingga untuk pindah ke direktori root WordPress masukkan perintah berikut:

cd /var/www/html 

Sekarang Anda berada di direktori root WordPress di mana folder / wp-content yang diperlukan berada. Jadi untuk mengubah izin file ketik perintah berikut:

sudo chmod wp-content 755 

Ini akan mengubah izin file direktori / wp-content Anda ke 0755.

Sekarang Anda tidak akan mendapatkan pesan kesalahan mengunggah plugin wordpress melalui FTP.

Zulkifl Agha
sumber
0

Cara terbaik untuk menginstal plugin menggunakan SSH adalah WPCLI.

Perhatikan bahwa, akses SSH adalah wajib untuk menggunakan perintah WP CLI. Sebelum menggunakannya periksa apakah WP CLI diinstal di server atau mesin hosting Anda.

Cara mengecek: wp --version[Ini akan menunjukkan versi wp cli terpasang]

Jika tidak diinstal, bagaimana cara menginstalnya: Sebelum menginstal WP-CLI, pastikan lingkungan memenuhi persyaratan minimum:

Lingkungan seperti UNIX (OS X, Linux, FreeBSD, Cygwin); dukungan terbatas di lingkungan Windows. PHP 5.4 atau yang lebih baru WordPress 3.7 atau yang lebih baru. Versi yang lebih lama dari rilis WordPress terbaru mungkin memiliki fungsi yang menurun

Jika poin-poin di atas puas, silakan ikuti langkah-langkah: URL Referensi: 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 ]

Sekarang WP CLI siap diinstal.

Sekarang Anda dapat menginstal plugin apa pun yang tersedia di WordPress.org dengan menggunakan perintah berikut:

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

CATATAN: wp cli hanya dapat menginstal plugin yang tersedia di wordpress.org

Tristup
sumber