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 sudo
arahan.
Langkah Pertama: Pasang phpMyAdmin
Lawati laman web rasmi phpMyAdmin dari penyemak imbas anda, klik pautan phpMyAdmin-4.4.7-all-languages.tar.bz2
untuk memuat turun fail arkib dengan nama yang sama ke mesin tempatan anda. Kemudian muat naik ke direktori /var/www/html
di 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 phpMyAdmin
menjadi nama lain yang tidak biasa dan peribadi. Kami gunakan pmapma
di sini.
mv phpMyAdmin-4.4.7-all-languages pmapma
Sekarang, kita perlu membuat fail konfigurasi untuk phpMyAdmin. Buat salinan fail config.default.php
dan namakan semula menjadi config.inc.php
:
cd pmapma
cp config.sample.inc.php config.inc.php
Edit config.inc.php
dengan penyunting teks vi.
vi config.inc.php
Isi rahsia blowfish, biarkan parameter lain sahaja.
$cfg['blowfish_secret'] = 'InputRandomCharactersHere';
Ganti InputRandomCharactersHere
dengan 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/pmapma
dari 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 pma
di 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 pmauser
dan kata laluan yang disulitkan rs4D8QYVwojBI
dengan yang anda sendiri.
Simpan dan tutup vi.
:wq
Seterusnya, anda perlu mengubah fail vhost dalam /etc/nginx/conf.d
: wordpress_http.conf
dan 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-admin
pada baris pertama ke pmapma
, dan wpadmin
pada 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 pmapma
dan nama fail pma
dengan yang anda sendiri.
Simpan dan tutup vi.
:wq
Anda juga perlu mencari blok serupa dalam fail wordpress_https.conf
dan 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.