Установка phpMyAdmin в Linux
Типичная задача для администраторов хостинг-площадок — это установка, настройка и обслуживание серверов баз данных (БД). Сюда также входит и предоставление клиентам хостинга удалённого доступа для управления своими БД, например для сайтов. Обычный пользователь, если он выполняет администрирование своих БД самостоятельно, хотя и не избавлен от необходимости знать язык SQL, однако со стороны хотинг-провайдера разумно предоставить ему удобный интерфейс для управления БД на хостинге. Для этого идеально подходит универсальное веб-приложение phpMyAdmin, которое предоставляет пользователю веб-интерфейс для полноценного доступа и управления БД. Это весьма удобное решение, поскольку совершенно не зависит от платформы и специфики клиентов — достаточно использовать любой веб-браузер. Конечно, phpMyAdmin полезен не только для хостинга, но и для ведения разработки.
Что для этого нужно?
Поскольку phpMyAdmin – это веб-приложение, а из названия понятно, что оно написано на языке PHP и, следовательно — работает благодаря интерпретатору PHP, то естественно, необходимо иметь в системе установленные и корректно настроенные веб-сервер (например Apache), а также интерпретатор PHP.
Третьим компонентом, без которого установка phpMyAdmin будет бессмысленной — это СУБД (система управления базами данных) MySQL.
Пакеты всех трёх необходимых компонентов, т. е. веб-сервера, интерпретатора PHP, а также сервера MySQL всегда есть в репозиториях всех дистрибутивов Linux. Имена пакетов будут разными в разных системах, но это уже вопрос более индивидуальный и выясняется отдельно.
Варианты установки для Linux
Следует заметить, что даже само приложение phpMyAdmin поставляется в виде отдельного пакета в большинстве дистрибутивов Linux. Практически всегда пакет называется phpmyadmin (как например в системах Ubuntu) или имеет похожее наименование. Он имеет соответствующие зависимости, т. е. вместе с phpMyAdmin будут также установлены (в большинстве популярных дисрибутивов Linux) веб-сервер Apache и интерпретатор PHP.
Таким образом, в том случае, если нет необходимости иметь самую свежую версию phpMyAdmin (поскольку не всегда в репозиториях всегда всё самое свежее) и нет желания возиться с системными файлами и файлами конфигураций, то можно просто воспользоваться системой управления пакетами (СУП) дистрибутива. Например, для Ubuntu:
$ sudo apt install phpmyadmin
При этом будет предложено на некоторых этапах установки выполнить некоторые настройки, например автоматическую настройку виртуального хоста веб-сервера и т. д. Этот процесс интуитивно понятен и сложностей не вызывает.
После завершения установки phpMyAdmin будет доступен по адресу http://localhost/phpmyadmin из любого веб-браузера.
Надо понимать, что при установке phpMyAdmin из системного репозитория происходит автоматическое скачивания пакета, его распаковка в определённый каталог, настройка веб-сервера для работы с виртуальным хостом phpmyadmin, а также установка некоторых зависимых модулей для Apache и PHP. Всё это выполняют установочные и конфигурационные скрипты. Такой вариант установки подходит для преимущественно локального использования phpMyAdmin и в большей степени удобен для разработчиков.
Вторым вариантом является ручная установка. В этом случае легко контролировать место установки, задавать произвольную конфигурацию, а также обновлять само приложение phpMyAdmin, если это требуется. В общем случае ручная установка подразумевает несколько этапов:
- скачивание архива приложения phpMyAdmin с официального сайта https://www.phpmyadmin.net/downloads;
- распаковка содержимого скачанного архива в папку виртуального хоста;
- настройка виртуального хоста;
- проверка конфигурации DNS или редактирование файла /etc/hosts для виртуального хоста phpMyAdmin;
- включение виртуального хоста в конфигурацию веб-сервера;
- перезапуск веб-сервера или полная перезагрузка его конфигурации.
Как можно видеть, не самый короткий список действий, но очень важно уметь выполнять их вручную.
Скачивание дистрибутива и его установка
Для получения архива с phpMyAdmin можно воспользоваться простой утилитой wget:
$ wget https://files.phpmyadmin.net/phpMyAdmin/4.8.5/phpMyAdmin-4.8.5-all-languages.zip
Архив будет сохранён в текущем каталоге, в данном случае в домашний каталог текущего пользователя (пусть это будет пользователь john) ~/. Теперь необходимо произвести «установку» phpMyAdmin в каталог виртуального хоста Apache, например в ~/htdocs. Под установкой здесь подразумевается распаковка файлов архива с помощью команды unzip , поскольку скачанный архив имеет формат *.zip:
$ unzip phpMyAdmin-4.8.5-all-languages.zip -d ~/htdocs
Эта команда распакует содержимое архива в каталог ~/htdocs/phpMyAdmin-4.8.5-all-languages . Теперь можно задать корректное имя каталога с phpMyAdmin, переименовав его например в phpmyadmin:
$ mv htdocs/phpMyAdmin-4.8.5-all-languages htdocs/phpmyadmin
Если используется TAR-архив (например phpMyAdmin-4.8.5-all-languages.tar.gz), то в этом случае следует использовать команду tar:
$ tar -xvf phpMyAdmin-4.8.5-all-languages.tar.gz -C ~/htdocs
Собственно, на этом «установка» phpMyAdmin завершена. Далее следует произвести конфигурацию веб-сервера (в данном случае Apache), настроив для него виртуальный хост с соответствующим адресом, на котором будет работать phpMyAdmin.
Настройка виртуального хоста phpMyAdmin
Виртуальный хост — это программно-аппаратный интерфейс, через который веб-сервер взаимодействует с веб-приложениями и предоставляет им различные ресурсы. А для того, чтобы веб-сервер «знал» по какому адресу и порту взаимодействовать с веб-приложением, а также в каком каталоге оно находится, существуют специальные основные параметры виртуального хоста, в данном случае задаваемые с помощью директив Apache.
Каждому веб-приложению соответствует свой конфигурационный файл виртуального хоста. Но иногда это может быть один файл, включающий несколько конфигураций виртуальных хостов. Это зависит от дистрибутива Linux, но в подавляющем большинстве используются отдельные файлы.
По-умолчанию Apache использует для виртуальных хостов каталог /var/www, однако это можно изменить, задав использование, например, каталога с домашними подкаталогами пользователей, т. е. /home, это более удобно. Пусть веб-сервер Apache сконфигурирован таким образом, что директорией виртуальных хостов является /home. Тогда установленное ранее в каталог /home/john/htdocs/phpmyadmin приложение phpMyAdmin будет доступно веб-серверу. Теперь нужно задать параметры виртуального хоста phpmyadmin. Для этого следует создать файл phpmyadmin.conf в каталоге /etc/apache2/sites-available :
$ sudo cp 000-default.conf phpmyadmin.conf
В данном случае файл 000-default.conf – это файл-шаблон. На основе которого можно быстро создать рабочую конфигурацию для новых виртуальных хостов. Отредактировав всего несколько параметров. Таким образом, содержимое только что созданного файла phpmyadmin.conf с учётом всех правок будет следующим:
ServerName phpmyadmin ServerAdmin webmaster@localhost DocumentRoot /home/john/htdocs/phpmyadmin/ ErrorLog $/phpmyadmin_error.log CustomLog $/phpmyadmin_access.log combined
Для наглядности из содержимого удалены комментарии. Ключевыми директивами здесь являются ServerName и DocumentRoot без которых функционирование виртуального хоста невозможно. Эти директивы задают имя хоста и путь к файлам веб-приложения соответственно. Теперь конфигурация для виртуального хоста готова и хранится в каталоге /etc/apache2/sites-available в файле phpmyadmin.conf. Далее необходимо включить виртуальный хост phpmyadmin.
Включение виртуального хоста для phpMyAdmin
Включенные виртуальные хосты Apache хранятся в каталоге /etc/apache2/sites-enabled . Обычно здесь содержатся символические ссылки на файлы конфигурации из каталога /etc/apache2/sites-available . Таким образом, включение виртуального хоста — это создание соответствующей символической ссылки на его файл конфигурации. В данном случае для виртуального хоста phpmyadmin это можно сделать так:
$ sudo ln -s /etc/apache2/sites-available/phpmyadmin.conf /etc/apache2/sites-enabled/phpmyadmin.conf
Такое разделение стимулирует поддерживать порядок и не путаться в конфигурации, когда виртуальных хостов очень много. Без сомнения, это очень удобно.
Другим способом включить виртуальный хост является команда:
$ sudo a2ensite phpmyadmin.conf
В данном случае Apache самостоятельно найдёт файл phpmyadmin.conf и создаст соответствующую символическую ссылку. Команда a2ensite доступна из дополнительно поставляемого пакета. В системах Ubuntu он имеет имя apache2-utils. По аналогии можно найти соответствующие пакеты и для других дистрибутивов Linux. Для отключения виртуального хоста используется команда a2dissite, аналогично a2ensite. Либо можно удалить символическую ссылку вручную.
После включения/выключения виртуального хоста phpmyadmin следует перезапустить веб-сервер Apache. Однако вместе с этим нужно позаботиться о том, как будет распознаваться доменное имя хоста phpmyadmin. Либо для этого нужно использовать полноценную систему DNS, либо редактировать файл hosts на той машине, с которой необходим доступ к хосту. Т. е. в данном случае к phpmyadmin. В последнем случае в фале /etc/hosts необходимо добавить строку:
# Для локального доступа 127.0.0.1 phpmyadmin
# Для доступа с другой машины в сети 192.168.0.100 phpmyadmin
Для второго примера 192.168.0.100 – IP-адрес того компьютера, на котором размещён виртуальный хост phpmyadmin.
После редактирования файла hosts (или соответствующей настройки DNS) и перезапуска вебсервера, если всё сделано корректно, по адресу http://phpmyadmin в веб-браузере должна быть отображена страница авторизации phpMyAdmin:
После успешной авторизации пользователь может работать с БД через веб-интерфейс в соответствии с привилегиями, предоставленными ему администратором MySQL-сервера. И уже перейти к работе и настройки через phpmyadmin
Особенности предоставления доступа к виртуальному хосту
Если для каталога phpmyadmin, в котором находятся исполняемые файлы приложения phpMyAdmin установлено разрешение на исполнение для всех остальных пользователей в системе, а не только для владельца и/или группы. То Apache будет без проблем с ним работать. Ведь по-умолчанию Apache работает от пользователя www-data но не от пользователя-владельца виртуального хоста phpmyadmin. Если же разрешение на исполнение для каталога phpmyadmin отнять у остальных пользователей (к которым и относится www-data), то Apache уже не сможет получить к нему доступ. О чём и сердито сообщит:
Особенности доступа к виртуальным хостам необходимо учитывать. И настраивать права доступа в соответствии с регламентом по обеспечению безопасности системы. Для подобных случаев даже предусмотрены специальные модули Apahe. Реализующие запуск отдельных экземпляров процесса Apache от имени разных пользователей-владельцев виртуальных хостов. Одним из таких модулей является mpm-itk. Это оптимальное решение, которое обеспечивает максимальную безопасность наряду с оптимальной производительностью веб-сервера. К тому же избавляет администраторов от скрупулёзной настройки. Поскольку данный модуль очень простой для интеграции и конфигурирования.
Заключение
В заключении следует отметить, что подобным образом происходит установка не только phpMyAdmin, но и других веб-приложений. В любом случае необходимо производить настройку виртуальных хостов, что является довольно «громоздкой» задачей. Именно поэтому многие системные администраторы пишут универсальные скрипты, которые выполняют всю работу автоматически.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.