Как авторизоваться в phpmyadmin на Ubuntu 18.04

Posted by

Ранее я для себя разобрал, как поставить phpmyadmin на Ubuntu 18.04 Server (рабочая система)

Как установить phpmyadmin on Ubuntu 18.04 Server

Сегодня же я покажу как в ней авторизоваться с другой системы (Ubuntu 18.04 Desktop amd64 домашняя) обратившись к удаленной системе через браузер с URL строкой вида: http://172.33.33.25/phpmyadmin

ekzorchik@srv-bionic:~$ hg clone --insecure https://172.33.33.7/hg/dproject

ekzorchik@srv-bionic:~$ sudo ./dproject/default

Автоматизировал установку phpmyadmin — было поучительно.

Вы же, читатели моего блога довольствуетесь пошаговыми статьями, а автоматизированную установку со всеми проверками я по понятным причинам не выкладываю. Они все, скрипты, лежат на моем личном Mercurial репозитарии.

ekzorchik@srv-bionic:~$ hg clone --insecure https://172.35.35.8/hg/phpmyadminproject

Текущие версии используемых пакетов:

ekzorchik@srv-bionic:~$ mysql -V && php --version && apache2 -v

mysql Ver 14.14 Distrib 5.7.24, for Linux (x86_64) using EditLine wrapper

PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )

Copyright (c) 1997-2018 The PHP Group

Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

Server version: Apache/2.4.29 (Ubuntu)

Server built: 2018-10-03T14:41:08

Теперь пробую авторизоваться

Пробую авторизоваться в phpmyadmin on Ubuntu 18.04 Server amd64

 

  • Язык: Русский
  • Пользователь: root
  • Пароль: 712mbddr@
    и нажимаю «Вперед», но получаю ошибку

При входе в phpmyadmin получаю ошибку: #1698 — Access denied for user 'root'@'localhost'

 

Разбираюсь почему возникает ошибка:

#1698 — Access denied for user 'root'@'localhost'
mysqli_real_connect(): (HY000/1698): Access denied for user 'root'@'localhost'

По умолчанию доступ из под root в сервис mysql ограничен только локальным использованием, зайти же удаленно с его применением это противоречие безопасности. А значит нужно создать специального пользователя на доступ откуда угодно, будь-то локальное подключение или удаленное:

На заметку:
ekzorchik@srv-bionic:~$ sudo mysql -u root mysql
(пароль не был запрошен)

ekzorchik@srv-bionic:~$ sudo mysql -u root mysql -e "create user 'us_phpmyadmin'@'%' identified by '712mbddr@'"

ekzorchik@srv-bionic:~$ sudo mysql -u root mysql -e "grant all privileges on *.* to 'us_phpmyadmin'@'%'"

Вывожу на консоль получившиеся с учетом добавления права всех существующих пользователей сервиса базы данных mysql:

ekzorchik@srv-bionic:~$ sudo mysql -u root mysql -e "select user,host,plugin from user"

Вывожу все учетные записи кто есть в phpmyadmin

Затем следует поправить права доступа в сервисе phpmyadmin:

ekzorchik@srv-bionic:~$ sudo nano /etc/dbconfig-common/phpmyadmin.conf

dbc_dbuser='us_phpmyadmin'
dbc_dbpass='712mbddr@'

ekzorchik@srv-bionic:~$ sudo systemctl restart mysql && sudo systemctl status mysql | head -n 5

● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2018-11-07 22:38:17 MSK; 31ms ago
Process: 7238 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid (code=exited, status=0/SUCCESS)
Process: 7215 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)

И теперь в Web-оснастки я успешно авторизуюсь со связкой:

  • Login: us_phpmyadmin
  • Pass: 712mbddr@

Создал специальную учетную запись на доступ с любого компьютера в сервис phpmyadmin

 

Вот только выставлять сервис phpmyadmin во вне не рекомендую, используйте его только внутри локальной сети или же настройте дополнительный рубеж в виде Basic Auth и измените URL строку с привычного http://IP&DNS/phpmyadmin н а что-нибудь отличное дабы сетевые сканеры не долбились к Вам. К тому же не лишним будет прикрутить сервис Fail2ban.

Итого заметка доработана, на этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.