Adminer (ранее phpMinAdmin) — это полнофункциональный инструмент администрирования баз данных, который поддерживает как СУБД (система управления реляционными базами данных), такие как MySQL/MariaDB, PostgreSQL, SQLite, MS SQL и Oracle с NoSQL, такие как MongoDB и другие (через плагин) . Это легкий, удобный и высокопроизводительный инструмент управления базами данных, который можно легко использовать для управления базами данных.
Adminer создан как альтернатива phpMyAdmin, он написан на PHP и состоит из одного крошечного PHP-файла и распространяется под лицензией Apache (или GPL v2).
Предварительные требования
Прежде чем приступить к работе, у вас должны быть следующие требования:
Сервер Ubuntu 22.04.
Пользователь без полномочий root с привилегиями root/administrator.
Сервер баз данных установленный на вашем компьютере. Инструменты администратора поддерживают несколько СУБД (система управления реляционными базами данных), таких как MySQL/MariaDB, PostgreSQL, SQLite3 и OracleDB.
Установка Adminer на сервере Ubuntu
В более новых системах Ubuntu (включая Ubuntu 22.04) инструмент базы данных администратора доступен по умолчанию в репозитории Ubuntu Universe. Это облегчает администратору установку Adminer без использования стороннего репозитория или каких-либо дополнительных действий для базовой установки.
Прежде чем приступить к установке Adminer, выполните следующую команду apt, чтобы обновить индекс пакета репозитория Ubuntu.
sudo apt update
Теперь вы можете проверить пакет «adminer», используя следующую команду. На момент написания этой статьи репозиторий Ubuntu содержит последнюю версию Admuiner v4.8, доступную в репозитории Ubuntu «universe/web». Кроме того, вы можете видеть, что есть некоторые зависимости пакетов для Adminer, которые включают драйверы PHP для нескольких СУБД, таких как MySQL/MariaDB, PostgreSQL и SQLite3.
sudo apt info adminer
Теперь вы можете установить инструмент администрирования базы данных «Adminer», используя приведенную ниже команду apt. Введите Y, чтобы подтвердить установку, и нажмите ENTER, чтобы продолжить, и начнется установка «Adminer».
sudo apt install adminer
После завершения установки «Adminer» вам нужно будет активировать конфигурацию Apache2 по умолчанию для администратора «/etc/apache2/conf-available/adminer.conf».
Выполните следующую команду, чтобы активировать конфигурацию Adminer для веб-сервера Apache2.
Теперь вы можете получить к нему доступ через веб-браузер с URL-адресом по умолчанию «/adminer» (например, http://192.168.5.75/adminer). И вы должны получить страницу входа в инструмент администрирования базы данных «Adminer».
Adminer — это инструмент администрирования нескольких баз данных, который сильно отличается от инструментов администрирования баз данных, таких как phpMyAdmin, который поддерживает только MySQL/MariaDB или pgAdmin для PostgreSQL.
Вы можете использовать «Adminer» для подключения к нескольким СУБД, таким как MySQL/MariaDB, PostgreSQL, SQLite и OracleDB. Чтобы подключиться к вашей базе данных с помощью «Adminer», вы можете просто ввести данные пользователя базы данных, пароль и базу данных на странице входа «Adminer».
Защита установки Adminer
После того, как вы установили Adminer, теперь вы будете защищать установку, используя различные методы.
Изменение пути URL-адреса по умолчанию: установка Adminer по умолчанию доступна по URL-адресу пути «/adminer», который может быть угадан злоумышленниками. Изменение пути URL-адреса по умолчанию сделает вашего Adminer более безопасным, поскольку только вы знаете путь URL-адреса для доступа к вашей установке Adminer.
Добавление базовой аутентификации: это добавит аутентификацию, прежде чем вы попадете на страницу входа Adminer. Базовую аутентификацию можно создать с помощью модуля Apache2 basic_auth.
Изменение пути URL-адреса по умолчанию
Установка Adminer по умолчанию включает файл конфигурации Apache2 «/etc/apache2/conf-available/adminer.conf», который можно использовать для настройки инструмента администрирования базы данных Adminer на вашем сервере.
Отредактируйте файл «/etc/apache2/conf-available/adminer.conf», используя следующую команду.
В верхней части строки вы можете увидеть параметр «Псевдоним…», который определяет путь URL-адреса Adminer по умолчанию. В демонстрации мы изменим путь URL-адреса по умолчанию с «/adminer» на пользовательский путь «/mydbadmin», используя следующую конфигурацию.
Alias /mydbadmin /etc/adminer
Сохраните и закройте файл, когда закончите.
Затем выполните следующую команду, чтобы проверить конфигурацию Apache2. Если вы получаете выходное сообщение, такое как «Синтаксис в порядке», это означает, что ваша конфигурация Apache2 верна.
sudo apachectl configtest
Теперь перезапустите службу Apache2, чтобы применить новые изменения, используя приведенную ниже команду.
sudo systemctl restart apache2
Наконец, вы можете посетить свою установку Adminer по новому URL-адресу «/mydbadmin» (т. е.: http://192.168.5.75/mydbadmin). И вы должны получить страницу входа в инструмент администрирования базы данных Adminer.
Добавление базовой аутентификации Apache
После изменения установки URL-адреса пути по умолчанию пришло время добавить базовую аутентификацию для Adminer с помощью модуля Apache2 «basic_auth».
Выполните следующую команду, чтобы создать новый пользовательский файл «/etc/adminer/.htpasswd» для базовой аутентификации Apache. В этом примере вы определите нового пользователя для базовой аутентификации Apache как «dbadmin».
Теперь введите пароль для пользователя «dbadmin» и повторите пароль. И будет создан новый пользовательский файл для базовой аутентификации Apache.
Если вы просто хотите добавить нового пользователя, вы можете удалить опцию «-c», что означает создание нового файла пользователя базы данных. Итак, команда добавления нового пользователя должна выглядеть следующим образом.
sudo htpasswd -B /etc/adminer/.htpasswd newuser
Затем отредактируйте конфигурацию «/etc/apache2/conf-available/adminer.conf», используя следующую команду.
Добавьте следующую конфигурацию в файл. Используя конфигурацию, только допустимые пользователи в пользовательском файле «/etc/adminer/.htpasswd» смогут войти в систему и получить доступ к инструменту администрирования базы данных Adminer по URL-адресу «/mydbadmin».
Наконец, вернитесь в свой веб-браузер и перейдите к установке URL-адреса Adminer (например, http://192.168.5.75/mydbadmin). И теперь вам будет предложено пройти базовую аутентификацию Apache, прежде чем вы попадете на страницу входа Adminer.
Введите пользователя «dbadmin» и пароль, затем нажмите «Войти». И вы должны получить страницу входа Adminer.
Настройка пользователя базы данных (MySQL/MariaDB)
В этом примере мы будем использовать базу данных MariaDB на другом сервере. Итак, вам нужно будет настроить данные базы данных, такие как имя пользователя и пароль для не-localhost.
Прежде чем создавать нового пользователя MariaDB, вам необходимо настроить MariaDB для работы на частном IP-адресе, который можно настроить с помощью конфигурации MariaDB «/etc/mysql/mariadb.conf.d/50-server. cnf».
Отредактируйте файл конфигурации MariaDB «/etc/mysql/mariadb.conf.d/50-server.cnf», используя приведенную ниже команду.
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Измените адрес «прослушивания» по умолчанию на частный IP-адрес сервера MariaDB. В этом примере IP-адрес сервера MariaDB — «192.168.5.20».
listen = 192.168.5.20
Сохраните и закройте файл, когда закончите.
Теперь выполните следующую команду, чтобы перезапустить службу MariaDB и применить новые изменения.
sudo systemctl restart mariadb
Затем войдите на свой сервер MySQL/MariaDB и выполните приведенную ниже команду mysql.
sudo mysql -u root -p
Теперь выполните следующие запросы MariaDB, чтобы создать нового пользователя и пароль для вашего сервера MariaDB. В этом примере пользователь MariaDB «[email protected]» сможет подключиться к серверу MariaDB с сервера Adminer, который имеет IP-адрес «192.168.5.75».
CREATE USER 'dbadmin'@'192.168.5.75' IDENTIFIED BY 'dbpassword';
GRANT ALL PRIVILEGES ON *.* TO 'dbadmin'@'192.168.5.75' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Затем выполните следующие запросы, чтобы проверить и подтвердить привилегии пользователя «[email protected]». Затем введите «quit», чтобы выйти из оболочки MariaDB. Как видите, пользователь MariaDB «[email protected]» сможет получить доступ ко всем базам данных на сервере MariaDB.
Теперь, если на вашем сервере MariaDB запущен брандмауэр UFW, вы также можете добавить новые правила UFW для защиты доступа к MariaDB. Выполните следующую команду, чтобы разрешить порт MySQL/MariaDB только с IP-адреса сервера Adminer «192.168.5.75».
sudo ufw allow from 192.168.5.75 to 192.168.5.20 port 3306 proto tcp comment 'allow mysql access for Adminer'
sudo ufw reload
После этого проверьте список правил UFW с помощью приведенной ниже команды. И вы должны увидеть, что новое правило для доступа к MySQL/MariaDB через порт «3360/tcp» доступно в брандмауэре UFW.
sudo ufw status
Вход на сервер MariaDB от Adminer
После настройки пользователя базы данных в вашей системе пришло время подключиться к серверу базы данных из инструмента администрирования базы данных Adminer.
На странице входа Adminer введите сведения о хосте базы данных, имени пользователя и пароле. Затем нажмите кнопку «Войти», чтобы войти в систему.
После входа в систему вы можете управлять своей базой данных с панели администратора. Кроме того, вы заметите версию базы данных и пользователя, которого вы в настоящее время используете для подключения к серверу.
Итог
Вы успешно установили инструмент администрирования базы данных Adminer в Ubuntu 22.04. Вы также защитили установку администратора, изменив URL-адрес по умолчанию и добавив базовую аутентификацию с помощью модуля Apache basic_auth. И, наконец, вы также настроили пользователя базы данных (MySQL/MariaDB), которого можно использовать для входа в систему с помощью Adminer.