Ini sebenarnya tergantung pada plugin yang Anda rencanakan untuk digunakan karena beberapa plugin mengubah dokumen root dari wordpress. tetapi secara umum saya merekomendasikan sesuatu seperti ini untuk direktori wordpress.
Ini akan menetapkan "root" (atau apa pun pengguna yang Anda gunakan) sebagai pengguna di setiap file / folder tunggal, R berarti rekursif, jadi itu tidak berhenti di folder "html". jika Anda tidak menggunakan R, maka itu hanya berlaku untuk direktori "html".
sudo chown -R root:www-data /var/www/html
Ini akan mengatur pemilik / grup "wp-content" menjadi "www-data" dan dengan demikian memungkinkan server web untuk menginstal plugin melalui panel admin.
chown -R www-data:www-data /var/www/html/wp-content
Ini akan mengatur izin setiap file dalam folder "html" (Termasuk file dalam subdirektori) menjadi 644, sehingga orang luar tidak dapat mengeksekusi file apa pun, memodifikasi file apa pun, grup tidak dapat mengeksekusi file apa pun, memodifikasi file apa saja dan hanya pengguna diizinkan untuk memodifikasi / membaca file, tetapi bahkan pengguna tidak dapat menjalankan file apa pun. Ini penting karena mencegah segala jenis eksekusi di folder "html", juga karena pemilik folder html dan semua folder lain kecuali folder konten-wp adalah "root" (atau pengguna Anda), data-www dapat ' t memodifikasi file apa pun di luar folder konten-wp, jadi walaupun ada kerentanan di server web, dan jika seseorang mengakses situs secara tidak sah, mereka tidak dapat menghapus situs utama kecuali plugin.
sudo find /var/www/html -type f -exec chmod 644 {} +
Ini akan membatasi izin untuk mengakses "wp-config.php" untuk pengguna / grup dengan rw-r ----- izin ini.
chmod 640 /var/www/html/wp-config.php
Dan jika plugin atau pembaruan mengeluh tidak dapat memperbarui, maka akses ke SSH dan gunakan perintah ini, dan berikan izin sementara untuk "www-data" (server web) untuk memperbarui / menginstal melalui panel admin, dan kemudian kembali kembali ke "root" atau pengguna Anda setelah selesai.
chown -R www-data /var/www/html
Dan di Nginx (prosedur yang sama untuk apache) untuk melindungi folder wp-admin dari akses yang tidak sah, dan menyelidiki. apache2-utils diperlukan untuk mengenkripsi kata sandi bahkan jika Anda telah menginstal nginx, hilangkan c jika Anda berencana untuk menambah lebih banyak pengguna ke file yang sama.
sudo apt-get install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd userName
Sekarang kunjungi lokasi ini
/etc/nginx/sites-available/
Gunakan kode ini untuk melindungi folder "wp-admin" dengan kata sandi, sekarang akan menanyakan kata sandi / nama pengguna jika Anda mencoba mengakses "wp-admin". perhatikan, di sini Anda menggunakan file ".htpasswd" yang berisi kata sandi terenkripsi.
location ^~ /wp-admin {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
index index.php index.html index.htm;
}
Sekarang restart nginx.
sudo /etc/init.d/nginx restart