در حالی که بسیاری از کاربران به عملکرد سیستم مدیریت دیتابیس مانند MySQL احتیاج دارند ، ممکن است از تعامل با سیستم فقط از طریق MySQL احساس راحتی نداشته باشند.
phpMyAdmin به گونه ای ایجاد شده است که کاربران بتوانند از طریق یک رابط وب با MySQL در تعامل باشند. در این راهنما ، ما در مورد نحوه نصب و ایمن سازی phpMyAdmin بحث خواهیم کرد تا بتوانید با اطمینان از آن استفاده کنید تا پایگاه های داده خود را بر روی سیستم Ubuntu 20.04 مدیریت کنید.
پیش نیازها
برای تکمیل این راهنما ، به موارد زیر نیاز دارید:
• سرور مجازی Ubuntu 20.04. این سرور مجازی باید دارای یک کاربر غیر ریشه با امتیازات ادمین و فایروال تنظیم شده با ufw باشد. برای تنظیم این برنامه ، راهنمای تنظیم اولیه سرور مجازی برای اوبونتو 20.04 را دنبال کنید.
• یک پشته LAMP (Linux ، Apache ، MySQL و PHP) که روی سرور مجازی Ubuntu 20.04 شما نصب شده باشد. اگر این کار هنوز انجام نشده است ، می توانید در مورد نصب پشته LAMP در اوبونتو 20.04 این راهنما را دنبال کنید.
علاوه بر این ، هنگام استفاده از نرم افزارهایی مانند phpMyAdmin ملاحظات امنیتی مهمی وجود دارد ، زیرا:
• به طور مستقیم با نصب MySQL شما ارتباط برقرار میکند
• احراز هویت را با استفاده از اعتبارات MySQL انجام می دهد
• نتایج را برای پرس و جوهای SQL دلخواه اجرا می کند و برمیگرداند
به همین دلایل ، و از آنجا که یک برنامه PHP با استقرار گسترده است که غالباً مورد حمله قرار می گیرد ، هرگز نباید phpMyAdmin را روی سیستم های از راه دور از طریق اتصال HTTP ساده اجرا کنید.
اگر دامنه موجود را با گواهی SSL / TLS پیکربندی نکرده اید ، می توانید این راهنما را در زمینه ایمن سازی Apache با Let’s encrypt در Ubuntu 20.04 دنبال کنید. با این کار شما نیاز به ثبت دامنه ، ایجاد رکوردهای DNS برای سرور مجازی خود و تنظیم یک هاست مجازی Apache دارید.
مرحله 1 – نصب phpMyAdmin
می توانید از APT برای نصب phpMyAdmin از مخازن پیش فرض اوبونتو استفاده کنید.
به عنوان کاربر sudo غیر ریشه شما ، ایندکس بسته سرور مجازی خود را به روز کنید:
⦁ $ sudo apt update

پس از آن می توانید بسته phpmyadmin را نصب کنید. در کنار این بسته ، مستندات رسمی همچنین به شما توصیه می کنند که چند پسوند PHP را روی سرور مجازی خود نصب کنید تا قابلیت های خاص و عملکرد آن را بهبود بخشید.
اگر آموزش پیش نیاز LAMP stack را دنبال کرده باشید ، چندین مورد از این ماژول ها به همراه بسته php نصب شده اند. با این حال ، توصیه می شود که این بسته ها را نیز نصب کنید:
⦁ php-mbstring: ماژولی برای مدیریت رشته های غیر ASCII و تبدیل رشته ها به رمزگذاری های مختلف
⦁ php-zip: این افزونه از آپلود فایلهای zip در phpMyAdmin پشتیبانی می کند
⦁ php-gd: پشتیبانی از کتابخانه GD Graphics را فعال می کند
⦁ php-json: پشتیبانی از PHP را برای سریال سازی JSON فراهم می کند
⦁ php-curl: به PHP اجازه می دهد تا با انواع مختلفی از سرور مجازی ها با استفاده از پروتکل های مختلف ارتباط برقرار کند
برای نصب این بسته ها روی سیستم خود دستور زیر را اجرا کنید. لطفاً توجه داشته باشید که مراحل نصب نیاز دارد انتخاب هایی را برای پیکربندی صحیح phpMyAdmin انجام دهید. مختصر این انتخاب ها را بررسی میکنیم:
⦁ $ sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

در اینجا گزینه هایی که باید هنگام درخواست از شما برای پیکربندی صحیح نصب خود انتخاب کنید، آمد اند:
• برای انتخاب سرور مجازی ، apache2 را انتخاب کنید
هشدار: هنگامی که اعلان ظاهر می شود ، “apache2” هایلایت می شود ، اما انتخاب نشده است. اگر برای انتخاب Apache ، SPACE نزنید ، نصب کننده هنگام نصب ، فایلهای لازم را جابجا نمی کند. برای انتخاب Apache ، کلید SPACE ، TAB و سپس ENTER را بزنید.
• وقتی از شما سؤال شد که آیا از dbconfig-Common برای راه‌اندازی پایگاه داده استفاده کنید ، yes را انتخاب کنید
• سپس از شما خواسته می شود رمزعبور برنامه MySQL را برای phpMyAdmin انتخاب و تأیید کنید
توجه: به فرض اینکه MySQL را با پیروی از مرحله 2 آموزش پیش نیاز پشته LAMP نصب کرده اید ، ممکن است تصمیم گرفته باشید که افزونه Validate Password را فعال کنید. همانند این مقاله ، هنگام تلاش برای تنظیم گذرواژه برای کاربر phpmyadmin ، فعال کردن این مؤلفه خطایی را ایجاد می کند:

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

یا اگر احراز هویت رمز عبور را برای کاربر ریشه MySQL فعال کرده اید ، این دستور را اجرا کرده و در صورت درخواست ، رمزعبور خود را وارد کنید:
⦁ $ mysql -u root -p

از اعلان ، دستور زیر را برای غیرفعال کردن مؤلفه Validate Password اجرا کنید. توجه داشته باشید که این کار در واقع آن را حذف نمی کند ، بلکه فقط لود مؤلفه در سرور مجازی MySQL را متوقف میکند:
⦁ Mysql> UNINSTALL COMPONENT “file://component_validate_password”;

پس از آن ، می توانید کلاینت MySQL را ببندید:
⦁ Mysql> exit

سپس مجدداً بسته phpmyadmin را نصب کنید و مطابق آنچه انتظار می رود کار خواهد کرد:
⦁ $ sudo apt install phpmyadmin

پس از نصب phpMyAdmin ، می توانید یک بار دیگر MySQL را با sudo mysql یا mysql -u root -p باز کنید و سپس دستور زیر را اجرا کنید تا مجدداً Validate Password را فعال کنید:
⦁ Mysql> INSTALL COMPONENT “file://component_validate_password”;

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

پس از آن ، Apache را مجدداً راه اندازی کنید تا تغییرات شما به رسمیت شناخته شود:
⦁ $ sudo systemctl restart apache2

اکنون phpMyAdmin برای کار با Apache نصب و تنظیم شده است. با این حال قبل از اینکه بتوانید وارد شوید و تعامل خود را با پایگاه داده های MySQL شروع کنید ، باید اطمینان حاصل کنید که کاربران MySQL از امتیازات لازم برای تعامل با برنامه برخوردار هستند.
مرحله 2 – تنظیم تأیید اعتبار و امتیازات کاربر
وقتی phpMyAdmin را بر روی سرور مجازی خود نصب کردید ، به طور خودکار کاربر پایگاه داده ای به نام phpmyadmin ایجاد کرد که فرآیندهای پایه خاصی را برای این برنامه انجام می دهد. به جای اینکه به عنوان این کاربر با گذرواژه اداری که در حین نصب تنظیم کرده اید وارد شوید ، توصیه می شود که به عنوان کاربر ریشه MySQL یا به عنوان کاربر اختصاصی برای مدیریت پایگاه داده از طریق رابط phpMyAdmin وارد شوید.
پیکربندی دسترسی رمز ورود برای حساب ریشه MySQL
در سیستم های اوبونتو که MySQL 5.7 (و نسخه های بعدی) را اجرا می کنند ، تأیید اعتبار کاربر ریشه MySQL بصورت پیش فرض با استفاده از افزونه auth_socket و نه با گذرواژه تنظیم شده است. این امر امکان امنیت و قابلیت استفاده بیشتر را در بسیاری از موارد فراهم می کند ، اما همچنین می تواند مواردی را پیچیده تر کند که شما نیاز به دسترسی به یک برنامه خارجی – مانند phpMyAdmin – برای دسترسی به کاربر دارید.
برای ورود به سیستم phpMyAdmin به عنوان کاربر ریشه MySQL ، باید روش احراز هویت آن را از auth_socket به شخصی که از رمز عبور استفاده می کند ، تغییر دهید ، اگر قبلاً این کار را نکرده اید. برای این کار ، اعلان MySQL را از پایانه خود باز کنید:
⦁ $ sudo mysql

سپس ، با دستور زیر بررسی کنید که هر یک از حسابهای کاربری MySQL از کدام روش تأیید اعتبار استفاده میکنند:
⦁ Mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

Output
+——————+——————————————-+———————–+———–+
| 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)

در این مثال ، می بینید که کاربر اصلی با استفاده از افزونه auth_socket ، در واقع تأیید اعتبار می کند. برای پیکربندی حساب اصلی برای تأیید اعتبار با یک رمز عبور ، دستور ALTER USER زیر را اجرا کنید. حتما گذرواژه را به رمز عبور قوی تغییر دهید:
⦁ Mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED WITH caching_sha2_password BY ‘password’;

توجه: جمله قبلی ALTER USER کاربر ریشه MySQL را برای تأیید اعتبار با افزونه caching_sha2_password تنظیم می کند. طبق اسناد رسمی MySQL ، caching_sha2_password افزونه تأیید هویت MySQL است ، زیرا رمزگذاری پسورد ایمن تری نسبت به نسخه قدیمی ارائه میدهد ، اما هنوز به طور گسترده استفاده می شود ، mysql_native_password.
با این حال ، برخی از نسخه های PHP قابل اعتماد با caching_sha2_password کار نمی کنند. PHP گزارش داده است که این مشکل در PHP 7.4 رفع شده است ، اما اگر در هنگام تلاش برای ورود به سایت phpMyAdmin بعدا با خطایی روبرو شدید ، میتوانید به جای آن ،root را برای تأیید اعتبار خود تنظیم کنید.
⦁ Mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;

سپس روش تأیید اعتبار استفاده شده توسط هریک از کاربران خود را دوباره بررسی کنید تا تأیید کنید که root دیگر با استفاده از افزونه auth_socket تایید اعتبار نمیکند:
⦁ Mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

در اینجا منظور از هریک از این خطوط آورده شده است:
⦁ AuthType Basic: در این خط نوع تأیید هویت مورد استفاده شما مشخص می شود. این نوع، تأیید اعتبار رمز عبور را با استفاده از یک فایل رمز عبور پیاده سازی می کند.
⦁ AuthName: پیام را برای کادر گفتگوی تأیید اعتبار تنظیم می کند. شما باید آن را سری نگه دارید تا کاربران غیرمجاز هیچ اطلاعاتی درباره چیزی که محافظت می شود کسب نکنند.
⦁ AuthUserFile: مکان فایل رمز عبور را که برای تأیید اعتبار استفاده می شود را تعیین می کند. باید خارج از دایرکتوری هایی باشد که ارائه می شوند. به زودی این فایل را ایجاد خواهیم کرد.
⦁ Require valid-user : مشخص می کند که فقط کاربران معتبر باید به این منبع دسترسی داشته باشند. همان چیزی است که در واقع ورود کاربران غیرمجاز را متوقف می کند.
پس از اتمام ، فایل را ذخیره کنید و ببندید.
محلی که برای فایل رمز عبور خود انتخاب کردید /etc/phpmyadmin/.htpasswd بود. اکنون می توانید این فایل را ایجاد کرده و آن را به عنوان کاربر اولیه با ابزار htpasswd وارد کنید:
⦁ $ sudo htpasswd -c /etc/phpmyadmin/.htpasswd username

از شما خواسته می شود یک رمز عبور را برای کاربر مورد نظر خود انتخاب و تأیید کنید. پس از آن ، فایل با رمز عبور hashed که وارد کرده اید ایجاد می شود.
از شما خواسته می شود یک رمز عبور برای کاربر مورد نظر خود انتخاب و تأیید کنید. پس از آن ، فایل با رمز عبور hashed که وارد کرده اید ایجاد می شود.
⦁ $ sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser

اگر می خواهید یک کاربر اضافی وارد کنید ، باید بدون پرچم -c این کار را انجام دهید ، مانند این:
https://domain_name_or_IP/phpmyadmin

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

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

نصب و پیکربندی Ansible در اوبونتو 18.04 – نصب MySQL در اوبونتو 18.04

نظارت بر سلامت سرور با Checkmk در اوبونتو – اجرای چند نسخه PHP بر روی یک سرور

نصب Nginx، MySQL، PHP در CentOS 7 –  نصب و پیکربندی Elasticsearch در اوبونتو 18.04

راه اندازی سرور اولیه با اوبونتو 20.04 – تنظیم کلیدهای SSH در Ubuntu 20.04

نصب و استفاده از PostgreSQL در اوبونتو 20.0 – نحوه نصب MySQL در اوبونتو 20.04

نصب Python 3 روی سرور Ubuntu 18.04 –  نحوه نصب Python 3 روی سرور Ubuntu 20.04

نصب Linux،Apache،MySQL،PHP LAMP در اوبونتو 20.04 –  نصب وب سرور Apache در CentOS 8

نحوه نصب Drupal با Docker Compose –  نحوه نصب Nginx در اوبونتو 20.04

7 مورد از اقدامات امنیتی برای محافظت از سرورهای شما –  نحوه نصب و ایمن سازی Redis در اوبونتو 20.04

نحوه نصب و ایمن سازی Redis در اوبونتو 18.04 – اضافه کردن فضای Swap در اوبونتو 20.04

چگونه می توان فایروال را با UFW در اوبونتو 20.04 تنظیم کرد – نظارت بر اطلاعیه و مسیر BGP با BGPalerter اوبونتو 18.04

نصب و ایمن سازی phpMyAdmin در اوبونتو 20.04  –  نصب و استفاده از Composer در اوبونتو 20.04

ریست کردن رمز ورود ریشه MySQL یا MariaDB –  استفاده از نوع داده MySQL BLOB برای ذخیره تصاویر

نصب Nginx در اوبونتو 18.04 – نصب توزیع Anaconda پایتون در اوبونتو 20.04

نحوه نصب جاوا با Apt در اوبونتو 18.04 –  نحوه نصب Django و تنظیم محیط توسعه در اوبونتو 16.04

نصب جنگو و تنظیم محیط توسعه در اوبونتو 20.04 – نحوه ایجاد سرور Minecraft در اوبونتو 18.04

نحوه راه اندازی یک پروژه Node با Typescript –  نحوه نصب و پیکربندی VNC در اوبونتو 18.04

ایجاد یک برنامه Django و اتصال آن به یک بانک اطلاعاتی – نصب و پیکربندی VNC در اوبونتو 20.04

نصب MariaDB در اوبونتو 20.04  –  فعال سازی و اتصال رابط کاربری Django

تنظیم پلتفرم Cloud IDE کد سرور را در اوبونتو 18.04 – پیکربندی Apache HTTP با رویداد MPM و PHP-FPM

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا – خرید سرور مجازی ارزان هلند – vps – خرید vps هلند – خرید سرور مجازی آمریکا – خرید vps فرانسه – تست vps – سرور مجازی تست – سرور مجازی ویندوز – ارزانترین vps – خرید وی پی اس – vps ارزان –