نصب phpmyadmin روی اوبونتو سرور

زمان مطالعه: 3 دقیقه

با سلام، خیلی سریع و بدون مقدمه این آمزوش رو پیش میرم، آموزش نصب phpmyadmin روی سرور لینوکسی (اوبونتو).

پیش نیاز های آموزش:

  • ابونتو سرور (من روی نسخه ۲۰.۰۴ (اوبونتو فوکال) این آموزش رو پیش رفتم)
  • نصب و کانف بودن LAMP (Linux, Apache, MySQL, and PHP)

قدم نخست – نصب phpMyadmin

خب از APT برای نصب phpMyadmin از رپوزیتوری های پیشفرض اوبونتو استفاده می کنیم.

sudo apt update

اگر LAMP را نصب کرده باشید احتمالا یه تعداد از پیش نیاز های نصب phpMyadmin را نصب کرده اید، ولی بنا بر احتیاط، پکیج های زیر را نصب کنید.

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

خب بعد از شروع به نصب phpMyadmin یک صفحه ای نمایش داده می شود که به صورت پیش فرض apache2 انتخاب شده، فقط توجه داشته باشید حتما روی apache2 بروید و space را بزنید تا انتخاب شود و سپس enter را بزنید.

صفحه ی dbconfig-common که نمایش داده شد، حتما yes را بزنید.

سپس از شما رمز عبور برای phpMyadminخواهد خواست.

نکته، اگر پس از ورود رمز عبور، phpMyadmin اروری مشابه تصویر زیر نشون داد، abort کنید.

اما دلیل ارور فوق چیست، موقع نصب MySQL احتمال قوی Validate Password plugin را فعال کرده اید. همین افزونه می تواند منجر به ارور فقو شود و در واقع نمی تواند پسوورد برای کاربر phpMyadmin انتخاب کند.

خب برای حل این قضیه همان طور که گفتم، abort را بزنید، سپس وارد mysql شود:

sudo mysql

یا اگر ورود با رمزعبور را برای root فراهم کرده اید، دستور زیر را اجرا کرده و رمز عبور را وارد کنید:

mysql -u root -p

حال داخل mysql دستور زیر را برای غیرفعال کردن Validate Password component استفاده کنید.

mysql> UNINSTALL COMPONENT "file://component_validate_password";

حال از mysql خارج شوید:

mysql> exit

حال مجدد اقدام به نصب phpMyadmin کنید:

sudo apt install phpmyadmin

همین که phpMyadmin نصب شد، می توانید مجدد “file://component_validate_password”; فعال کنید.

mysql> INSTALL COMPONENT "file://component_validate_password";

برای تمام کردن فرایند کانفیگ آپاچی و پی اچ پی جهت کار با phpMyadmin ، تنها کار باقیمانده، فعال کردن mbstring می باشد.

sudo phpenmod mbstring

سپس نوبت به ری استارت آپاچی می رسد:

sudo systemctl restart apache2

کانفیگ دسترسی با رمزعبور برای اکانت root مای اسکیو ال:

برای ورود به mySql دستور زیر را بزنید:

sudo mysql

حال با استفاده از دستور زیر، بررسی کنید که چه روش های authentication برای هر کاربر MySQL وجود دارد:

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

خروجی :

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | caching_sha2_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | caching_sha2_password | localhost |
| debian-sys-maint | *8486437DE5F65ADC4A4B001CA591363B64746D4C | caching_sha2_password | localhost |
| phpmyadmin       | *5FD2B7524254B7F81B32873B1EA6D681503A5CA9 | caching_sha2_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
5 rows in set (0.00 sec)

برای تعیین رمز root از دستور زیر استفاده کنید:

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

حال مجدد متد های authenticationا بررسی کنید تا مطمین شوید که کاربر root به صورت auth_socket نباشد.

نکته: توجه داشته باشید که پلاگین caching_sha2_password پلاگین جدید پیشنهادی MySQLمی باشد و انکریپت امن تری را برای رمزعبور نسبت به پلاگین های قبلی ایجاد می کند. اگرچه بعضی از نسخه های PHP به صورت مطمین با caching_sha2_password کار نمی کنند، البته PHPگزارش داده که از نمسخه ۷.۴ این مشکل را حل کرده، منتهی می توانید بجایcaching_sha2_password از mysql_native_password استفاده کرد.

حال با آدرس زیر به phpMyadmin دسترسی خواهید داشت:

http://your_domain_or_IP/phpmyadmin

اگر با آدرس فوق دسترسی نداشتید، ابتدا فایل apache2.conf را با دستور زیر ویرایش کنید:

sudo nano /etc/apache2/apache2.conf

در انتهای فایل، خط زیر را اضافه کنید:

Include /etc/phpmyadmin/apache.conf

حال apache را ری استارت کنید:

sudo systemctl restart apache2