phpMyAdmin اور Adminer: ڈیٹابیس پینلز
VDS پر ڈیٹابیس کے لیے ویب پینل کیسے انسٹال کریں اور اسے ایسا محفوظ کریں کہ داخلے کا دروازہ نہ بنے: پاس ورڈ رسائی، پتے کی پابندیاں، متبادل۔
اپ ڈیٹ 23 اگست، 2026
ویب پینل ایک بار کی تبدیلیوں اور ٹیبل دیکھنے کے لیے سہولت بخش ہے۔ یہ سرور کے کمپرومائز ہونے کی سب سے عام وجہ بھی ہے: /phpmyadmin URLs خودکار طور پر بروٹ فورس کیے جاتے ہیں، اور لاگ ان فارم ڈیٹا تک براہ راست رسائی فراہم کرتا ہے۔
Adminer: ایک واحد فائل
Adminer ایک واحد PHP فائل ہے اور MySQL، PostgreSQL اور SQLite کو سپورٹ کرتی ہے۔ انسٹال کرنے کے لیے کچھ نہیں:
mkdir -p /var/www/tools
curl -L -o /var/www/tools/adminer.php \
https://github.com/vrana/adminer/releases/latest/download/adminer.php
chown www-data:www-data /var/www/tools/adminer.php
آپ کو ایک کام کرنے والا PHP-FPM درکار ہے۔ بہتر ہے کہ فائل کا نام کسی غیر واضح چیز میں بدل دیں — یہ حفاظت نہیں ہے، مگر بڑے پیمانے پر اسکیننگ ختم ہو جاتی ہے۔
phpMyAdmin
apt install -y phpmyadmin
پیکیج خودکار طور پر Apache سے جڑ جاتا ہے؛ Nginx کے لیے راستہ دستی طور پر بتائیں:
location /db-panel {
alias /usr/share/phpmyadmin;
index index.php;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
}
لازمی حفاظت
یہ تینوں چیزیں شامل کیے بغیر پینل ہرگز انسٹال نہ کریں۔
صرف اپنے ایڈریس سے رسائی:
location /db-panel {
allow 203.0.113.10;
deny all;
}
ویب سرور کی سطح پر ایک اضافی پاس ورڈ:
apt install -y apache2-utils
htpasswd -c /etc/nginx/.htpasswd admin
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
اور تیسرا صرف HTTPS: Let's Encrypt سرٹیفکیٹ۔ اس کے بغیر ڈیٹا بیس کا پاس ورڈ سادہ متن میں بھیجا جاتا ہے۔
بہترین آپشن: کوئی پینل باہر سے ظاہر نہ ہو
اگر آپ کا ایڈریس ڈائنامک ہے تو پینل کو بالکل ظاہر نہ کریں۔ SSH ٹنل سیٹ اپ کریں اور ڈیسک ٹاپ کلائنٹ — DBeaver، TablePlus، HeidiSQL — کے ساتھ کام کریں:
ssh -L 3307:127.0.0.1:3306 root@YOUR_ADDRESS -N
تفصیلات — ریموٹ رسائی۔ اس طرح باہر سے SSH کے سوا کچھ ظاہر نہیں ہوتا، اور آپ کو پینل کی ضرورت ہی نہیں رہتی۔
عام غلطیاں
| علامت | وجہ |
|---|---|
براؤزر adminer.php ڈاؤن لوڈ کرتا ہے | PHP اس راستے سے منسلک نہیں ہے |
#1045 Access denied | ڈیٹا بیس صارف کسی مختلف ہوسٹ سے بندھا ہوا ہے |
| بڑا ڈمپ درآمد کرتے وقت رک جاتا ہے | upload_max_filesize اور max_execution_time بہت کم ہیں؛ کنسول سے درآمد کرنا بہتر ہے |
لاگز میں /phpmyadmin پر ہزاروں درخواستیں | معمول کی اسکیننگ — پینل بند ہونا چاہیے |
| پینل کام کرتا ہے، مگر سائٹ نہیں | مشترکہ PHP-FPM پول پینل کی بھاری درخواستوں سے ختم ہو جاتا ہے |
بڑے ڈیٹا بیس پر ویب پینل کے ذریعے ڈمپ ٹائم آؤٹ ہو جاتے ہیں۔ اصل بیک اپ کنسول سے شیڈول پر بنایا جاتا ہے — ڈیٹا بیس بیک اپ۔