Ранее я для себя разобрал, как поставить 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
Теперь пробую авторизоваться
- Язык: Русский
- Пользователь: root
- Пароль: 712mbddr@
и нажимаю «Вперед», но получаю ошибку
Разбираюсь почему возникает ошибка:
#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:
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 во вне не рекомендую, используйте его только внутри локальной сети или же настройте дополнительный рубеж в виде Basic Auth и измените URL строку с привычного http://IP&DNS/phpmyadmin
н а что-нибудь отличное дабы сетевые сканеры не долбились к Вам. К тому же не лишним будет прикрутить сервис Fail2ban.
Итого заметка доработана, на этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.