Skip to content
VDS · ডেটাবেস

phpMyAdmin এবং Adminer: ডেটাবেস প্যানেল

VDS-এ ডেটাবেসের জন্য ওয়েব প্যানেল কীভাবে ইনস্টল করবেন এবং সেটি যাতে অনুপ্রবেশের দরজা না হয়ে যায় সেভাবে সুরক্ষিত করবেন: পাসওয়ার্ড অ্যাক্সেস, অ্যাড্রেস সীমাবদ্ধতা, বিকল্প।

আপডেট: ২৩ আগস্ট, ২০২৬

একটি ওয়েব প্যানেল এককালীন সম্পাদনা এবং টেবিল দেখার জন্য সুবিধাজনক। এটি সার্ভার কম্প্রোমাইজের সবচেয়ে সাধারণ কারণও: /phpmyadmin URL-গুলো স্বয়ংক্রিয়ভাবে ব্রুট-ফোর্স করা হয়, এবং লগইন ফর্ম সরাসরি ডেটাতে অ্যাক্সেস দেয়।

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 পুল শেষ হয়ে যায়

বড় ডেটাবেসে ওয়েব প্যানেলের মাধ্যমে ডাম্প টাইমআউট হয়। প্রকৃত ব্যাকআপ কনসোল থেকে নির্দিষ্ট সময়সূচিতে তৈরি হয় — ডেটাবেস ব্যাকআপ।