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

⦁ $ sudo apt install phpmyadmin php-mbstring php-gettext

از شما سوالاتی پرسیده میشود تا نصب را به درستی پیکربندی کند.
هشدار: هنگامی که اعلان ظاهر می شود ، “apache2” هایلایت می شود ، اما انتخاب نشده است. اگر برای انتخاب Apache ، SPACE نزنید ، نصب کننده هنگام نصب ، فایلهای لازم را جابجا نمی کند. برای انتخاب Apache ، کلید SPACE ، TAB و سپس ENTER را بزنید.
• برای انتخاب سرور مجازی ، apache2 را انتخاب کنید
• وقتی از شما سؤال شد که آیا از dbconfig-Common برای راه‌اندازی پایگاه داده استفاده کنید ، yes را انتخاب کنید
• سپس از شما خواسته می شود رمزعبور برنامه MySQL را برای phpMyAdmin انتخاب و تأیید کنید
توجه: MariaDB یک فورک توسعه یافته MySQL است و اگرچه این دو برنامه ارتباط نزدیک دارند ، اما به طور کامل قابل تعویض نیستند. phpMyAdmin به طور خاص برای مدیریت پایگاه داده های MySQL طراحی شده است و به جعبه گفتگوهای مختلف به MySQL اشاره می کند ، در ابتدا اطمینان حاصل میشود که نصب MariaDB به درستی با phpMyAdmin کار خواهد کرد.
فرآیند نصب فایل پیکربندی phpMyAdmin Apache را به دیرکتوری / etc / apache2 / conf-enabled / اضافه می کند ، جایی که به طور خودکار خوانده می شود. تنها کاری که باید انجام دهید فعال کردن پسوند PHP mbstring است که برای مدیریت رشته های غیر ASCII و تبدیل رشته ها به رمزگذاری های مختلف استفاده می شود. این کار را با تایپ کردن دستور زیر انجام دهید:
⦁ $ sudo phpenmod mbstring

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

اکنون phpMyAdmin نصب و پیکربندی شده است. با این حال ، قبل از ورود به سیستم و شروع به مدیریت پایگاه داده های MariaDB خود ، باید اطمینان حاصل کنید که کاربران MariaDB شما از امتیازات لازم برای تعامل با برنامه برخوردار هستند.

مرحله 2 – تنظیم تأیید اعتبار و امتیازات کاربر
وقتی phpMyAdmin را بر روی سرور مجازی خود نصب کردید ، به طور خودکار کاربر پایگاه داده ای به نام phpmyadmin ایجاد کرد که فرآیندهای پایه خاصی را برای این برنامه انجام می دهد. به جای اینکه به عنوان کاربر با گذرواژه ادمین وارد شوید ، توصیه می شود که از حساب دیگری استفاده کنید.
در نصب های جدید روی سیستم های دبیان ، کاربر اصلی MariDB با استفاده از افزونه unix_socket به طور پیش فرض و نه با رمز عبور ، تأیید اعتبار را انجام می دهد. این امر امکان امنیت و قابلیت استفاده بیشتر را در بسیاری از موارد فراهم می کند ، اما همچنین می تواند مواردی که شما نیاز به حقوق ادمین یک برنامه خارجی (مانند phpMyAdmin) دارید، را پیچیده تر کند. از آنجا که سرور مجازی از حساب root برای کارهایی مانند تغییر ورود به سیستم و شروع و متوقف کردن سرور مجازی استفاده می کند ، بهتر است جزئیات تأیید اعتبار حساب root را تغییر ندهید. از آنجا که phpMyAdmin برای احراز هویت کاربران به گذرواژه نیاز دارد ، برای دسترسی به رابط باید یک حساب کاربری جدید MariaDB ایجاد کنید.
اگر از آموزش پیش نیاز نصب پشته LAMP پیروی کرده اید و یک حساب کاربری MariaDB ایجاد کرده اید ، همانطور که در مرحله 2 توضیح داده شده است ، می توانید با مراجعه به این لینک ، با استفاده از پسوردی که هنگام تنظیم آن ایجاد کرده اید ، وارد phpMyAdmin شوید:
https: // your_domain_or_IP / phpmyadmin
اگر یک کاربر MariaDB ایجاد نکرده اید ، یا اگر می خواهید کاربر دیگری را فقط به منظور مدیریت پایگاه های داده از طریق phpMyAdmin ایجاد کنید ، این بخش را ادامه دهید تا نحوه تنظیم آن را بیاموزید.
با باز کردن پوسته MariaDB شروع کنید:
⦁ $ sudo mariadb

توجه: اگر تأیید اعتبار را فعال کرده اید ، همانطور که می خواهید حساب کاربری جدیدی برای سرور مجازی MariaDB خود ایجاد کرده باشید ، برای دسترسی به پوسته MariaDB ، باید از یک دستور دیگر استفاده کنید. دستور زیر کلاینت شما MariaDB را با حقوق معمول کاربران اجرا می کند ، و شما فقط با تأیید اعتبار ، امتیازات ادمین را در بانک اطلاعاتی دریافت خواهید کرد:
⦁ $ mariadb -u user -p

پس از آن ، یک کاربر جدید ایجاد کرده و یک رمزعبور قوی به آن بدهید:
⦁ MariaDB [(none)]> CREATE USER ‘sammy’@’localhost’ IDENTIFIED BY ‘password’;

سپس به کاربر جدید خود امتیازات مناسب اعطا کنید. به عنوان مثال ، می توانید امتیازات کاربر را به تمام جداول موجود در دیتابیس و همچنین قدرت اضافه کردن ، تغییر و امتیازهای کاربر را با این دستور حذف کنید:
⦁ MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO ‘sammy’@’localhost’ WITH GRANT OPTION;

پس از آن ، از پوسته MariaDB خارج شوید:
⦁ MariaDB [(none)]> exit

اکنون می توانید با مراجعه به نام دامنه سرور مجازی یا آدرس IP عمومی و به دنبال آن / phpmyadmin به رابط وب دسترسی پیدا کنید:
https://your_domain_or_IP/phpmyadmin

با نام کاربری و رمزعبور جدیدی که پیکربندی کرده اید ، وارد رابط شوید.
وقتی وارد سیستم می شوید ، رابط کاربری را مشاهده خواهید کرد که چیزی شبیه به این خواهد بود:

اکنون که می توانید به phpMyAdmin متصل شده و با آن ارتباط برقرار کنید ، تمام کاری که باید انجام شود ، تضمین امنیت سیستم شما برای محافظت از آن در برابر مهاجمان است.
مرحله 3 – ایمن سازی نمونه phpMyAdmin
phpMyAdmin به دلیل فراگیر بودن ، یک هدف محبوب برای مهاجمین است و برای جلوگیری از دسترسی غیرمجاز باید مراقبت بیشتری کنید. یکی از ساده ترین راه های انجام این کار ، قرار دادن یک دروازه در جلوی کل برنامه با استفاده از ویژگی های تأیید اعتبار داخلی .htaccessدر Apache است.
برای انجام این کار ، ابتدا باید فایل .htaccessرا که با ویرایش فایل پیکربندی Apache رونویسی شده را فعال کنید.
فایل لینک شده که در دیرکتوری پیکربندی Apache قرار داده شده است را ویرایش کنید:
⦁ $ sudo nano /etc/apache2/conf-available/phpmyadmin.conf

یک دستورالعمل AllowOverride All را در بخش <Directory / usr / share / phpmyadmin> فایل پیکربندی ، مانند این اضافه کنید:
/etc/apache2/conf-available/phpmyadmin.conf
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
. . .

وقتی این خط را اضافه کردید ، فایل را ذخیره کنید و ببندید. اگر از nano برای ویرایش فایل استفاده کرده اید ، این کار را با فشار دادن CTRL + X ، Y و سپس enter انجام دهید.
برای اجرای تغییراتی که ایجاد کرده اید ، Apache را مجدداً راه اندازی کنید:
⦁ $ sudo systemctl restart apache2

اکنون که استفاده از .htaccess را برای برنامه خود فعال کرده اید ، باید یک مورد از آن را ایجاد کنید تا در واقع برخی از اقدامات امنیتی را پیاده سازی کنید.
برای موفقیت در این امر ، فایل باید در دیرکتوری برنامه کاربردی ایجاد شود. با تایپ کردن این دستور می توانید فایل لازم را ایجاد کرده و در ویرایشگر متن خود با امتیازات اصلی باز کنید:
⦁ $ sudo nano /usr/share/phpmyadmin/.htaccess

در این فایل اطلاعات زیر را وارد کنید:
/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

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

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

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

برچسب‌ها:,