ubuntu

نصب و ایمن سازی phpMyAdmin در اوبونتو 18

در حالی که بسیاری از کاربران به عملکرد سیستم مدیریت دیتابیس مانند MySQL احتیاج دارند ، ممکن است از تعامل با سیستم فقط از طریق MySQL احساس راحتی نداشته باشند.
phpMyAdmin به گونه ای ایجاد شده است که کاربران بتوانند از طریق یک رابط وب با MySQL در تعامل باشند. در این راهنما ، ما در مورد نحوه نصب و ایمن سازی phpMyAdmin بحث خواهیم کرد تا بتوانید با اطمینان از آن استفاده کنید تا پایگاه های داده خود را بر روی سیستم Ubuntu 18.04 مدیریت کنید.
پیش نیازها
قبل از شروع کار با این راهنما ، باید مراحل پایه ای را انجام دهید.
ابتدا فرض خواهیم کرد که سرور مجازی شما دارای کاربر غیر ریشه ای با امتیازات sudo و همچنین فایروال پیکربندی شده با ufw است ، همانطور که در راهنمای اولیه تنظیم سرور مجازی برای اوبونتو 18.04 شرح داده شده است.
همچنین فرض خواهیم کرد که نصب LAMP (Linux ، Apache ، MySQL و PHP) را روی سرور مجازی Ubuntu 18.04 خود انجام داده اید. اگر این کار هنوز کامل نشده است ، می توانید در مورد نصب پشته LAMP در اوبونتو 18.04 این راهنما را دنبال کنید.
سرانجام ، هنگام استفاده از نرم افزارهایی مانند phpMyAdmin ملاحظات امنیتی مهمی وجود دارد ، زیرا:
⦁ به طور مستقیم با نصب MySQL شما ارتباط برقرار میکند
⦁ احراز هویت را با استفاده از اعتبار MySQL انجام می دهد
⦁ نتایج را برای جستارهای SQL دلخواه اجرا می کند و برمیگرداند
به همین دلایل ، و از آنجا که یک برنامه PHP با استقرار گسترده است که غالباً مورد حمله قرار می گیرد ، هرگز نباید phpMyAdmin را روی سیستم های از راه دور از طریق اتصال HTTP ساده اجرا کنید. اگر دامنه موجود را با گواهی SSL / TLS پیکربندی نکرده اید ، می توانید این راهنما را در زمینه ایمن سازی Apache با Let’s encrypt در Ubuntu 18.04 دنبال کنید. با این کار شما نیاز به ثبت نام دامنه ، ایجاد رکوردهای 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 انتخاب و تأیید کنید
فرآیند نصب فایل پیکربندی phpMyAdmin Apache را به دیرکتوری / etc / apache2 / conf-enabled / اضافه می کند ، جایی که به طور خودکار خوانده می شود. تنها کاری که شما باید انجام دهید فعال کردن صریح پسوند mbstring PHP است که می توانید با تایپ کردن این دستور آن را انجام دهید:
⦁ $ sudo phpenmod mbstring

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

اکنون phpMyAdmin نصب و پیکربندی شده است. با این حال ، قبل از ورود به سیستم و شروع به تعامل با بانکهای اطلاعاتی MySQL ، باید اطمینان حاصل کنید که کاربران MySQL از امتیازات لازم برای تعامل با برنامه برخوردار هستند.
مرحله 2 – تنظیم تأیید اعتبار و امتیازات کاربر
وقتی phpMyAdmin را بر روی سرور مجازی خود نصب کردید ، به طور خودکار کاربر پایگاه داده ای به نام phpmyadmin ایجاد کرد که فرآیندهای پایه خاصی را برای این برنامه انجام می دهد. به جای اینکه به عنوان این کاربر با گذرواژه اداری که در حین نصب تنظیم کرده اید وارد شوید ، توصیه می شود که به عنوان کاربر ریشه MySQL یا به عنوان کاربر اختصاصی برای مدیریت پایگاه داده از طریق رابط phpMyAdmin وارد شوید.
پیکربندی دسترسی رمز ورود برای حساب ریشه MySQL
در سیستم های اوبونتو که MySQL 5.7 را اجرا می کند (و نسخه های بعدی) ، تأیید اعتبار کاربر ریشه MySQL با استفاده از افزونه auth_socket بصورت پیش فرض و نه با گذرواژه تنظیم شده است. این امر امکان امنیت و قابلیت استفاده بیشتر را در بسیاری از موارد فراهم می کند ، اما همچنین می تواند مواردی را پیچیده تر کند که شما نیاز به دسترسی به یک برنامه خارجی – مانند phpMyAdmin – برای دسترسی به کاربر دارید.
برای ورود به سایت phpMyAdmin به عنوان کاربر ریشه MySQL ، اگر قبلاً این کار را نکرده اید ، باید روش تأیید اعتبار آن را از auth_socket به mysql_native_password تغییر دهید. برای این کار ، اعلان 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 | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *8486437DE5F65ADC4A4B001CA591363B64746D4C | mysql_native_password | localhost |
| phpmyadmin | *5FD2B7524254B7F81B32873B1EA6D681503A5CA9 | mysql_native_password | localhost |
+——————+——————————————-+———————–+———–+
5 rows in set (0.00 sec)

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

سپس ، FLUSH PRIVILEGES را اجرا کنید که به سرور مجازی می گوید جداول امتیازدهی را دوباره لود کند و تغییرات جدید خود را به مرحله اجرا برساند:
⦁ Mysql> FLUSH PRIVILEGES;

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

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

می توانید از این خروجی مشاهده کنید که کاربر اصلی با استفاده از یک رمز عبور تأیید اعتبار می کند. اکنون می توانید
به عنوان کاربر اصلی خود با گذرواژه ای که در اینجا برای آن تنظیم کرده اید وارد رابط phpMyAdmin شوید.
پیکربندی دسترسی رمز ورود برای یک کاربر اختصاصی MySQL
از طرف دیگر ، برخی ممکن است عقیده داشته باشند که اتصال به phpMyAdmin با یک کاربر اختصاصی ، بیشتر با گردش کار آن ها تناسب دارد. برای انجام این کار ، یکبار دیگر پوسته MySQL را باز کنید:
⦁ $ sudo mysql

توجه: اگر تأیید اعتبار را فعال کرده اید ، همانطور که در قسمت قبل توضیح داده شد ، برای دسترسی به پوسته MySQL باید از دستور دیگری استفاده کنید. دستور زیر کلاینت MySQL شما را با حق امتیاز منظم کاربر اجرا می کند و شما فقط با تأیید اعتبار ، امتیازات ادمین را در بانک اطلاعات دریافت خواهید کرد:
⦁ $ mysql -u root -p
⦁ •
از آنجا ، یک کاربر جدید ایجاد کرده و یک رمزعبور قوی به آن بدهید:
⦁ Mysql> CREATE USER ‘sammy’@’localhost’ IDENTIFIED BY ‘password’;

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

پس از آن ، از پوسته MySQL خارج شوید:
⦁ Mysql> exit

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

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

اکنون که می توانید با phpMyAdmin ارتباط برقرار کرده و با آنها تعامل داشته باشید ، تمام کار باقی مانده این است که امنیت سیستم های خود را برای محافظت از آن در مقابل مهاجمان بالا ببرید.
مرحله 3 – ایمن سازی نمونه phpMyAdmin
phpMyAdmin به دلیل فراگیر بودن آن ، یک هدف محبوب برای مهاجمین است و برای جلوگیری از دسترسی غیرمجاز باید مراقبت بیشتری کنید. یکی از ساده ترین راه های انجام این کار ، قرار دادن یک دروازه در جلوی کل برنامه با استفاده از ویژگی های تأیید اعتبار داخلی .htaccessو توابع اختیاراتی است.
برای این کار ابتدا با ویرایش پرونده پیکربندی apache، استفاده از فایل.htaccess را فعال کنید.
پرونده لینک شده را که در دیرکتوری تنظیمات 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
. . .

وقتی این خط را اضافه کردید ، پرونده را ذخیره کنید و ببندید.
برای اجرای تغییراتی که ایجاد کرده اید ، 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 که وارد کرده اید ایجاد می شود.
اگر می خواهید یک کاربر اضافی وارد کنید ، باید بدون پرچم -c این کار را انجام دهید ، مانند این:
⦁ $ sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser

اکنون ، هنگامی که به زیرشاخه phpMyAdmin خود دسترسی پیدا می کنید ، از شما خواسته می شود نام و رمز اکانت دیگری را که اخیراً پیکربندی کرده اید وارد کنید:
https://domain_name_or_IP/phpmyadmin

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

 

 

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

پارامترهای پیش فرض در جاوا اسکریپت  –  اجرای چندین نسخه PHP بر روی یک سرور Debian 10

نحوه راه اندازی یک پروژه React با برنامه Reactنصب و ایمن سازی phpMyAdmin در اوبونتو 18

پیکربندی یک تایید اعتبار مجاز(CA) در CentOS 8  –  تنظیم برنامه Node.js برای تولید در CentOS 7

نصب MariaDB در اوبونتو 18.04  –  ایمن کردن Apache با Let’s Encrypt در Debian 10

نحوه نصب Node.js در CentOS 8  –  بازنویسی URL را با mod_rewrite برای Apache در Debian 10

راه اندازی فایروال با استفاده از firewalld در CentOS 8  –  نصب وب سرور Apache در Debian 10

اضافه کردن و حذف کاربران در CentOS 8 –  نصب Apache Tomcat 9 در Debian 10

نصب و استفاده از PostgreSQL در CentOS 8  –  راه اندازی سرور اولیه با Debian 10

نصب MariaDB در CentOS 8  –  چگونه با JSX عناصر واقعی ایجاد کنیم

نصب و پیکربندی VNC در Debian 10  –  استفاده از سرور از راه دور Docker

نصب و ایمن سازی Grafana در اوبونتو 18  –  نحوه نصب Git در CentOS 8

نصب Git در Debian 10 –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرورهای

نحوه نصب Node.js در Debian 10  –  نصب وب سرور Apache در CentOS 7

نحوه نصب Webmin در Debian 10  –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرور

نصب وردپرس با بانک اطلاعاتی در اوبونتو  – ساخت و استقرار سرور GraphQL با Node.js و MongoDB

نصب پایتون 3 و تنظیم نویسی محلی macOS  – نصب و ایمن سازی phpMyAdmin با Nginx در سرور

نصب Nagios 4 و نظارت بر سرور اوبونتو 18  –  نصب Python 3 و تنظیم یک محیط برنامه نویسی

نحوه نصب R بر روی Debian 10  –  راه اندازی سرور Prisma روی اوبونتو 18.04

نصب و پیکربندی Laravel با LEMP در اوبونتو 18  –  نصب و پیکربندی pgAdmin 4 در Server Mode

نصب Python 3 و تنظیم برنامه نویسی CentOS 8نصب Jitsi Meet در Ubuntu 18.04

 

 

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

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


https://vpsgol.net/product/vps-germany/

https://vpsgol.net/product/vps-usa/

https://vpsgol.net/product/vps-france/

https://vpsgol.net/product/vps-canada/

https://vpsgol.net/product/vps-poland/

https://vpsgol.net/product/vps-netherlands/

https://vpsgol.net/product/vps-england/