برنامه نویسی

آموزش نصب و امن‌سازی phpMyAdmin روی اوبونتو

مقدمه

در حالی که بسیاری از کاربران به قابلیت‌های یک سیستم مدیریت پایگاه داده مانند MySQL نیاز دارند، ممکن است کار کردن صرفاً از طریق خط فرمان MySQL برایشان راحت نباشد.

phpMyAdmin ساخته شده تا کاربران بتوانند از طریق یک رابط کاربری وب با MySQL تعامل داشته باشند. در این راهنما بررسی می‌کنیم که چطور phpMyAdmin را نصب و امن‌سازی کنید تا بتوانید به‌صورت ایمن از آن برای مدیریت پایگاه‌های داده‌تان روی سیستم اوبونتو استفاده کنید.

توجه: این آموزش روی اوبونتو 22.04 LTS، 24.04 LTS و 25.04 تست و اعتبارسنجی شده است. تمام دستورات و مراحل این راهنما روی هر یک از این نسخه‌های اوبونتو به‌درستی کار می‌کنند.

نکات کلیدی

  • phpMyAdmin یک رابط کاربری تحت وب برای مدیریت پایگاه‌های داده MySQL فراهم می‌کند و نیاز به کار مستقیم با خط فرمان MySQL را از بین می‌برد.
  • نصب نیازمند یک استک LAMP (لینوکس، آپاچی، MySQL و PHP) است و می‌تواند از مخازن پیش‌فرض اوبونتو انجام شود.
  • امنیت هنگام راه‌اندازی phpMyAdmin حیاتی است، چرا که این ابزار با اطلاعات حساس پایگاه داده سروکار دارد و کوئری‌های SQL را اجرا می‌کند.
  • هنگام دسترسی به phpMyAdmin از راه دور، همیشه از رمزنگاری SSL/TLS استفاده کنید و هرگز از طریق اتصال HTTP ساده (بدون رمزنگاری) به آن دسترسی نداشته باشید.
  • پیاده‌سازی احراز هویت .htaccess در آپاچی، یک لایه امنیتی اضافی فراتر از نام کاربری و رمز عبور MySQL ایجاد می‌کند.
  • فرایند نصب به‌صورت خودکار آپاچی را پیکربندی کرده و یک کاربر اختصاصی پایگاه داده برای phpMyAdmin ایجاد می‌کند.

فهرست مطالب

  • نصب phpMyAdmin
  • تنظیم احراز هویت کاربر و دسترسی‌ها
  • امن‌سازی phpMyAdmin

پیش‌نیازها

برای تکمیل این راهنما به موارد زیر نیاز دارید:

  • یک سرور اوبونتو. این سرور باید یک کاربر غیر root با دسترسی مدیریتی (sudo) و فایروال پیکربندی‌شده با ufw داشته باشد. برای راه‌اندازی این موارد، راهنمای راه‌اندازی اولیه سرور اوبونتو را مطالعه کنید.
  • یک استک LAMP (لینوکس، آپاچی، MySQL و PHP) نصب‌شده روی سرور اوبونتوی شما. اگر هنوز این کار را انجام نداده‌اید، می‌توانید راهنمای نصب استک LAMP روی اوبونتو را دنبال کنید.

علاوه بر این، هنگام استفاده از نرم‌افزاری مثل phpMyAdmin ملاحظات امنیتی مهمی وجود دارد، زیرا این نرم‌افزار:

  • مستقیماً با سرویس MySQL شما ارتباط برقرار می‌کند
  • احراز هویت را با نام کاربری و رمز عبور MySQL انجام می‌دهد
  • کوئری‌های SQL دلخواه را اجرا کرده و نتایج آن‌ها را برمی‌گرداند

به همین دلایل، و از آنجا که phpMyAdmin یک اپلیکیشن PHP پرکاربردی است که به‌طور مکرر مورد حمله قرار می‌گیرد، هرگز نباید phpMyAdmin را روی سیستم‌های راه‌دور از طریق اتصال HTTP ساده اجرا کنید.

اگر دامنه‌ای با گواهی SSL/TLS پیکربندی‌شده ندارید، می‌توانید راهنمای امن‌سازی آپاچی با Let’s Encrypt روی اوبونتو را دنبال کنید. برای این کار باید یک نام دامنه ثبت کنید، رکوردهای DNS برای سرور خود بسازید و یک Virtual Host آپاچی راه‌اندازی کنید. برای اطلاعات بیشتر درباره پیکربندی آپاچی، راهنمای نصب وب‌سرور آپاچی روی اوبونتو را ببینید.

مرحله ۱ — نصب phpMyAdmin

می‌توانید با APT، phpMyAdmin را از مخازن پیش‌فرض اوبونتو نصب کنید.

به‌عنوان کاربر غیر root با دسترسی sudo، در صورتی که به‌تازگی ایندکس پکیج‌های سرور خود را به‌روزرسانی نکرده‌اید، آن را به‌روز کنید:

sudo apt update

سپس می‌توانید پکیج phpmyadmin را نصب کنید. مستندات رسمی علاوه بر این پکیج، توصیه می‌کند چند افزونه PHP هم روی سرور نصب کنید تا برخی قابلیت‌ها فعال شده و عملکرد بهبود یابد.

اگر راهنمای پیش‌نیازیِ نصب استک LAMP را دنبال کرده باشید، چند مورد از این ماژول‌ها به‌همراه پکیج php نصب شده‌اند. با این حال توصیه می‌شود این پکیج‌ها را هم نصب کنید:

  • php-mbstring: ماژولی برای مدیریت رشته‌های غیر ASCII و تبدیل رشته‌ها به انکودینگ‌های مختلف
  • php-zip: این افزونه از آپلود فایل‌های .zip در phpMyAdmin پشتیبانی می‌کند
  • php-gd: پشتیبانی از کتابخانه گرافیکی GD را فعال می‌کند
  • php-json: پشتیبانی از سریال‌سازی JSON را برای PHP فراهم می‌کند
  • php-curl: به PHP اجازه می‌دهد با انواع مختلف سرورها و با پروتکل‌های مختلف تعامل داشته باشد

دستور زیر را برای نصب این پکیج‌ها روی سیستم خود اجرا کنید. توجه داشته باشید که فرایند نصب از شما چند انتخاب برای پیکربندی صحیح phpMyAdmin می‌خواهد که به‌زودی آن‌ها را بررسی می‌کنیم:

sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

گزینه‌هایی که هنگام درخواست باید انتخاب کنید تا نصب به‌درستی پیکربندی شود عبارت‌اند از:

  • در انتخاب وب‌سرور، گزینه apache2 را انتخاب کنید

هشدار: هنگام نمایش این درخواست، گزینه «apache2» هایلایت شده اما انتخاب نشده است! اگر کلید SPACE را برای انتخاب آپاچی نزنید، نصب‌کننده فایل‌های لازم را در طول نصب جابه‌جا نخواهد کرد. کلیدهای SPACE، سپس TAB و بعد ENTER را بزنید تا آپاچی انتخاب شود.

  • هنگام پرسیده شدن اینکه آیا می‌خواهید از dbconfig-common برای راه‌اندازی پایگاه داده استفاده شود، Yes را انتخاب کنید
  • سپس از شما خواسته می‌شود یک رمز عبور برنامه MySQL برای phpMyAdmin انتخاب و تأیید کنید

توجه: فرض کنید MySQL را طبق مرحله ۲ راهنمای پیش‌نیازی استک LAMP نصب کرده باشید؛ ممکن است پلاگین Validate Password را فعال کرده باشید. در زمان نگارش این مقاله، فعال بودن این کامپوننت هنگام تلاش برای تعیین رمز عبور کاربر phpmyadmin باعث بروز خطا می‌شود:

[تصویر: خطای اعتبارسنجی رمز عبور phpMyAdmin]

برای رفع این مشکل، گزینه abort را انتخاب کنید تا فرایند نصب متوقف شود. سپس خط فرمان MySQL را باز کنید:

sudo mysql

یا اگر احراز هویت با رمز عبور را برای کاربر root پایگاه MySQL فعال کرده‌اید، این دستور را اجرا کنید و هنگام درخواست، رمز عبور خود را وارد کنید:

mysql -u root -p

در خط فرمان MySQL، دستور زیر را برای غیرفعال کردن کامپوننت Validate Password اجرا کنید. توجه کنید این کار در واقع کامپوننت را حذف نمی‌کند و فقط مانع بارگذاری آن روی سرور MySQL شما می‌شود:

UNINSTALL COMPONENT "file://component_validate_password";

سپس می‌توانید کلاینت MySQL را ببندید:

exit

حالا دوباره پکیج phpmyadmin را نصب کنید تا طبق انتظار کار کند:

sudo apt install phpmyadmin

پس از نصب phpMyAdmin، دوباره خط فرمان MySQL را با sudo mysql یا mysql -u root -p باز کنید و دستور زیر را برای فعال‌سازی مجدد کامپوننت Validate Password اجرا کنید:

INSTALL COMPONENT "file://component_validate_password";

فرایند نصب، فایل پیکربندی آپاچی phpMyAdmin را در دایرکتوری /etc/apache2/conf-enabled/ قرار می‌دهد که به‌صورت خودکار خوانده می‌شود. برای تکمیل پیکربندی آپاچی و PHP جهت کار با phpMyAdmin، تنها کاری که در این بخش از آموزش باقی مانده، فعال‌سازی صریح افزونه PHP با نام mbstring است که با دستور زیر انجام می‌شود:

sudo phpenmod mbstring

سپس آپاچی را ری‌استارت کنید تا تغییرات اعمال شوند:

sudo systemctl restart apache2

حالا phpMyAdmin نصب شده و برای کار با آپاچی پیکربندی شده است. با این حال، پیش از آنکه بتوانید وارد شوید و با پایگاه‌های داده MySQL خود تعامل داشته باشید، باید مطمئن شوید کاربران MySQL شما دسترسی‌های لازم برای کار با این برنامه را دارند.

مرحله ۲ — تنظیم احراز هویت کاربر و دسترسی‌ها

هنگام نصب phpMyAdmin روی سرور، به‌صورت خودکار یک کاربر پایگاه داده با نام phpmyadmin ساخته می‌شود که برخی فرایندهای زیربنایی برنامه را انجام می‌دهد. به‌جای ورود با این کاربر و رمز عبور مدیریتی که هنگام نصب تعیین کردید، توصیه می‌شود یا با کاربر root پایگاه MySQL وارد شوید یا با کاربری که به‌طور اختصاصی برای مدیریت پایگاه‌های داده از طریق رابط phpMyAdmin ساخته شده است.

پیکربندی دسترسی با رمز عبور برای حساب root پایگاه MySQL

در سیستم‌های اوبونتویی که MySQL نسخه 5.7 (و نسخه‌های جدیدتر) را اجرا می‌کنند، کاربر root به‌صورت پیش‌فرض با پلاگین auth_socket احراز هویت می‌شود، نه با رمز عبور. این موضوع در بسیاری از موارد امنیت و سهولت استفاده بیشتری فراهم می‌کند، اما وقتی لازم باشد به برنامه‌ای خارجی مثل phpMyAdmin اجازه دسترسی به این کاربر بدهید، کارها را پیچیده می‌کند.

برای ورود به phpMyAdmin به‌عنوان کاربر root پایگاه MySQL، باید روش احراز هویت آن را از auth_socket به روشی که از رمز عبور استفاده می‌کند تغییر دهید (اگر قبلاً این کار را نکرده‌اید). برای این کار، خط فرمان MySQL را از ترمینال باز کنید:

sudo mysql

سپس با دستور زیر بررسی کنید هر یک از حساب‌های کاربری MySQL از چه روش احراز هویتی استفاده می‌کنند:

SELECT user,authentication_string,plugin,host FROM mysql.user;

خروجی:

+------------------+------------------------------------------------------------------------+-----------------------+-----------+
| user             | authentication_string                                                  | plugin                | host      |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
| debian-sys-maint | $A$005$I:jOry?]Sy<|qhQRj3fBRQ43i4UJxrpm.IaT6lOHkgveJjmeIjJrRe6         | caching_sha2_password | localhost |
| mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| phpmyadmin       | $A$005$?#{Z?`gN!c2az)}V-INCWXSuVdqB9zWteH1IkZfTe/rOLgVhSzEMM9R3G6K9    | caching_sha2_password | localhost |
| root             |                                                                        | auth_socket           | localhost |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
6 rows in set (0.00 sec)

این خروجی نمونه نشان می‌دهد که کاربر root در واقع از پلاگین auth_socket استفاده می‌کند. برای پیکربندی حساب root جهت احراز هویت با رمز عبور، دستور ALTER USER زیر را اجرا کنید. حتماً به‌جای password یک رمز عبور قوی به انتخاب خودتان قرار دهید:

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';

توجه: دستور ALTER USER بالا، کاربر root پایگاه MySQL را طوری تنظیم می‌کند که با پلاگین caching_sha2_password احراز هویت شود. طبق مستندات رسمی MySQL، caching_sha2_password پلاگین پیشنهادی MySQL است، چرا که رمزنگاری رمز عبور امن‌تری نسبت به پلاگین قدیمی‌تر اما هنوز پرکاربردِ mysql_native_password ارائه می‌دهد.

با این حال، برخی نسخه‌های PHP به‌درستی با caching_sha2_password کار نمی‌کنند. PHP اعلام کرده که این مشکل از نسخه 7.4 به بعد برطرف شده است، اما اگر بعداً هنگام تلاش برای ورود به phpMyAdmin با خطا روبرو شدید، ممکن است بخواهید root را طوری تنظیم کنید که با mysql_native_password احراز هویت شود:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

سپس، برای اطمینان از اینکه root دیگر از پلاگین auth_socket استفاده نمی‌کند، دوباره روش‌های احراز هویت کاربران را بررسی کنید:

SELECT user,authentication_string,plugin,host FROM mysql.user;

خروجی:

+------------------+------------------------------------------------------------------------+-----------------------+-----------+
| user             | authentication_string                                                  | plugin                | host      |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
| debian-sys-maint | $A$005$I:jOry?]Sy<|qhQRj3fBRQ43i4UJxrpm.IaT6lOHkgveJjmeIjJrRe6         | caching_sha2_password | localhost |
| mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| phpmyadmin       | $A$005$?#{Z?`gN!c2az)}V-INCWXSuVdqB9zWteH1IkZfTe/rOLgVhSzEMM9R3G6K9    | caching_sha2_password | localhost |
| root             | $A$005$3yy|Z?'_[} ZyVHuESVwNmjKWOH/ndETwS.Kty0IH7UfiXjOfVvyWroy4a.   | caching_sha2_password | localhost |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
6 rows in set (0.00 sec)

این خروجی نشان می‌دهد که کاربر root از این پس با رمز عبور احراز هویت خواهد شد. حالا می‌توانید با کاربر root و رمز عبوری که برای آن تعیین کردید، وارد رابط phpMyAdmin شوید.

پیکربندی دسترسی با رمز عبور برای یک کاربر اختصاصی MySQL

از طرف دیگر، برخی ترجیح می‌دهند بر اساس روند کاری‌شان، با یک کاربر اختصاصی به phpMyAdmin متصل شوند. برای این کار، دوباره شل MySQL را باز کنید:

sudo mysql

اگر احراز هویت با رمز عبور را برای کاربر root فعال کرده باشید (طبق توضیحات بخش قبل)، باید دستور زیر را اجرا کنید و هنگام درخواست، رمز عبور خود را وارد کنید تا متصل شوید:

mysql -u root -p

سپس یک کاربر جدید با یک رمز عبور قوی بسازید:

CREATE USER 'sammy'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';

توجه: باز هم بسته به نسخه PHP نصب‌شده روی سیستم‌تان، ممکن است بخواهید کاربر جدید را به‌جای caching_sha2_password با mysql_native_password تنظیم کنید:

ALTER USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

سپس دسترسی‌های مناسب را به کاربر جدید بدهید. مثلاً با این دستور می‌توانید به کاربر، دسترسی به همه جدول‌های همه پایگاه‌های داده و همچنین امکان افزودن، تغییر و حذف دسترسی‌های کاربران دیگر را بدهید:

GRANT ALL PRIVILEGES ON *.* TO 'sammy'@'localhost' WITH GRANT OPTION;

سپس از شل MySQL خارج شوید:

exit

حالا می‌توانید با مراجعه به نام دامنه یا آدرس IP عمومی سرور خود و سپس /phpmyadmin، به رابط وب دسترسی پیدا کنید:

https://your_domain_or_IP/phpmyadmin

[تصویر: صفحه ورود phpMyAdmin]

به رابط وارد شوید؛ یا به‌عنوان کاربر root یا با نام کاربری و رمز عبور جدیدی که همین الان پیکربندی کردید.

وقتی وارد شوید، به رابط کاربری phpMyAdmin هدایت می‌شوید:

[تصویر: رابط کاربری phpMyAdmin]

حالا که می‌توانید به phpMyAdmin متصل شوید و با آن کار کنید، تنها کاری که باقی مانده، تقویت امنیت سیستم شما برای محافظت در برابر مهاجمان است.

مرحله ۳ — امن‌سازی phpMyAdmin

به دلیل محبوبیت گسترده phpMyAdmin، این ابزار هدف جذابی برای مهاجمان است و باید دقت ویژه‌ای برای جلوگیری از دسترسی‌های غیرمجاز به کار ببرید. یکی از راه‌های انجام این کار، قرار دادن یک دروازه (Gateway) جلوی کل برنامه با استفاده از قابلیت‌های داخلی احراز هویت و اعتبارسنجی .htaccess آپاچی است.

برای این کار ابتدا باید امکان استفاده از Override فایل‌های .htaccess را با ویرایش فایل پیکربندی آپاچیِ نصب phpMyAdmin فعال کنید.

با ویرایشگر متن دلخواه خود، فایل phpmyadmin.conf قرارگرفته در دایرکتوری پیکربندی آپاچی را ویرایش کنید. اینجا از nano استفاده می‌کنیم:

sudo nano /etc/apache2/conf-available/phpmyadmin.conf

دستور AllowOverride All را در بخش <Directory /usr/share/phpmyadmin> فایل پیکربندی اضافه کنید، مثل زیر:

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php
    AllowOverride All
    . . .

پس از اضافه کردن این خط، فایل را ذخیره کرده و ببندید. اگر از nano استفاده کرده‌اید، با فشردن CTRL + X، سپس Y و بعد ENTER این کار را انجام دهید.

برای اعمال تغییراتی که اعمال کردید، آپاچی را ری‌استارت کنید:

sudo systemctl restart apache2

حالا که استفاده از فایل‌های .htaccess برای برنامه‌تان فعال شده، باید یکی بسازید تا واقعاً لایه‌ای از امنیت پیاده‌سازی شود.

برای موفقیت این کار، فایل باید داخل دایرکتوری برنامه ساخته شود. می‌توانید با دستور زیر، فایل موردنیاز را با دسترسی root بسازید و در ویرایشگر متن باز کنید:

sudo nano /usr/share/phpmyadmin/.htaccess

در این فایل اطلاعات زیر را وارد کنید:

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

معنی هر یک از این خط‌ها به این شرح است:

  • AuthType Basic: این خط نوع احراز هویتی که پیاده‌سازی می‌کنید را مشخص می‌کند. این نوع، احراز هویت با رمز عبور را به‌وسیله یک فایل رمز پیاده‌سازی می‌کند.
  • AuthName: پیام نمایش‌داده‌شده در کادر گفتگوی احراز هویت را تنظیم می‌کند. بهتر است این پیام کلی و عمومی باشد تا کاربران غیرمجاز هیچ اطلاعاتی درباره چیزی که محافظت می‌شود به دست نیاورند.
  • AuthUserFile: مسیر فایل رمز عبوری که برای احراز هویت استفاده می‌شود را مشخص می‌کند. این فایل باید خارج از دایرکتوری‌هایی که سرو می‌شوند قرار داشته باشد. به‌زودی این فایل را می‌سازیم.
  • Require valid-user: مشخص می‌کند که فقط کاربرانِ احراز هویت‌شده باید به این منبع دسترسی داشته باشند. این همان چیزی است که در عمل جلوی ورود کاربران غیرمجاز را می‌گیرد.

وقتی کارتان تمام شد، فایل را ذخیره کرده و ببندید.

مسیری که برای فایل رمزها انتخاب کردید /etc/phpmyadmin/.htpasswd بود. حالا می‌توانید این فایل را با ابزار htpasswd بسازید و یک کاربر اولیه به آن اضافه کنید:

sudo htpasswd -c /etc/phpmyadmin/.htpasswd username

از شما خواسته می‌شود برای کاربری که در حال ساخت آن هستید، یک رمز عبور انتخاب و تأیید کنید. سپس فایل همراه با رمز عبور هش‌شده‌ای که وارد کردید، ساخته می‌شود.

اگر می‌خواهید کاربر دیگری اضافه کنید، باید این کار را بدون فلگ -c انجام دهید، مثل زیر:

sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser

سپس آپاچی را ری‌استارت کنید تا احراز هویت .htaccess اعمال شود:

sudo systemctl restart apache2

حالا وقتی به زیرمسیر phpMyAdmin دسترسی پیدا کنید، از شما نام کاربری و رمز عبور اضافی‌ای که همین الان پیکربندی کردید، پرسیده می‌شود:

https://domain_name_or_IP/phpmyadmin

[تصویر: درخواست رمز عبور آپاچی هنگام ورود به phpMyAdmin]

پس از ورود موفق از طریق احراز هویت آپاچی، به صفحه احراز هویت معمول phpMyAdmin هدایت می‌شوید تا اطلاعات کاربری MySQL خود را وارد کنید. با افزودن یک مجموعه اطلاعات ورودی غیر MySQL، یک لایه امنیتی اضافی برای پایگاه داده خود فراهم می‌کنید. این کار مطلوب است، چون phpMyAdmin در گذشته آسیب‌پذیریت‌های امنیتی داشته است.

سوالات متداول

چرا هنگام دسترسی به phpMyAdmin خطای 404 می‌گیرم؟

خطای 404 معمولاً یعنی آپاچی برای سرو کردن phpMyAdmin پیکربندی نشده است. هنگام نصب، مطمئن شوید در پاسخ به درخواستِ انتخاب وب‌سرور، گزینه apache2 را انتخاب کرده‌اید. اگر این مرحله را از دست داده‌اید، ممکن است لازم باشد به‌صورت دستی یک لینک نمادین (Symbolic Link) بسازید یا بررسی کنید که فایل پیکربندی phpMyAdmin در مسیر /etc/apache2/conf-enabled/ وجود داشته باشد. پس از اعمال تغییرات، آپاچی را با sudo systemctl restart apache2 ری‌استارت کنید و اگر مشکل ادامه داشت، لاگ‌های خطای آپاچی را بررسی کنید.

خطای «Cannot connect to the database» در phpMyAdmin را چطور رفع کنم؟

این خطا معمولاً نشان می‌دهد MySQL در حال اجرا نیست یا اطلاعات کاربری شما نادرست است. ابتدا با sudo systemctl status mysql مطمئن شوید MySQL در حال اجراست. اگر اجرا نیست، با sudo systemctl start mysql آن را راه‌اندازی کنید. سپس مطمئن شوید از نام کاربری و رمز عبور درست MySQL استفاده می‌کنید. اگر با کاربر root کار می‌کنید، مطمئن شوید احراز هویت با رمز عبور را طبق مرحله ۲ این آموزش پیکربندی کرده‌اید.

آیا استفاده از phpMyAdmin روی سرور production امن است؟

phpMyAdmin زمانی که به‌درستی امن‌سازی شود، می‌تواند به‌صورت ایمن در محیط production استفاده شود. همیشه از HTTPS همراه با گواهی SSL/TLS استفاده کنید (هرگز HTTP ساده نه)، احراز هویت .htaccess آپاچی را طبق این آموزش پیاده‌سازی کنید، در صورت امکان دسترسی را بر اساس آدرس IP محدود کنید و phpMyAdmin را به‌روز نگه دارید. برای بارهای کاری حساس در محیط production، استفاده از سرویس پایگاه داده مدیریت‌شده پارمین کلود را در نظر بگیرید که قابلیت‌های امنیتی داخلی دارد و نیازی به مدیریت زیرساخت پایگاه داده نخواهید داشت.

اگر phpMyAdmin صفحه سفید خالی نمایش می‌دهد چه کار کنم؟

صفحه سفید معمولاً نشانه یک خطای PHP است. با sudo tail -f /var/log/apache2/error.log لاگ خطاهای آپاچی را بررسی کنید تا مشکل دقیق مشخص شود. از دلایل رایج می‌توان به نبود افزونه‌های PHP اشاره کرد. مطمئن شوید همه ماژول‌های لازم PHP (php-mbstring، php-zip، php-gd، php-json و php-curl) را نصب کرده و افزونه mbstring را با sudo phpenmod mbstring فعال کرده‌اید، سپس آپاچی را ری‌استارت کنید.

آیا می‌توانم به‌جای MySQL از MariaDB با phpMyAdmin استفاده کنم؟

بله، phpMyAdmin هم با MySQL و هم با MariaDB کار می‌کند. فرایند نصب و پیکربندی کاملاً یکسان است. MariaDB جایگزین مستقیم (Drop-in) برای MySQL است؛ بنابراین تمام دستورات و مراحل این آموزش به همین شکل کار می‌کنند، چه از MySQL استفاده کنید چه از MariaDB.

جمع‌بندی

اکنون باید phpMyAdmin روی سرور اوبونتوی شما پیکربندی شده و آماده استفاده باشد. با استفاده از این رابط می‌توانید پایگاه داده، کاربر و جدول بسازید و عملیات‌های معمول مانند حذف و ویرایش ساختارها و داده‌ها را انجام دهید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا