Типичная задача для администраторов хостинг-площадок — это установка, настройка и обслуживание серверов баз данных (БД). Сюда также входит и предоставление клиентам хостинга удалённого доступа для управления своими БД, например для сайтов. Обычный пользователь, если он выполняет администрирование своих БД самостоятельно, хотя и не избавлен от необходимости знать язык 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 ${APACHE_LOG_DIR}/phpmyadmin_error.log CustomLog ${APACHE_LOG_DIR}/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, но и других веб-приложений. В любом случае необходимо производить настройку виртуальных хостов, что является довольно «громоздкой» задачей. Именно поэтому многие системные администраторы пишут универсальные скрипты, которые выполняют всю работу автоматически.
хоть я и новичок в этой теме, но благодаря Вам, разобрался с установкой , и оп все получилось, спасибо)