В прошлой статье я описал быструю установку MySQL-сервера в составе LAMP на Ubuntu Server. В этом случае, работа с БД, создание пользователей, баз данных и прочее доступно с командной строки.
Как управлять с терминала пользователями и базами данных, я ранее описывал, это не совсем удобно, особенно, если у Вас большое количество пользователей и/или баз данных.
Актуальная информация по установке PHPMyAdmin в заметке Ubuntu 20.04 Установка LAMP + PhpMyAdmin.
Для работы и управления с БД MySQL существует ряд приложений, одно из самых популярных PhpMyAdmin
Предлагаю рассмотреть установку PhpMyAdmin.
Я считаю, что WEB-сервер с поддержкой PHP и расширением для работы с MySQL уже установлены, поэтому останавливаться на этом не буду.
Устанавливать и настраивать PhpMyAdmin я буду, исходя из того, что хочу получать доступ к нему по HTTPS-протоколу и не стандартном порту 8443, например, по адресу https://myhost.org:8443/phpmyadmin
1. Настройка Apache
1.1 Создаем сертификаты
Так, как я хочу, чтобы доступ был по HTTPS, нужно создать сертификаты.
cd ~
mkdir phpmyadmin
cd phpmyadmin
openssl req -new -x509 -days 360 -keyout phpmyadmin.key -out phpmyadmin.pem
Отвечаем на вопросы, пароль запоминаем, он нам пригодится
Чтобы не вводить пароль при каждом запуске Apache, снимаем пароль с ключа
cp phpmyadmin.key{,.orig}
openssl rsa -in phpmyadmin.key.orig -out phpmyadmin.key
Enter pass phrase for phpmyadmin.key.orig:
writing RSA key
rm phpmyadmin.key.orig
1.2 Настраиваем Apache
Создаю каталог для хоста и переношу подготовленные сертификаты.
mkdir /var/www/phpmyadmin/
sudo cp phpmyadmin.pem /etc/ssl/certs/
sudo cp phpmyadmin.key /etc/ssl/private/
sudo chmod 0600 /etc/ssl/private/phpmyadmin.key
Активируем поддержку SSL в Apache
sudo a2enmod ssl
Редактируем /etc/apache2/ports.conf
Добавляем Listen 8443, должно получится так
Listen 80
<IfModule ssl_module>
<------>Listen 443
<------>Listen 8443
</IfModule>
<IfModule mod_gnutls.c>
<------>Listen 443
<------>Listen 8443
</IfModule>
Это делаем для того, чтобы был доступ по 8443 порту
Создаем файл конфигурации нашего хоста /etc/apache2/sites-enabled/phpmyadmin-ssl.conf с содержанием
<IfModule mod_ssl.c>
<VirtualHost *:8443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/phpmyadmin
ErrorLog ${APACHE_LOG_DIR}/phpmyadmin-error.log
CustomLog ${APACHE_LOG_DIR}/phpmyadmin-access.log combined
SSLEngine on
SSLProtocol all -SSLv2
SSLCertificateFile /etc/ssl/certs/phpmyadmin.pem
SSLCertificateKeyFile /etc/ssl/private/phpmyadmin.key
<FilesMatch ".(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
<Directory "/var/www/phpmyadmin">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
</IfModule>
Если не добавить секцию с описанием директории <Directory "/var/www/phpmyadmin"> будете получать ошибку
client denied by server configuration: /var/www/phpmyadmin/
И в завершение перезагружаем Apache
service apache2 reload
2. Установка PhpMyAdmin
Заходим на официальный сайт https://www.phpmyadmin.net/downloads/ и качаем последнюю доступную версию PhpMyAdmin. На момент написания, это phpMyAdmin 4.7.4
wget https://files.phpmyadmin.net/phpMyAdmin/4.7.4/phpMyAdmin-4.7.4-all-languages.tar.xz
tar -xJf phpMyAdmin-4.7.4-all-languages.tar.xz
mv phpMyAdmin-4.7.4-all-languages phpmyadmin
cp -r phpmyadmin /var/www/phpmyadmin/
Установка завершена, никакой настройки не потребовалось. Теперь вы можете зайти через браузер по адресу https://myhost.org:8443/phpmyadmin и если все получилось увидите страницу авторизации
Авторизация по логину/паролю пользователей БД Mysql
Несмотря на то, что в данном примере мы рассмотрели установку phpMyAdmin, на хост с портом 8443, который не является стандартным для доступа по http/https- протоколам, для увеличения безопасности использования phpMyAdmin, рекомендую использовать .htaccess, чтобы ограничить доступ по диапазону IP-адресов или дополнительной аудитенфикации.
Как Вы увидели, ничего сложного нет. Если у Вас возникли вопросы, пишите в комментариях.
Комментариев нет:
Отправить комментарий