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.
sudo ln -s /etc/apache2/conf-available/adminer.conf /etc/apache2/conf-enabled/
Потім перевірте конфігурацію Apache2 за допомогою наступної команди. Потім перезапустіть Apache2, щоб застосувати нові зміни.
sudo apachectl configtest sudo systemctl restart apache2
Тепер ви можете отримати доступ до нього через веб-браузер з URL-адресою за промовчанням /admin (наприклад, 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» за допомогою наступної команди.
sudo nano /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.
sudo htpasswd -B -c /etc/adminer/.htpasswd dbadmin
Якщо ви просто хочете додати нового користувача, ви можете видалити опцію “-c”, що означає створення нового файлу користувача бази даних. Отже, команда додавання нового користувача має виглядати так.
sudo htpasswd -B /etc/adminer/.htpasswd newuser
Потім відредагуйте конфігурацію /etc/apache2/conf-available/adminer.conf, використовуючи наступну команду.
sudo nano /etc/apache2/conf-available/adminer.conf
Додайте наступну конфігурацію до файлу. Використовуючи конфігурацію, лише допустимі користувачі в файлі користувача /etc/adminer/.htpasswd зможуть увійти в систему і отримати доступ до інструмента адміністрування бази даних Adminer за URL-адресою /mydbadmin.
<Location /mydbadmin> AuthType Basic AuthName "Restricted Resource" AuthBasicProvider file AuthUserFile /etc/adminer/.htpasswd Require valid-user </Location>
Збережіть та закрийте файл, коли закінчите.
Тепер виконайте наведену нижче команду, щоб перевірити файл конфігурації Apache. Потім перезапустіть Apache2, щоб застосувати нові зміни.
sudo apachectl configtest sudo systemctl restart apache2
Нарешті, поверніться до веб-браузера та перейдіть до установки 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.
SHOW GRANTS FOR [email protected]; quit
Тепер, якщо на сервері 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.