phpMyAdmin е безплатен инструмент за администриране с отворен код за MySQL и MariaDB. Като преносимо уеб приложение, написано предимно на PHP, то се превърна в един от най-популярните инструменти за администриране на MySQL, особено за уеб хостинг услуги. В това ръководство ще инсталираме phpMyAdmin с Apache на CentOS 7.
Важна предпоставка преди да използвате това ръководство е да инсталирате стек LAMP (Linux, Apache, MariaDB и PHP) на вашия CentOS 7 сървър. LAMP стекът е платформата, която ще се използва за обслужване на нашия phpMyAdmin интерфейс (MariaDB също е софтуерът за управление на база данни, който искаме да управляваме). Ако все още нямате LAMP инсталация на вашия сървър, щракнете тук, за да прочетете нашия урок за инсталиране на LAMP на CentOS 7.
Стъпка 1:Добавете EPEL репо:
Трябва да добавим EPEL repo (допълнителни пакети за Enterprise Linux) към нашия сървър, преди да продължим с инсталацията, тъй като съдържа много допълнителни пакети, включително пакета phpMyAdmin, който търсим. За да инсталирате, въведете командата по-долу:
sudo yum install epel-release
Стъпка 2:Инсталирайте phpMyAdmin:
Въведете командата по-долу, за да инсталирате пакета phpMyAdmin, като използвате системата за опаковане yum, последвано от y, за да продължите:
sudo yum install phpmyadmin
След успешното инсталиране трябва да получите подобен резултат, както е показано по-долу:
Инсталацията включва конфигурационен файл на Apache, който е поставен в съответната директория. Трябва да модифицираме този конфигурационен файл, за да може нашата инсталация да работи перфектно за нашите нужди.
Отворете phpMyAdmin.conf
в /etc/httpd
файл в текстовия редактор (nano в това ръководство), за да направите няколко модификации:
sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
В момента настройката в конфигурационния файл е конфигурирана да отказва достъп до всяка връзка, която не се осъществява от самия сървър. Тъй като оценяваме нашия сървър дистанционно (чрез ssh), трябва да променим някои редове, за да посочим IP адреса на вашата домашна връзка.
Първото местоположение е <Directory /usr/share/phpMyAdmin/>
раздел, както е показано по-долу:
Променете всички редове, които четат Require ip 127.0.0.1
или Allow from 127.0.0.1
за да се обърнете към IP адреса на вашата домашна връзка.
Забележка: Ако имате нужда от помощ при намирането на IP адреса на вашата домашна връзка, щракнете тук, за да проверите.
Второто местоположение е <Directory /usr/share/phpMyAdmin/setup/>
раздел, както е показано по-долу:
Също така променете всички редове, които четат Require ip 127.0.0.1
или Allow from 127.0.0.1
за да се обърнете към IP адреса на вашата домашна връзка.
Забележка: IP адресът на вашите домашни връзки се различава от IP адреса на вашия VPS.
След като направите конфигурациите, рестартирайте уеб сървъра на Apache, като напишете:
sudo systemctl restart httpd.service
За достъп до интерфейса посетете публичния си IP адрес или името на домейна на сървъра, последвано от /phpMyAdmin, във вашия уеб браузър:
http://server_domain_or_IP/phpMyAdmin
Влезте в интерфейса на phpmyadmin, като използвате root потребителското име и административната парола, които сте задали по време на инсталацията на MySQL. След като влезете, потребителският интерфейс изглежда като екранната снимка по-долу:
ЗАЩИТАВАНЕ НА ВАШИЯ PHPMYADMIN ЕКСПЕРАТ
Защитата на вашия phpmyadmin е важна, за да се предотврати неоторизиран достъп. Лесен начин да направите това е да промените местоположението на интерфейса от /phpMyAdmin на нещо друго, за да предотвратите автоматизирани опити за груба сила на ботове.
Отворете конфигурационния файл, като използвате командата по-долу:
sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
Двата реда по-долу са псевдоними по подразбиране, които ни обслужват съдържание от /usr/share/phpMyAdmin
местоположение, ако имаме достъп до името на домейна или IP адреса на нашия сайт, последвано от /phpMyAdmin
или /phpmyadmin
.
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
Ще деактивираме тези псевдоними по подразбиране поради високия процент, с който те са насочени от ботове и злонамерени потребители. От съображения за сигурност трябва да вземем решение за собствен псевдоним, като имаме предвид тези две правила:
- Не трябва да посочва целта на местоположението на URL адреса.
- Трябва да е лесно за запомняне, но не и лесно за отгатване.
В това ръководство ще използваме /somethingelse
.
За да приложим нашите промени, ще коментираме съществуващите редове (можете да ги премахнете изцяло) и ще добавим нашите собствени:
#Alias /phpMyAdmin /usr/share/phpMyAdmin
#Alias /phpmyadmin /usr/share/phpMyAdmin
Alias /somethingelse /usr/share/phpMyAdmin
Запазете и затворете файла, след което продължете да рестартирате httpd с командата по-долу:
sudo systemctl restart httpd.service
Ако посетите предишното местоположение на вашата инсталация на phpMyAdmin, ще получите грешка 404:
http://server_domain_or_IP/phpMyAdmin
http://server_domain_or_IP/nothingtosee
Можете също така да защитите phpMyAdmin, като поставите шлюз пред цялото приложение, като използвате вградения .htaccess
на Apache функции за удостоверяване и оторизация.
Първо, ще трябва да активираме използването на .htaccess отмяна на файлове, като редактираме нашия конфигурационен файл на Apache. Отворете phpmyadmin.conf с командата по-долу:
sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
Добавете AllowOverride All
до дъното на <Directory /usr/share/phpmyadmin>
раздел на конфигурационния файл, както е показано по-долу:
Запазете файла, преди да затворите, след което продължете да рестартирате Apache с командата:
sudo systemctl restart apache2
След като активираме използването на .htaccess, трябва да създадем файла, за да приложим напълно сигурността, като напишем командата по-долу:
sudo nano /usr/share/phpmyadmin/.htaccess
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Можете да прочетете повече на htaccess
тук.
Въведете командата по-долу, за да добавите паролата към htaccess
файл:
sudo htpasswd -c /etc/httpd/pma_pass username
За да добавите допълнителни потребители за удостоверяване, въведете отново същата команда, но този път без -c
флаг и с ново потребителско име:
sudo htpasswd /etc/httpd/pma_pass seconduser
С това всеки път, когато осъществявате достъп до phpMyAdmin във вашия домейн, ще бъдете подканени за допълнителното име на акаунт и парола, които току-що сте конфигурирали, както е показано по-долу:
С това, всеки път, когато осъществявате достъп до phpMyAdmin във вашия домейн, ще бъдете подканени за допълнителното име и парола на акаунта, които току-що конфигурирахте, както е показано по-долу:
След като въведете паролата за удостоверяване на Apache, ще бъдете пренасочени към оригиналната страница за удостоверяване на phpMyAdmin, за да въведете другите си идентификационни данни.