บทนำ
phpMyAdmin เป็นเครื่องมือการจัดการฐานข้อมูล MySQL บนเว็บที่สะดวกซึ่งสามารถประหยัดเวลาได้มากจากการจัดการฐานข้อมูลด้วยคำสั่ง ในบทความนี้ฉันจะแสดงวิธีการติดตั้งและรักษาความปลอดภัย phpMyAdmin ในแอป One-Click WordPress
ข้อกำหนดเบื้องต้น
ฉันคิดว่าคุณได้ปรับใช้แอป WordPress One-Click ตั้งแต่เริ่มต้นและเข้าสู่ระบบในฐานะ root ผู้ใช้ที่ไม่ใช่รูทจะต้องใช้sudo
คำสั่ง
ขั้นตอนที่หนึ่ง: ติดตั้ง phpMyAdmin
เยี่ยมชมเว็บไซต์อย่างเป็นทางการของ phpMyAdmin จากเบราว์เซอร์ของคุณคลิกลิงก์phpMyAdmin-4.4.7-all-languages.tar.bz2
เพื่อดาวน์โหลดไฟล์เก็บถาวรที่มีชื่อเดียวกันกับเครื่องของคุณ จากนั้นอัปโหลดไปยังไดเรกทอรี/var/www/html
ใน VPS ของคุณด้วย WinSCP หรือเครื่องมือ SFTP ที่คล้ายกัน
แตกไฟล์บีบอัดด้วยคำสั่งต่อไปนี้จากเทอร์มินัลของคุณ:
cd /var/www/html
tar -jxvf phpMyAdmin-4.4.7-all-languages.tar.bz2
เพื่อป้องกัน phpMyAdmin จากการเข้าถึงโดยไม่ได้รับอนุญาตคุณควรเปลี่ยนชื่อphpMyAdmin
ไดเรกทอรีที่สร้างขึ้นใหม่เป็นชื่อผิดปกติและเป็นส่วนตัว เราใช้pmapma
ที่นี่
mv phpMyAdmin-4.4.7-all-languages pmapma
ตอนนี้เราต้องสร้างไฟล์กำหนดค่าสำหรับ phpMyAdmin ทำสำเนาของไฟล์config.default.php
และเปลี่ยนชื่อเป็นconfig.inc.php
:
cd pmapma
cp config.sample.inc.php config.inc.php
แก้ไขconfig.inc.php
ด้วยโปรแกรมแก้ไขข้อความ vi
vi config.inc.php
เติมความลับปักเป้าทิ้งพารามิเตอร์อื่น ๆ เพียงอย่างเดียว
$cfg['blowfish_secret'] = 'InputRandomCharactersHere';
แทนที่InputRandomCharactersHere
ด้วยอักขระใด ๆ ไม่เกิน 46 บิตและอย่าปล่อยว่างไว้
บันทึกและออกจาก vi
:wq
ขั้นตอนที่สาม: การอนุญาตให้สิทธิ์
เยี่ยมชมhttp://your_host_IP/pmapma
จากเบราว์เซอร์ของคุณ /var/lib/php/fpm/session/
คุณจะพบข้อผิดพลาดได้รับอนุญาตไปยังไดเรกทอรี nginx
คุณสามารถแก้ไขข้อผิดพลาดโดยการเปลี่ยนเจ้าของไดเรกทอรีนี้ไป
chown nginx /var/lib/php/fpm/session/
รีเฟรชหน้าเว็บจากเบราว์เซอร์ของคุณคุณจะพบว่าข้อความแจ้งข้อผิดพลาดหายไป ตอนนี้คุณสามารถเข้าสู่ระบบด้วยข้อมูลประจำตัวของรูท MySQL /root/.my.cnf
คุณจะได้รับจากแฟ้ม
cat /root/.my.cnf
ขั้นตอนที่สี่: รักษาความปลอดภัย phpMyAdmin
phpMyAdmin เป็นเครื่องมือที่ทรงพลังคุณจะไม่ต้องการให้ผู้ใช้ที่ไม่ได้รับอนุญาตเข้าถึง ดังนั้นเราสามารถเพิ่มประตูการรับรองความถูกต้องเพิ่มเติมให้กับอินเทอร์เฟซการเข้าสู่ระบบ phpMyAdmin
ก่อนอื่นคุณต้องสร้างรหัสผ่านที่เข้ารหัสจากเทอร์มินัลของคุณ
openssl passwd
ป้อนและยืนยันรหัสผ่านที่คุณต้องการใช้ จากนั้นรหัสผ่านเวอร์ชันเข้ารหัสที่คุณป้อนจะปรากฏบนหน้าจอ จดลงบนกระดาษเราจะใช้ในภายหลัง รหัสผ่านที่เข้ารหัสควรเป็นดังนี้:
rs4D8QYVwojBI
/etc/nginx/htpasswd/
ตอนนี้สร้างแฟ้มการตรวจสอบในไดเรกทอรี Nginx จัดเก็บ ciphertext เราจะใช้ชื่อไฟล์pma
ที่นี่อย่าลืมแทนที่ด้วยชื่อไฟล์ของคุณเอง
vi /etc/nginx/htpasswd/pma
เพิ่มชื่อผู้ใช้ที่คุณต้องการใช้และรหัสผ่านที่เข้ารหัสซึ่งคุณเพิ่งสร้างเป็นไฟล์นี้ในรูปแบบต่อไปนี้
pmauser:rs4D8QYVwojBI
อย่าลืมเปลี่ยนชื่อผู้ใช้pmauser
และรหัสผ่านที่เข้ารหัสrs4D8QYVwojBI
ด้วยชื่อของคุณเอง
บันทึกและออกจาก vi
:wq
ถัดไปคุณจะต้องแก้ไขไฟล์ vhost ใน/etc/nginx/conf.d
: และwordpress_http.conf
wordpress_https.conf
ในกรณีที่มีข้อผิดพลาดในการกำหนดค่าให้สร้างการสำรองข้อมูล
cp /etc/nginx/conf.d/*.conf /root/
ในไฟล์wordpress_http.conf
ค้นหาบล็อกที่ขึ้นต้นด้วยlocation ^~ /wp-admin/ {
ควรเป็น:
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;
}
}
ทำสำเนาเพื่อป้องกันทั้งสิทธิตามมันแล้วปรับเปลี่ยนwp-admin
ในบรรทัดแรกไปpmapma
และในบรรทัดที่สามที่จะwpadmin
pma
ห้ามแก้ไขเนื้อหาอื่นใด
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;
}
}
อย่าลืมแทนที่ชื่อไดเรกทอรีpmapma
และชื่อไฟล์pma
ด้วยชื่อของคุณเอง
บันทึกและออกจาก vi
:wq
นอกจากนี้คุณต้องค้นหาบล็อกที่คล้ายกันในไฟล์wordpress_https.conf
และแก้ไขไฟล์ในแบบเดียวกัน
ท้ายที่สุดเพื่อให้การเปลี่ยนแปลงมีผลคุณต้องรีสตาร์ทเว็บเซิร์ฟเวอร์
service nginx restart && service php-fpm restart
แค่นั้นแหละ. คุณได้ติดตั้งและรักษาความปลอดภัย phpMyAdmin บน Vultr One-Click WordPress App