Pengenalan
phpMyAdmin adalah alat pentadbiran pangkalan data MySQL berasaskan web yang mudah yang dapat menjimatkan banyak masa daripada pengurusan pangkalan data yang berdasarkan arahan. Dalam artikel ini, saya akan menunjukkan kepada anda cara memasang dan mengamankan phpMyAdmin pada aplikasi WordPress Satu Klik.
Prasyarat
Saya menganggap bahawa anda telah menggunakan aplikasi WordPress Satu Klik dari awal dan telah log masuk sebagai root. Pengguna bukan root perlu menggunakan sudoarahan.
Langkah Pertama: Pasang phpMyAdmin
Lawati laman web rasmi phpMyAdmin dari penyemak imbas anda, klik pautan phpMyAdmin-4.4.7-all-languages.tar.bz2untuk memuat turun fail arkib dengan nama yang sama ke mesin tempatan anda. Kemudian muat naik ke direktori /var/www/htmldi VPS anda dengan WinSCP atau alat SFTP yang serupa.
Buka zip fail arkib dengan arahan berikut dari terminal anda:
cd /var/www/html
tar -jxvf phpMyAdmin-4.4.7-all-languages.tar.bz2
Untuk melindungi phpMyAdmin dari akses yang tidak dibenarkan, anda harus menamakan semula direktori yang baru dibuat phpMyAdminmenjadi nama lain yang tidak biasa dan peribadi. Kami gunakan pmapmadi sini.
mv phpMyAdmin-4.4.7-all-languages pmapma
Sekarang, kita perlu membuat fail konfigurasi untuk phpMyAdmin. Buat salinan fail config.default.phpdan namakan semula menjadi config.inc.php:
cd pmapma
cp config.sample.inc.php config.inc.php
Edit config.inc.phpdengan penyunting teks vi.
vi config.inc.php
Isi rahsia blowfish, biarkan parameter lain sahaja.
$cfg['blowfish_secret'] = 'InputRandomCharactersHere';
Ganti InputRandomCharactersHeredengan aksara apa pun, tidak lebih daripada 46 bit, dan jangan biarkan kosong.
Simpan dan tutup vi.
:wq
Langkah Ketiga: Berikan Kebenaran
Lawati http://your_host_IP/pmapmadari penyemak imbas anda. Anda akan mengalami ralat kebenaran ke direktori /var/lib/php/fpm/session/. Anda boleh menyelesaikan ralat dengan menukar pemilik direktori ini menjadi nginx.
chown nginx /var/lib/php/fpm/session/
Muat semula halaman dari penyemak imbas anda, anda akan mendapati bahawa ralat kesalahan hilang. Sekarang anda boleh log masuk dengan kelayakan root MySQL. Anda boleh mendapatkannya dari fail /root/.my.cnf.
cat /root/.my.cnf
Langkah Keempat: Amankan phpMyAdmin
phpMyAdmin adalah alat yang hebat, anda tidak akan mahukan pengguna yang tidak sah mengaksesnya. Oleh itu, kita dapat menambahkan gerbang pengesahan tambahan ke antara muka log masuk phpMyAdmin.
Pertama, anda perlu membuat kata laluan yang disulitkan dari terminal anda.
openssl passwd
Masukkan dan sahkan kata laluan yang anda mahu gunakan. Kemudian versi kata laluan yang dienkripsi yang anda masukkan akan dipaparkan di skrin. Tuliskan di atas kertas, kami akan menggunakannya kemudian. Kata laluan yang disulitkan harus seperti ini:
rs4D8QYVwojBI
Sekarang, buat fail pengesahan di direktori penyimpanan Nginx ciphertext /etc/nginx/htpasswd/. Kami akan menggunakan nama fail pmadi sini, ingat untuk menggantinya dengan nama fail anda sendiri.
vi /etc/nginx/htpasswd/pma
Tambahkan nama pengguna yang ingin anda gunakan dan kata laluan yang dienkripsi yang baru anda hasilkan ke dalam fail ini dengan format berikut.
pmauser:rs4D8QYVwojBI
Ingatlah untuk mengganti nama pengguna pmauserdan kata laluan yang disulitkan rs4D8QYVwojBIdengan yang anda sendiri.
Simpan dan tutup vi.
:wq
Seterusnya, anda perlu mengubah fail vhost dalam /etc/nginx/conf.d: wordpress_http.confdan wordpress_https.conf.
Sekiranya terdapat kesalahan konfigurasi, buat sandarannya.
cp /etc/nginx/conf.d/*.conf /root/
Di dalam fail wordpress_http.conf, cari blok yang bermula dengan location ^~ /wp-admin/ {, mestilah:
location ^~ /wp-admin/ {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/htpasswd/wpadmin;
location ~* \.(htaccess|htpasswd) {
deny all;
}
location ~ \.php(?:$|/) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass php-handler-http;
fastcgi_read_timeout 60s;
}
}
Buat salinan ke seluruh blok tepat di bawahnya, kemudian ubah wp-adminpada baris pertama ke pmapma, dan wpadminpada baris ketiga ke pma. Jangan ubah kandungan lain.
location ^~ /pmapma/ {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/htpasswd/pma;
location ~* \.(htaccess|htpasswd) {
deny all;
}
location ~ \.php(?:$|/) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass php-handler-http;
fastcgi_read_timeout 60s;
}
}
Ingatlah untuk mengganti nama direktori pmapmadan nama fail pmadengan yang anda sendiri.
Simpan dan tutup vi.
:wq
Anda juga perlu mencari blok serupa dalam fail wordpress_https.confdan mengubah suai fail dengan cara yang sama.
Akhirnya, untuk melaksanakan perubahan, anda perlu memulakan semula pelayan web.
service nginx restart && service php-fpm restart
Itu sahaja. Anda telah memasang dan mengamankan phpMyAdmin pada Aplikasi WordPress Satu-Klik Vultr.