Skip to content
VDS · ڈیٹا بیس

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 پول پینل کی بھاری درخواستوں سے ختم ہو جاتا ہے

بڑے ڈیٹا بیس پر ویب پینل کے ذریعے ڈمپ ٹائم آؤٹ ہو جاتے ہیں۔ اصل بیک اپ کنسول سے شیڈول پر بنایا جاتا ہے — ڈیٹا بیس بیک اپ۔