Контакты

Установка и настройка phpmyadmin ubuntu. Установка и настройка phpMyAdmin в среде Ubuntu. Установка в Ubuntu

Сегодня мы с Вами рассмотрим процесс установки очень популярного веб приложения phpMyAdmin , которое используется для администрирования СУБД MySQL, устанавливать его мы будем на операционную систему Linux Mint 18.2.

Напомню, ранее в материале «Установка и настройка MySQL сервера и MySQL Workbench на Linux Mint 18.2 » мы с Вами рассмотрели установку СУБД MySQL и клиентского приложения MySQL Workbench, которое имеет графический интерфейс, но многие администраторы используют, как я уже сказал, очень популярное веб приложение для работы с MySQL, phpMyAdmin, поэтому сейчас специально для начинающих я подробно опишу процесс установки phpMyAdmin на ОС Linux Mint 18.2 .

Как всегда мы рассмотрим установку и с помощью графического инструмента (менеджера программ ), и с помощью терминала Linux.

phpMyAdmin – это бесплатное веб-приложение с графическим интерфейсом для администрирования СУБД MySQL (поддержка MariaDB также есть ). Разработан phpMyAdmin с помощью языка PHP и так как это веб приложение для его функционирования требуется веб сервер, например, Apache или Lighttpd. Приложение phpMyAdmin популярно во всем мире и переведено оно на текущий момент на 72 языка, в том числе и на русский.

С помощью phpMyAdmin Вы можете:

  • Просматривать базы данных и таблицы;
  • Создавать, копировать, переименовывать, изменять и удалять базы данных;
  • Создавать, копировать, переименовывать, изменять и удалять таблицы;
  • Добавлять, редактировать и удалять поля в таблицах;
  • Выполнять SQL-запросы;
  • Создавать, изменять и удалять индексы;
  • Загружать текстовые файлы в таблицы;
  • Создавать и читать дампы таблиц и баз данных;
  • Экспортировать данные в форматы SQL, CSV, XML, Word, Excel, PDF и LaTeX;
  • Управлять пользователями и привилегиями MySQL;
  • А также много другое.

Установка phpMyAdmin на Linux Mint 18.2

Как я уже сказал, рассмотрим мы два способа установки phpMyAdmin, и начнем мы с простого, подходящего для начинающих способа, т.е. с помощью графического интерфейса менеджера программ.

На заметку! Если Вы хотите научиться пользоваться Linux на домашнем компьютере без использования командной строки, то рекомендую почитать мою книгу – « »

Установка phpMyAdmin с помощью менеджер программ

Для того чтобы установить phpMyAdmin, предварительно необходимо установить Web-сервер, например Apache. Поэтому сейчас мы сначала установим Apache и только потом phpMyAdmin.

Открываем менеджер программ, например, «Меню->Менеджер программ » или «Меню->Администрирование->Менеджер программ ».

Вводим пароль администратора компьютера.


Установка веб сервера Apache

В менеджере программ в поиск вводим Apache и жмем Enter. Затем в результатах поиска находим Apache2 и щелкаем по нему двойным кликам.



Установка будет завершена, после того как в окне отобразится надпись «Установлено ».


Установка phpMyAdmin

Для установки phpMyAdmin точно таким же способом вводим в поиск phpMyAdmin и жмем Enter. Скорей всего будет найдена всего одна программа, которая нам и нужна, щелкаем по ней двойным кликом.



В процессе установки у Вас спросят, какой веб сервер Вы будете использовать, так как мы уже установили Apache, соответственно и отвечаем Apache и жмем «Вперед ».


Затем будет вопрос о базе данных phpMyAdmin, т.е. хотим ли мы ее настроить, мы галочку оставляем и жмем «Вперед ».


В качестве настройки нам предлагают придумать и ввести пароль для базы phpMyAdmin, мы вводим и жмем «Вперед », затем подтверждаем его и также жмем «Вперед » (пароль должен быть достаточно сложным, хотя Вам он будет требоваться редко ).



Установка будет завершена, как появится надпись «Установлено ». После этого можно сразу проверять работу phpMyAdmin .


Установка phpMyAdmin с помощью терминала

Для запуска терминал Linux щелкаем, например, по ссылке на панели или запускаем из меню Mint.


Устанавливать программы, в том числе phpMyAdmin, необходимо от имени суперпользователя root, поэтому давайте сразу переключимся на этого пользователя. Для этого пишем команду sudo -i (или sudo su) и жмем Enter (ввод ), затем вводим пароль пользователя.

Потом нам необходимо обновить список пакетов, для этого пишем команду.

apt-get update

Затем, как и в случае с менеджером программ, нам необходимо сначала установить веб сервер Apache, для этого вводим следующую команду.

Apt-get -y install apache2


Apt-get -y install phpmyadmin


В процессе установки у нас спросят, какой веб сервер мы будем использовать, мы выбираем Apache и жмем «Enter ».


Потом нам необходимо настроить базу phpMyAdmin, выбираем «Да » и жмем «Enter ».


Затем придумываем и вводим пароль от базы phpMyAdmin, жмем «Enter », в следующем окне подтверждаем пароль, т.е. вводим его еще раз, и снова жмем «Enter ».



После этого установка будет завершена.

Настраиваем Apache для работы с phpMyAdmin

Если мы производим установку phpMyAdmin с помощью терминала, то в данном случае, в отличие от графической установки с помощью менеджера программ, нам необходимо вручную подключить конфигурационный файл phpMyAdmin (т.е. файл с настройками phpmyadmin ).

Для этого пишем команду (с правами root), с помощью которой мы создадим символическую ссылку в каталоге с конфигурационными файлами Apache.

Ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf

Затем включим данный конфигурационный файл.

A2enconf phpmyadmin

Перезапускаем Apache

Systemctl restart apache2


Все, после этого можно переходить к проверке работы phpMyAdmin .

В случае необходимости данный конфигурационный файл можно отключить, для этого существует команда a2disconf. После Web сервер Apache также необходимо перезапустить.

Кстати, можно подключить данный конфигурационный файл и другим способом, например, напрямую прописать подключение в файле apache2.conf, данный способ часто встречается в сети, но первый вариант в данном случае более правильный. Для редактирования apache2.conf запустите команду (с правами root).

Nano /etc/apache2/apache2.conf

В конец файла добавьте следующую строку.

Include /etc/phpmyadmin/apache.conf

Сохраняем файл сочетанием клавиш Ctrl+O и жмем Enter, затем закрываем его также сочетанием клавиш только Ctrl+X. Apache в данном случае также необходимо перезапустить

Systemctl restart apache2

Проверяем работу phpMyAdmin, подключение к MySQL

Для того чтобы проверить работу phpMyAdmin, давайте запустим любой браузер и в адресной строке наберем следующий адрес (это локальный адрес phpMyAdmin ).

http://localhost/phpmyadmin

Если у Вас отобразится страница приветствия phpMyAdmin, значит все в порядке, иными словами, работает и веб сервер, и phpMyAdmin.

Для подключения к серверу MySQL вводим логин пользователя и пароль, я для примера подключусь от имени root (хотя как Вы знаете, работать от имени root не рекомендуется ).


После входа Вы попадете на начальную страницу phpMyAdmin, на который Вы можете увидеть список баз данных на сервере и основные настройки сервера MySQL.


Удаление phpMyAdmin в Linux Mint 18.2

Удалить phpMyAdmin можно как с помощью менеджера программ, так и с помощью терминала. Давайте рассмотрим также оба способа.

Удаление phpMyAdmin с помощью менеджер программ

Открываем менеджер программ, и таким же способом, как и при установке, находим phpMyAdmin. После того как Вы откроете phpMyAdmin в менеджере программ, Вам необходимо нажать на кнопку «Удалить ».


В процессе удаления у нас спросят, хотим ли мы удалить настройки базы данных phpMyAdmin, мы галочку оставляем, т.е. удаляем настройки, жмем «Вперед ».


Затем будет вопрос, хотим ли мы удалить базу phpMyAdmin, мы ставим галочку и жмем «Вперед », т.е. базу данных phpMyAdmin мы удалим, так как она нам больше не нужна (если Вам соответственно она нужна, то галочку Вы не ставите ).


Поле чего phpMyAdmin будет удален. Теперь мы можем отключить конфигурационный файл phpMyAdmin в настройках веб сервера Apache. Для этого в терминале нам необходимо выполнить команду (с правами суперпользователя ).

A2disconf phpmyadmin

И перезапустить Apache

Systemctl restart apache2


В случае если Вам не нужен и веб сервер Apache, то Вы также как и phpMyAdmin можете его удалить с помощью менеджере программ.


В процессе удаления Apache у Вас никаких дополнительных вопросов не будет.

Удаление phpMyAdmin с помощью терминала

Чтобы удалить phpMyAdmin, используя терминал, мы должны соответственно запустить его. Потом получаем права root с помощью sudo -i (или sudo su), так как удаление необходимо производить с правами суперпользователя.

Для удаления только phpMyAdmin нам необходимо сначала отключить конфигурационный файл phpMyAdmin, для этого, как и чуть ранее мы пишем следующую команду и перезапускаем Apache.

A2disconf phpmyadmin systemctl restart apache2

Для удаления phpMyAdmin мы используем следующую команду.

Apt-get -y --purge remove phpmyadmin

Ключ —purge означает, что мы хотим удалить пакеты вместе с их файлами настройки.

В процессе удаления у нас спросят, хотим ли мы удалить настройки базы phpMyAdmin, мы отвечаем «Да » и жмем «Enter ».


Потом, на вопрос об удалении базы данных phpMyAdmin мы также отвечаем «Да », как я уже говорил, если конечно она Вам не нужна.


В итоге phpMyAdmin будет удален.


Для удаления веб сервера Apache напишите следующую команду.

Apt-get -y --purge remove apache2

Чтобы удалить все связанные пакеты, которые нам уже не нужны, необходимо использовать следующую команду, тем самым мы можем высвободить место на диске.

Apt-get -y autoremove


На этом все, надеюсь, материал был Вам полезен, удачи!

Что-то за сегодня меня прям прорвало.. Может опять начну следить за блогом?)) Что’ж, «продолжим окатывать всяким контентом наши интернеты».

Как то раз, сидя на работе, мне потребовалось попасть на сервер MySQL одной из виртуалок. Потребовалось это сделать быстро и безболезненно, так как там что-то отлюбилось… Не долго думая я скачал туда дистрибутив pma, залил его в папку www и вместо экрана приветствия получил щедрое предложение скачать index.php. Немного офигев я понял что там не стоит php, а ставить его туда было не вариант, так как доступа к инеты из виртуалки у меня не было. Не долго думая я понял, что у меня есть еще один pma только на другой виртуалке, и я начал гуглить решение… В итоге я «познал», что начиная с версии 1.4.2, phpMyAdmin поддерживает администрирование нескольких MySQL серверов. По хорошему этот пост можно было назвать, как «MULTIPMA», но да не все поймут, не все оценят…

Ниже будет описан пример установки и настройки PHPMyAdmin на Debian сервере.

Готовимся

Если что, у нас уже стоит Apache, PHP, MySQL.
IP Server2, (тут мы будем ставить PMA) пусть будет 10.20.20.200.
IP Server1 (там где первый mysql сервер) — 10.20.20.100
IP Server3 (там где еще один mysql сервер) — 10.20.20.300

Первое что нужно сделать это позволить MySql серверу получать запросы от другого IP. По у молчанию в файле конфигурации my.conf есть параметры «skip-networking» и «bind-address». Ну так вот, писать там два подряд параметра «bind-address» с разными ip там не нужно, как и вписывать их через запятую. Правильно будет закомментировать эти параметры, и чтобы MySQL не светил голым задом во весь интернет, заблокировать всем доступ с помощью firewall.

#bind-address=127.0.0.1 #bind-address=localhost

Второе, нужно учесть, что необходимо настроить доступ с ip пользователям MySQL. По умолчанию они имеют доступ только с localhost, а это значит что вы не получите доступ к БД из вне. Например, если нам нужен доступ для root пользователя, правильнее всего будет добавить его еще раз, с тем же самым паролем, но в хосте указать IP с которого мы будем ломиться.

Mysql> CREATE USER "root"@"10.20.20.200" IDENTIFIED BY "root"; mysql> GRANT ALL PRIVILEGES ON *.* TO "10.20.20.200";

Третье, чтобы не светить IP адреса (тем более, если они внешние) в поле выбора сервера, правильно будет добавить следующие строки в файлик /etc/hosts:

127.0.0.1 localhost 127.0.1.1 server2 server1.local 10.20.20.100 server3.local 10.20.20.300

Ставим

Установка phpMyAdmin дело не сложное, достаточно просто воспользоваться следующей командой.

Apt-get install phpmyadmin

Настраиваем

На всякий случай сделаем резервную копию файла конфигурации PMA:

Cp /etc/phpmyadmin/config.inc.php /etc/phpmyadmin/config.inc.php.bak

$cfg["Servers"][$i]["AllowNoPassword"] = TRUE;

В этом же файле ищем следующие строки:

//$cfg["Servers"][$i]["auth_type"] = "cookie"; /* Server parameters */ //$cfg["Servers"][$i]["host"] = "localhost"; //$cfg["Servers"][$i]["connect_type"] = "tcp"; //$cfg["Servers"][$i]["compress"] = false; /* Select mysqli if your server has it */ //$cfg["Servers"][$i]["extension"] = "mysql";

И приводим их к такому виду:

/*server1.local*/ /* Тип аутентификации * / $cfg["Servers"][$i]["auth_type"] = "cookie"; /* Параметры сервера */ $cfg["Servers"][$i]["host"] = "server1.local"; $cfg["Servers"][$i]["connect_type"] = "tcp"; $cfg["Servers"][$i]["compress"] = false; /* Select mysqli if your server has it */ $cfg["Servers"][$i]["extension"] = "mysql"; $cfg["Servers"][$i]["AllowNoPassword"] = false; /* server3.local */ $i++; /* Тип аутентификации * / $cfg["Servers"][$i]["auth_type"] = "cookie"; /* Параметры сервера*/ $cfg["Servers"][$i]["host"] = "server3.local"; $cfg["Servers"][$i]["connect_type"] = "tcp"; $cfg["Servers"][$i]["compress"] = false; /* Select mysqli if your server has it */ $cfg["Servers"][$i]["extension"] = "mysql"; $cfg["Servers"][$i]["AllowNoPassword"] = false;

Все. Если вы все сделали верно, то все должно получиться.

Phpmyadmin - это один из самых популярных инструментов для управления базами данных mysql через веб-интерфейс. Он написан на php и JavaScript и с помощью него вы можете управлять локальным или удаленным сервером баз данных.

Используя PhpMyAdmin, мы можем создавать, удалять, переименовывать, редактировать базы данных, таблицы, поля, а также управлять пользователями, экспортировать, импортировать записи и выполнять любые команды SQL. На данный момент поддерживаются сервера баз данных MariaDB, MySQL и Drizzle. В этой статье мы рассмотрим как выполняется установка PhpMyAdmin Ubuntu 16.04 на веб-сервер Apache или Nginx.

Установка PhpMyAdmin в Ubuntu 16.04

Утилита phpmyadmin доступна в официальных репозиториях Ubuntu. Поэтому вы можете очень просто установить ее оттуда. Для этого сначала обновим список репозиториев:

Затем установим саму программу:

sudo apt install phpmyadmin

В официальных репозиториях содержится более старая версия, поэтому если вы хотите установить phpmyadmin ubuntu самой новой версии, нужно использовать PPA:

sudo add-apt-repository ppa:nijel/phpmyadmin
$ sudo apt-get update
$ sudo apt install phpmyadmin

Во время установки будет необходимо выбрать веб-сервер, с которым мы будем устанавливать phpmyadmin, выберите Apache с помощью пробела и нажмите Ок:

Настройки для Nginx придется указывать вручную и их мы рассмотрим чуть позже. Дальше нужно установить пароль на базу данных PhpMyAdmin, нажмите Да :

Затем введите два раза нужный пароль. Он вам вряд ли понадобится в дальнейшим, так что можете выбрать что-то сложное:

Возможно, для того чтобы все заработало придется включить несколько модулей php и конфигурационный файл apache:

sudo phpenmod mcrypt
$ sudo phpenmod mbstring

Затем включите конфигурационный файл Apache:

sudo a2enconf phpmyadmin

Установка phpmyadmin nginx ubuntu выполняется добавлением следующей секции в файл /etc/nginx/nginx.conf мы предполагаем, что nginx работает через php-fpm:

sudo vi /etc/nginx/nginx.conf

server{
listen 80;
server_name phpmyadmin;
access_log /var/log/phpmyadmin.access_log;
error_log /var/log/phpmyadmin.error_log;

location ^~ /phpmyadmin/ {
alias /usr/share/phpMyAdmin/;
index index.php;
location ~ /phpmyadmin(/.*\.php) {
include fastcgi.conf;
fastcgi_param SERVER_NAME localhost;
fastcgi_param SCRIPT_FILENAME /usr/share/phpMyAdmin$1;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
}
}
}

Сохраните и перезагрузите ваш веб-сервер:

sudo systemctl restart apache2

sudo systemctl restart nginx

Теперь, все точно должно работать. Откройте браузер и наберите в адресной строке http://localhost/phpmyadmin:

Введите ваш логин и пароль и затем, вы сможете делать все, что вам нужно с базами данных.

Защита PhpMyAdmin

Установка phpmyadmn Ubuntu 16.04 завершена. Но эта программа дает полный контроль над базой данных, поэтому нам нужно обеспечить максимальную ее безопасность. Сделаем доступ к Phpmyadmin по паролю. Для настройки Apache создайте файл /usr/share/phpmyadmin/.htaccess со следующим содержанием:

sudo vi /usr/share/phpmyadmin/.htaccess

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

Вот что значат эти строки:

  • AuthType Basic - эта строка устанавливает тип аутентификации, мы указываем что будем использовать пароль;
  • AuthName - задаем сообщение, которое будет видеть;
  • AuthUserFile - файл с данными, которые будут использоваться для аутентификации;
  • Require - необходимое условие, для аутентификации.

sudo htpasswd -c /etc/phpmyadmin/.htpasswd пользователь

Вы можете добавить несколько пользователей, но для этого уже не используйте опцию -c:

sudo htpasswd /etc/phpmyadmin/.htpasswd пользователь

Теперь, при попытке открыть адрес phpmyadmin система запросит пароль. Только пользователи, которые введут пароль смогут получить доступ к интерфейсу входа phpmyadmin.

Выводы

В этой статье мы рассмотрели как выполняется установка phpmyadmin Ubuntu 16.04. Как видите, все очень просто, и достаточно потратить немного времени на то, чтобы все разобраться. Если у вас остались вопросы, спрашивайте в комментариях!

PhpMyAdmin - мощный и удобный инструмент для оправления базами данных MySQL и MariaDB. Так же работает с Percona. Поддерживает огромный перечень операций и работает без дополнительных настроек практически в любом современном дистрибутиве Linux.

Однако по умолчанию phpMyAdmin настроен на работу с localhost, то есть с сервером баз данных, расположенном на локальной машине. Процедура «переподключения» phpMyAdmin на работу с внешним сервером достаточно проста, но вызывает вопросы у тех, кто занимается всем этим недавно или неглубоко.

В данной статье мы рассмотрим несколько вариантов подключения phpMyAdmin ко внешнему серверу, так как задачи и условия у всех разные. В примере я использую сервер баз данных MariaDB, ОС Ubuntu и phpMyAdmin версии 4.5.4, что практически не важно, так как всё достаточно просто. PhpMyAdmin установлен на домашний ПК, но с тем же успехом он может быть настроен и на удалённом сервере. Имеется ввиду, что всё прикладное ПО, такое как непосредственно сам сервер БД, http-сервер и php у вас уже установлено.

Пример первый (доступ с паролем).

Сервер баз данных расположен на машине с адресом 10.10.1.10. PhpMyAdmin устанавливаем на локальный ПК с адресом 10.10.1.20. Необходимо убедиться, что сервер баз данных принимает внешние соединения. Правим my.cnf (/etc/mysql/my.cnf). В строке bind-address по умолчанию указан адрес 127.0.0.1, что запрещает серверу принимать внешние соединения. Заменяем его на 0.0.0.0, что разрешит внешние соединения с любого адреса. В целях безопасности лучше уточнить адрес, если вы не планируете подключаться к серверу из разных источников. В этом примере будет использоваться строка следующего вида:

Bind-address = 10.10.1.20

Сохраняем и перезагружаем.

Sudo service mysql restart

На ПК (или другой удалённый сервер) устанавливаем phpMyAdmin.

Sudo apt install phpmyadmin

В процессе установки отказываемся от конфигурации (конфигурировать нечего; сервер баз данных на удалённой машине).

Далее правим конфигурационный файл phpMyAdmin config.inc.php (/etc/phpmyadmin/config.inc.php). Если это была свежая установка и на локальном хосте нет сервера баз данных, то удаляем все строки (кроме первой «

/* External Server #1 */ $i++; $cfg["Servers"][$i]["verbose"] = "Server Name"; $cfg["Servers"][$i]["host"] = "10.10.1.10"; $cfg["Servers"][$i]["connect_type"] = "tcp"; $cfg["Servers"][$i]["extension"] = "mysqli"; $cfg["Servers"][$i]["auth_type"] = "cookie"; $cfg["Servers"][$i]["AllowNoPassword"] = false;

Вместо Server Name вписываем что угодно. Сохраняем и закрываем файл.

Открываем в браузере адрес http://localhost/phpmyadmin/ и далее всё в штатном режиме. Если у вас подключено несколько серверов, то их можно выбрать во вкладке, под полями логина и пароля.

Пример второй (без пароля).

Ввод имя пользователя базы данных и пароля - занятие муторное, если phpMyAdmin расположен не на публичном сервера, а дома на ПК, к которому кроме вас никто не подходит. Поэтому можно упростить процесс входа, указав в конфигурационном файле пользователя базы и его пароль.

На стороне сервера входим в консоль сервера БД

Mysql -u root -p

Создаём пользователя (условно «username»)

CREATE USER "username"@"%" IDENTIFIED BY "password";

«%» - говорит о том, что пользователь сможет войти с любого хоста. Если в этом нет необходимости, то укажите IP хоста. В данном примере это 10.10.1.20. «password» - пароль пользователя.

Создаём новую базу данных (условно «newdatabase»)

CREATE DATABASE newdatabase;

Даём пользователю username все права на управление базой newdatabase

Grant CREATE,INSERT,DELETE,UPDATE,SELECT on newdatabase.* to "username"@"%";

По поводу «%» смотрите выше.

Таким образом мы создали базу данных «newdatabase», пользователя для неё «username» с паролем «password» и дали ему права на управление этой базой.

В config.inc.php (/etc/phpmyadmin/config.inc.php) вписываем следующее:

/* newdatabase */ $i++; $cfg["Servers"][$i]["connect_type"] = "tcp"; $cfg["Servers"][$i]["auth_type"] = "config"; $cfg["Servers"][$i]["host"] = "10.10.1.10"; $cfg["Servers"][$i]["verbose"] = "Server Name"; $cfg["Servers"][$i]["user"] = "username"; $cfg["Servers"][$i]["password"] = "password"; $cfg["Servers"][$i]["hide_db"] = "^(mysql performance_schema|innodb|information_schema)$";

При входе в phpMyAdmin мы увидим вкладку с сервером (или серверами), но выбрав нужный, поля логина и пароля нужно оставить пустыми.

Таким образом серверов баз (пример первый) и самих баз (пример второй) можно подключить сколько угодно.

Пример третий (без пароля с админскими привилегиями).

Чтобы ещё больше облегчить задачу себе и злоумышленнику, (в случае если вы не очень хорошо понимаете, что делаете) можно создать пользователя с админскими привилегиями. Подходит как для первого примера, так и для второго. Некоторые админы используют учётную запись root для входа в phpMyAdmin. Если у вас много баз данных, сие избавляет от необходимости держать под рукой список с паролями от десятков баз и ввода всего этого при переключении между базами.

Если phpMyAdmin у вас на реально персональном компьютере дома, порт 3306 закрыт от посторонних и так далее, то всё это не опаснее, чем конфигурационные скрипты подавляющего числа CMS, где данные доступа к БД записаны открытым текстом.

И так, создаём пользователя и даём ему права, идентичные правам root.

CREATE USER "superuser"@"10.10.1.20" IDENTIFIED BY "strongpassword";
GRANT ALL PRIVILEGES ON *.* TO "superuser"@"10.10.1.20" WITH GRANT OPTION;

Мы создали пользователя «superuser» с паролем «strongpassword», который может соединяться с сервером БД с IP адреса 10.10.1.20.

Все три метода упрощают жизнь, в той или иной степени, но так же могут стать причиной острого геморроя, так как даже самый сильный пароль, на ряду со всеми прочими манипуляциями, передаётся на сервер через вашего провайдера в незашифрованном виде. Если вы не уверены в защищённости своего канала, то лучше установить phpMyAdmin на той же машине, где уже установлен сервер баз данных, ограничить к нему доступ любым удобном для вас способом и не использовать http протокол для доступа к нему.

Несмотря на то, что многие пользователи испытывают потребность в системе управления базами данных вроде MySQL, работа с MySQL только с помощью средств командной строки может вызывать дискомфорт.

phpMyAdmin был создан для того, чтобы пользователи могли управлять базой данных MySQL с помощью веб-интерфейса. В этой статье мы расскажем о том, как установить и настроить phpMyAdmin для безопасной работы с вашими базами данных в Ubuntu 16.04.

Перед установкой

Перед тем, как мы начнём, убедитесь, что у вас есть всё необходимое.

Прежде всего, мы будем исходить из того, что у вас есть не-рутовый (non-root) пользователь с привилегиями sudo. Настроить такую учётную запись пользователя можно следуя шагам 1-4 в .

И, наконец, необходимо иметь в виду некоторые вопросы безопасности при использовании phpMyAdmin, поскольку он:

  • Напрямую взаимодействует с MySQL.
  • Выполняет аутентификацию использую логин и пароль MySQL.
  • Выполняет и возвращает результаты произвольных запросов SQL.

По этим причинам, а также потому, что phpMyAdmin является одним из наиболее распространённых и атакуемых PHP приложений, вам не стоит запускать phpMyAdmin на удалённых машинах с простым соединением HTTP. Если у вас ещё нет домена с настроенным SSL/TLS сертификатом, рекомендуем ознакомиться со статьёй .

После выполнения описанных выше мероприятий, вы можете начать следовать шагам, указанным в этой статье.

Шаг 1 - Установка phpMyAdmin

Сначала установим phpMyAdmin из репозиториев Ubuntu по умолчанию.

Для этого обновим наш локальный индекс пакетов, а затем используем систему управления пакетами apt для загрузки и установки необходимых файлов:

  • sudo apt-get update
  • sudo apt-get install phpmyadmin php-mbstring php-gettext

В процессе установки вам будет задано несколько вопросов по конфигурации.

Внимание:
Во время первого диалога apache2 подсвечен, но не выбран. Если вы не нажмёте Пробел для выбора Apache, установщик не переместит необходимые файлы в процессе установки. Нажмите Пробел , Tab , а затем Enter для выбора Apache.

  • При выборе сервера, выберите apache2 .
  • Ответьте yes на вопрос, хотите ли вы использовать dbconfig-common для настройки базы данных.
  • У вас будет запрошен пароль администратора базы данных.
  • Далее вам будет предложено ввести и повторить пароль для самого phpMyAdmin .

В процессе установки в директорию /etc/apache2/conf-enabled/ будет добавлен файл конфигурации phpMyAdmin для Apache.

Единственное, что мы должны сделать вручную, так это включить расширения PHP mcrypt и mbstring следующими командами:

  • sudo phpenmod mcrypt
  • sudo phpenmod mbstring

Теперь вы можете осуществить доступ к веб-интерфейсу phpMyAdmin введя имя домена или публичного IP адреса вашего сервера и строки /phpmyadmin:

Https://доменное_имя_или_IP_адрес /phpmyadmin

Теперь вы можете войти в веб-интерфейс используя имя пользователя root и пароль, заданный в процессе установки MySQL.

После входа вы увидите похожий интерфейс пользователя:

Шаг 2 - Делаем phpMyAdmin безопаснее

Установка phpMyAdmin осуществляется достаточно просто. Тем не менее, мы ещё не закончили. Из-за того, что phpMyAdmin используется большим количеством пользователей, он представляет собой популярную цель для злоумышленников. Нам необходимо предпринять некоторые шаги для предотвращения неавторизованного доступа.

Одним из способов добиться этого является авторизация пользователя перед входом в само приложение. Мы можем решить эту задачу использованием возможностей входящего в Apache файла.htaccess для авторизации и аутентификации пользователей.

Настройка Apache для разрешения использования.htaccess

Сначала включим возможность использования файла.htaccess в нашем файле конфигурации Apache.

Мы будем редактировать файл в нашей конфигурационной директории Apache:

  • sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Нам необходимо добавить директиву AllowOverride All в секцию конфигурационного файла:

/etc/apache2/conf-available/phpmyadmin.conf

Options FollowSymLinks DirectoryIndex index.php AllowOverride All . . .

Для применения изменений перезапустите Apache:

  • sudo systemctl restart apache2

Создание файла.htaccess

Теперь, когда мы разрешили использовать.htaccess для нашего приложения, нам необходимо создать такой файл.

Файл необходимо создать в директории приложения. Мы можем создать необходимый файл и открыть его для редактирования следующей командой:

  • sudo nano /usr/share/phpmyadmin/.htaccess

Теперь введём следующую информацию:

/usr/share/phpmyadmin/.htaccess

AuthType Basic AuthName "Restricted Files" AuthUserFile /etc/phpmyadmin/.htpasswd Require valid-user

Введённые нами строки означают следующее:

  • AuthType Basic: Эта строка задаёт тип авторизации. Указанный тип (Basic) означает, что авторизация будет осуществляться на основе пароля и файла пароля.
  • AuthName: Эта строка задаёт текст приветствия в диалоге авторизации. Используйте общие слова и фразы в этой строке, чтобы злоумышленникам было сложнее определить, что за система скрывается за диалогом авторизации.
  • AuthUserFile: Эта строка задаёт адрес файла пароля, который используется для авторизации. Файл должен находиться в недоступной для внешнего мира директории. Чуть далее мы создадим этот файл.
  • Require valid-user: Эта строка означает, что только аутентифицированные пользователи могут осуществлять доступ к защищаемой системе.

После ввода указанных строк, сохраните и закройте файл.

Создание файла пароля.htpasswd для аутентификации

Теперь, когда мы задали путь для нашего файла пароля в директиве AuthUserFile в нашем файле.htaccess , нам необходимо создать этот файл.

Для того, чтобы это сделать, нам понадобится установить дополнительный пакет из стандартных репозиториев:

  • sudo apt-get install apache2-utils

Теперь нам доступна утилита htpasswd .

Указанный нами ранее путь выглядел следующим образом: /etc/phpmyadmin/.htpasswd . Создадим этот файл и добавим в него первого пользователя следующей командой:

  • sudo htpasswd -c /etc/phpmyadmin/.htpasswd username

Вам будет предложено выбрать и подтвердить пароль для созданного пользователя. После этого файл будет создан и в него будет добавлен хэш указанного вами пароля.

Для добавления нового пользователя выполните следующую команду без флага -c:

  • sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser

Теперь, когда вы настроили доступ к поддиректории phpMyAdmin, при попытке входа в phpMyAdmin вам будет предложено ввести логин и пароль пользователя:

Https://доменное_имя_или_IP_адрес /phpmyadmin

После ввода логина и пароля вы будете перенаправлены на страницу аутентификации phpMyAdmin. Таким образом, мы создали дополнительный слой защиты для вашего phpMyAdmin.

Заключение

Теперь у вас есть phpMyAdmin, готовый к работе на вашем сервере с Ubuntu 16.04. Используя его интерфейс вы можете легко создавать базы данных, пользователей, таблицы и многое другое, а также выполнять обычные операции модификации или удаления хранимых данных.



Понравилась статья? Поделитесь ей