Как установить администратор на сервер Ubuntu
27 октября 2023 г.Если вы создаете веб-приложение с использованием Linux, чаще всего вы окажетесь во власти инструментов администрирования MySQL с командной строкой, которые включены в эту базу данных. Хотя эти инструменты достаточно надежны, они могут оказаться громоздкими для менее опытных разработчиков. И даже если вы более опытный разработчик, во многих случаях вы не хотите, чтобы вас беспокоил процесс ввода длинных пакетов команд.
Графические инструменты, особенно веб-инструменты, могут упростить задачи администрирования базы данных. И, следуя теме простоты, Adminer демонстрирует впечатляющие результаты. Adminer — это PHP-скрипт, который вы можете скопировать на свой веб-сервер, и без необходимости выполнения какой-либо настройки вы можете сразу приступить к администрированию практически любой базы данных, которая работает в большинстве основных серверных приложений баз данных.
Из этого руководства вы быстро узнаете, как настроить среду LAMP и как запустить Adminer поверх нее.
Перейти к:
- Что вам понадобится для установки Adminer
Как установить MySQL
Как установить Adminer с MySQL
Как получить доступ к веб-интерфейсу администратора
Почему Админер?
Соображения безопасности
Что вам понадобится для установки Adminer
Чтобы запустить Adminer, вам понадобится экземпляр Ubuntu Server — я демонстрирую 23.04, но вы также можете использовать 22.04 или 20.04 — и пользователь с привилегиями sudo. Вот и все. Давайте совершим немного магии с базой данных.
СМОТРИТЕ: Основные моменты обновления с Ubuntu Server 20.04 до 22.04.
Как установить MySQL
Я собираюсь продемонстрировать, как настроить Adminer с базой данных MySQL. Чтобы убедиться, что все установлено, мы пойдем по пути полного стека LAMP — Linux Apache MySQL PHP.
- Сначала вам нужно запустить команду:
sudo apt-get установить lamp-server^ -y
- После завершения установки запустите и включите службы MySQL и Apache с помощью следующих команд:
sudo systemctl включить --now apache2 sudo systemctl включить --сейчас MySQL
- Затем защитите установку MySQL и дайте пользователю-администратору пароль с помощью команды:
sudo mysql_secure_installation
Вы можете следовать инструкциям, чтобы правильно настроить MySQL, но если вам нужна дополнительная информация об этом, обратитесь к разделу «Настройка MySQL и MariaDB».
Как установить Adminer с MySQL
Adminer запускается как PHP-скрипт, который можно загрузить непосредственно в корневой каталог вашего Linux-сервера с помощью утилиты wget. Если вы установили Apache с помощью пакета lamp-server, указанного выше, то корневой веб-каталог по умолчанию — /var/www/html, и этот каталог принадлежит пользователю root. Если вы не измените эти настройки по умолчанию, вам придется использовать sudo для загрузки и установки Adminer. На момент написания этой статьи последняя версия Adminer — 4.8.1.
Приведенные ниже команды покажут вам, как перейти в каталог /var/www/html и загрузить PHP-код администратора непосредственно в него:
компакт-диск /var/www/html sudo wget https://github.com/vrana/adminer/releases/download/v4.8.1/adminer-4.8.1.php
Если приведенная выше ссылка не работает, вы можете просмотреть веб-сайт администратора, чтобы найти правильную ссылку на последнюю версию. Если все работает правильно, вы должны увидеть что-то похожее на рисунок А.
Рисунок А
Как получить доступ к веб-интерфейсу администратора
Хотите верьте, хотите нет, но это все, что нужно для установки. Однако вы не можете войти в систему, используя учетные данные администратора MySQL. Вместо этого вам необходимо создать другого пользователя, у которого есть разрешение на создание баз данных. Для этого:
- Войдите в консоль MySQL с помощью команды:
Судо MySQL
- Создайте нового пользователя — назовем его dbadmin, но вы можете назвать его как угодно — с помощью команды:
СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'dbadmin'@'%', ИДЕНТИФИЦИРОВАННОГО ПО 'ПАРОЛЮ';
Где ПАРОЛЬ — надежный/уникальный пароль.
- Дайте пользователю перезагрузку с глобальными правами с помощью:
GRANT CREATE USER, RELOAD ON *.* TO 'dbadmin'@'%';
- Предоставьте необходимые права с помощью:
GRANT ALL ON `db`.* TO 'dbadmin'@'%' С GRANT OPTION;
Обратите внимание: в приведенной выше команде по обе стороны от db стоят обратные кавычки, а не одинарные кавычки. Если вы запустите команду с одинарными кавычками, произойдет ошибка.
- Наконец, предоставьте пользователю права создания с помощью:
GRANT CREATE, CREATE USER, SELECT, RELOAD ON *.* TO 'dbadmin'@'%';
- Сбросьте привилегии и выйдите с помощью:
УДАЛЕНИЕ ПРИВИЛЕГИЙ; Выход
Теперь вы можете указать веб-браузеру
http://СЕРВЕР/adminer-4.8.1.php
Где SERVER — это IP-адрес хост-сервера, который открывается в окне входа администратора (рис. B).
Рисунок Б
На этом этапе вы сможете создавать и изменять базы данных по желанию вашего администратора (рис. C). Обратите внимание, что ваш доступ ограничен разрешениями учетной записи, которую вы используете для подключения к базе данных.
Рисунок С
Вот как легко запустить Adminer поверх базы данных MySQL. Попробуйте эту платформу с любой базой данных, с которой вам нужно работать, и посмотрите, не облегчит ли она вашу работу значительно.
Почему Админер?
Adminer, естественно, предоставляет те функции, которые вы ожидаете от веб-инструмента управления базами данных:
- Подключение к серверу базы данных через имя пользователя и пароль.
Создание базы данных.
Список по полям, индексам, внешним ключам и триггерам таблиц.
Редактируйте имя, механизм, параметры сортировки, auto_increment и комментарии для таблиц.
Измените имя, тип, параметры сортировки, комментарий и значения по умолчанию для столбцов.
Добавляйте и удаляйте таблицы или столбцы.
Перечислите данные в таблицах с результатами поиска, агрегирования, сортировки и ограничения.
Вставка, обновление и удаление записей.
Поддерживает все типы данных и большие двоичные объекты посредством передачи файлов.
Выполните любую команду SQL.
Показать и убить процессы.
Отображение и редактирование пользователей и прав.
Adminer выходит за рамки большинства графических инструментов администрирования баз данных, поскольку он поддерживает множество других систем управления реляционными базами данных, помимо MySQL, включая MariaDB, PostgreSQL, SQLite, MS SQL, Oracle, Elasticsearch и MongoDB. В этом отношении Adminer предлагает функциональность веб-инструмента администрирования баз данных и удобство администрирования нескольких систем баз данных с помощью одного простого в установке инструмента.
Соображения безопасности
К сожалению, удобство любого веб-решения для администрирования баз данных несет в себе значительные риски для безопасности. Это связано с тем, что решение для веб-администрирования базы данных обходит любые сетевые ограничения, налагаемые на базу данных.
ПРЕМИУМ: ознакомьтесь с этим набором для найма инженера баз данных.
Например, у вас может быть сайт WordPress, работающий под управлением Apache на общедоступном веб-сервере, который использует сервер MySQL, работающий на частном сервере. В этом сценарии MySQL настраивается с учетной записью пользователя, которая может получить доступ к серверу MySQL только с сервера WordPress. Даже если у кого-то есть имя пользователя и пароль для этой учетной записи, встроенная система безопасности MySQL не разрешит доступ.
Крайне важно, чтобы доступ к любому веб-серверу, на котором установлен Adminer, был ограничен для общего доступа. В противном случае любой человек в мире получит административный доступ к любой базе данных, к которой имеет доступ администратор. Возможно, вы захотите рассмотреть возможность размещения такого сервера за VPN или брандмауэром, который соответствующим образом ограничит доступ только для тех, у кого он должен быть.
Оригинал