نحوه نصب و ایمن سازی phpMyAdmin با Nginx در CentOS 7

نحوه نصب و ایمن سازی phpMyAdmin با Nginx در CentOS 7

phpMyAdmin یک ابزار مدیریت رایگان و منبع باز برای MySQL و MariaDB است. به عنوان یک برنامه وب که در درجه اول با PHP نوشته شده است ، به یکی از محبوب ترین ابزارهای مدیریت MySQL تبدیل شده است ، به خصوص برای خدمات میزبانی وب. در این آموزش مروری اساسی در مورد چگونگی ایمن سازی phpmyadmin با Nginx در CentOS 7 ارائه شده است.

در ادامه با ما در شتابان هاست همراه باشید.

پیش نیازها:

  • اطمینان حاصل کنید که با یک کاربر سودو وارد سرور خود شده اید.
  • LEMP Stack را روی CentOS 7 نصب کنید.

مرحله ۱ – phpMyAdmin را نصب کنید:

phpMyAdmin در مخزن پیش فرض CentOS 7 موجود نیست ، بنابراین ما از مخازن EPEL استفاده خواهیم کرد. برای اضافه کردن مخزن CentOS 7 EPEL ، از دستور زیر استفاده کنید:

yum install epel-release

اکنون که به مخزن EPEL دسترسی دارید ، phpMyAdmin را با دستور زیر نصب کنید:

yum install phpmyadmin

اکنون نصب کامل می شود.

در وب سرور Nginx ، ما با اجرای دستور زیر ، پیوند سمبلیکی از فایلهای نصب phpMyAdmin را به فهرست فهرست اصلی وب Nginx ایجاد خواهیم کرد تا فایلهای phpMyAdmin را به درستی (یعنی /usr/share/nginx/html) پیدا کند:

ln -s /usr/share/phpMyAdmin /usr/share/nginx/html

در آخر ، Nginx و PHP-FPM را ریستارت تا تغییرات اعمال شود.

systemctl restart nginx
systemctl restart php-fpm

نصب phpMyAdmin اکنون عملیاتی است. برای دسترسی به رابط ، در مرورگر وب خود به نام دامنه سرور یا آدرس IP عمومی و به دنبال آن / phpMyAdmin بروید:

http://server_domain_or_IP/phpMyAdmin

مرحله ۲ – URL ورود را تغییر دهید:

در وب سرور Nginx ، ما در مرحله اولیه پیوند سمبلیکی از فایلهای نصب phpMyAdmin را به فهرست راهنمای روت سند Nginx (یعنی / usr / share / nginx / html) ایجاد کردیم.

برای تغییر URL در جایی که می توان به رابط phpMyAdmin دسترسی داشت ، ما فقط باید با تایپ دستور زیر پیوند نمادین را تغییر نام دهیم:

توجه: در این راهنما ، مکان دسترسی را /my را نامگذاری می کنیم.

cd /usr/share/nginx/html
mv phpMyAdmin my

حال اگر به مکان قبلی نصب phpMyAdmin خود بروید ، خطای ۴۰۴ را دریافت خواهید کرد:

http://server_domain_or_IP/phpMyAdmin

نحوه نصب و ایمن سازی phpMyAdmin با Nginx در CentOS 7

با این حال ، رابط phpMyAdmin شما در مکان جدیدی که انتخاب کردیم در دسترس خواهد بود:

http://server_domain_or_IP/my

مرحله ۳ – یک گیت تأیید هویتوب سرور راه اندازی کنید:

برای فراهم کردن یک لایه امنیتی بیشتر ، می توانیم تأیید اعتبار را در Nginx تنظیم کنیم.

قبل از انجام این کار ، یک فایل رمز عبور ایجاد می کنیم که اعتبار احراز هویت ما را ذخیره می کند.

ما می توانیم پرونده .htpasswd تولید کنیم. به سادگی holu را به نام کاربری مورد نیاز خود تغییر دهید.

htpasswd -c /etc/nginx/.htpasswd holu

خروجی نمونه:

# htpasswd -c /etc/nginx/.htpasswd holu
New password:
Re-type new password:
Adding password for user holu

اکنون باید یک پرونده .htpasswd وجود داشته باشد که شامل نام کاربری و رمزعبور رمزگذاری شده شما باشد. می توانید با:

cat /etc/nginx/.htpasswd

خروجی نمونه:

username:$apr1$vXURQ.rv$f6S86nCX.fKfjbYNTUPzV.

اکنون ما آماده هستیم تا پرونده پیکربندی Nginx را اصلاح کنیم. برای شروع این پرونده را در ویرایشگر متن خود باز کنید:

vi /etc/nginx/conf.d/default.conf

در این پرونده ، باید یک بخش مکان جدید اضافه کنیم. این موقعیت مکانی را که ما برای رابط phpMyAdmin انتخاب کرده ایم هدف قرار می دهیم (ما در این آموزش /my را انتخاب کردیم).

این بخش را در بلوک سرور ، اما خارج از هر بلوک دیگر ایجاد کنید. در مثال خود بلوک موقعیت مکانی جدید خود را در زیر location / بلوک قرار خواهیم داد.

در این بلوک ، باید مقدار یک بخشنامه به نام auth_basic را بر روی یک پیام تأیید اعتبار قرار دهیم که سریع ما به کاربران نمایش می دهد. ما نمی خواهیم آنچه را که ما محافظت می کنیم به کاربران غیرمجاز نشان دهیم ، بنابراین جزئیات خاصی را بیان نکنید. فقط در مثال خود از “Admin Login” استفاده خواهیم کرد.

سپس ما باید از یک بخشنامه به نام auth_basic_user_file استفاده کنیم تا سرور وب خود را به پرونده احراز هویتی که ایجاد کردیم متمایز کنیم. Nginx از کاربر می خواهد جزئیات تأیید اعتبار را به کاربر هشدار دهد و بررسی کند که مقادیر ورودی با آنچه در پرونده مشخص شده است مطابقت دارد.

پس از پایان کار ، پرونده باید به صورت زیر باشد:

server {
    ...
    location /my {
        auth_basic "Admin Login";
        auth_basic_user_file /etc/nginx/.htpassword;
    }
    ...
}

پس از اتمام پرونده را ذخیره و بسته کنید.

برای پیاده سازی گیت احراز هویت جدید ، باید سرور وب را مجدداً راه اندازی کنیم:

systemctl restart nginx

حال اگر از مکان phpMyAdmin در مرورگر وب خود بازدید کنیم. از شما خواسته می شود نام کاربری و رمز عبوری را که به پرونده .htpassword اضافه کرده اید ، دهید:

http://server_domain_or_IP/my

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

جمع بندی:

تبریک می گویم ، شما phpMyAdmin را با nginx در CentOS 7 با موفقیت نصب و امن کرده اید.

امیدوارم این مقاله براتون مفید بوده باشه.

ما رو تو شتابان هاست دنبال کنید. 🙂

قبلی «
بعدی »

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

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