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?
wp-content/plugins/
lalu dari wp dashboard, buka tab plugins dan aktifkan.VPS
, sebaiknya coba ini: stackoverflow.com/a/44137965/3160597Jawaban:
WordPress hanya akan meminta Anda untuk informasi koneksi FTP Anda saat mencoba menginstal plugin atau pembaruan WordPress jika tidak dapat menulis
/wp-content
langsung. 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-content
direktori 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'
dalamwp-config.php
file 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:
Izin dijelaskan di sini:
sumber
getmyuid
on line 876 bisa dibilang salah di sini, karena mengembalikan UID pemilik skrip, bukan pelaksana skrip. Saya percaya seharusnya begituposix_getuid
.print_r(posix_getpwuid(posix_geteuid()));
Anda dapat menambahkan kode dalamwp-config
file.chown -R www-data wordpress/wp-content
tidak bekerja untuk saya, tetapichown -R www-data wordpress
berhasilSeperti yang dinyatakan sebelumnya tidak ada perbaikan perm yang berfungsi lagi. Anda perlu mengubah perms yang sesuai DAN memasukkan yang berikut di
wp-config.php
:sumber
Hanya ingin menambahkan bahwa Anda harus TIDAK PERNAH mengatur
wp-content
izin atau izin folder apa pun777
.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-content
Folder saya memiliki755
izin, btw.TL; versi DR:
sumber
wp-config.php
tambahkandefine('FS_METHOD', 'direct');
wp-content/
,wp-content/plugins/
.wp-content/plugins
direktori).Bekerja pada versi 3.2.1
sumber
buka
wp-config.php
file dan tambahkan baris berikut:define('FS_METHOD', 'direct');
ini bekerja untuk saya ... Terima kasih
sumber
Hanya perubahan cepat ke wp-config.php
Itu saja, nikmati pembaruan wordpress Anda tanpa ftp !
Metode Alternatif:
sumber
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:
2.) Hasilkan kunci SSH, menambahkan kata sandi adalah opsional:
3.) Ubah izin agar WordPress dapat mengakses kunci-kunci itu:
Sekarang Anda akan mendapatkan opsi SSH2 ketika melakukan upload / upgrade / plugin.
4.) Untuk kemudahan tambahan Anda dapat mengatur default di Anda
wp-config.php
dan ini akan pra-mengisi kredensial SSH di jendela unggah WordPress.'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
chown
sama sekali. Tetapi saya telah melihat metode ini dirujuk di tempat lain.Referensi:
sumber
Biasanya Anda cukup mengunggah plugin Anda ke
wp-content\plugins
direktori. Jika Anda tidak memiliki akses ke direktori ini melalui SFTP, saya khawatir Anda mungkin mandek.sumber
Anda bisa mendapatkannya dengan sangat mudah dengan mengetikkan perintah berikut pada command promt
atau salin & tempel kode berikut dalam file wp-config.php Anda.
Di mana "your_folder_name" adalah folder tempat WordPress Anda diinstal di dalam folder ini.
sumber
Jalankan kode berikut di terminal
Untuk perincian lebih lanjut, kunjungi Wordpress di Ubuntu, pasang plugin tanpa akses FTP
sumber
sudo chown -R www-data /var/www/html
Tambahkan kode berikut ke wp-config
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
sumber
Jika Anda menggunakan Ubuntu , solusi cepat yang berfungsi untuk saya adalah memberikan kepemilikan kepada pengguna Apache (www-data secara default) seperti:
sumber
Ubah dari
php_mod
menjadifastcgi
dengancgi
&SuEXEC
diaktifkan. Bekerja untukku.Jika tidak berhasil, coba ubah
wp-content
menjadi775
root:Tambahkan ke
wp-config.php
:Saya harap ini berhasil
sumber
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).
sumber
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.php
file 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.
sumber
Coba ini
1) Di
wp-config.php
tambahkandefine('FS_METHOD', 'direct');
2) Atur
wp-content
direktori menjadi777
agar dapat ditulis.3) Sekarang instal plugin.
sumber
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.
sumber
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.
sumber
Ya, langsung instal plugin di WordPress.
pilihan lain
sumber
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
sumber
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/plugins
direktori dan kemudian aktifkan dari sana.sumber
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
dan
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/plugins
dan harus menginstalnya.sumber
Coba ini Periksa apakah izin yang benar diberikan ke folder konten-wp.
Edit wp-config.php tambahkan baris berikut
chmod direktori "wp-content" menjadi www-data untuk akses penuh.
Sekarang coba instal plugin.
sumber
Ya kamu bisa melakukannya.
Anda perlu menambahkan
di wpconfig Anda. Tetapi metode ini tidak akan disukai karena memiliki suara keamanan.
Terima kasih,
sumber
Metode 1: Anda dapat mengatur ini: 1. di wp-config.php Anda perlu menulis baris ini.
Catatan: letakkan ini setelah define ('DB_CHARSET', 'utf8mb4').
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
sumber
Note: put this after define( 'DB_CHARSET', 'utf8mb4' ).
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.
sumber
Ini adalah metode sederhana.
Jalankan perintah berikut.
Ini akan mengaktifkan modul mod_rewrite Anda untuk Apache
Perintah ini akan mengubah pemilik folder menjadi www-data
Setelah Anda menjalankan perintah di atas, Anda dapat menginstal tema apa pun tanpa FTP.
sumber
sudo chown -R www-data [Wordpress Folder Location]
Silakan tambahkan
define('FS_METHOD','direct');
wo-config.phpsumber
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:
Sekarang Anda berada di direktori root WordPress di mana folder / wp-content yang diperlukan berada. Jadi untuk mengubah izin file ketik perintah berikut:
Ini akan mengubah izin file direktori / wp-content Anda ke 0755.
Sekarang Anda tidak akan mendapatkan pesan kesalahan mengunggah plugin wordpress melalui FTP.
sumber
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
Sekarang WP CLI siap diinstal.
Sekarang Anda dapat menginstal plugin apa pun yang tersedia di WordPress.org dengan menggunakan perintah berikut:
CATATAN: wp cli hanya dapat menginstal plugin yang tersedia di wordpress.org
sumber