Установка phpmyadmin ubuntu из архива. Управление внешними базами данных через phpMyAdmin

Создание сайта на CMS Joomla!

php-myadmin.ru следующей ссылке . На момент написания статьи был доступен релиз 3.4.9. Останавливаем Apache. Создаём директорию C:\www\htdocs\phpmyadmin и распаковываем в неё наш архив. Учтите, что файлы и папки архива могут быть объединены в папку phpMyAdmin-3.4.9-all-languages. Нужно чтобы в директории C:\www\htdocs\phpmyadmin находилось содержимое папки phpMyAdmin-3.4.9-all-languages, а не сама эта папка. Затем в директории C:\www\htdocs\phpmyadmin (это наша корневая директория phpMyAdmin) создаём файл с именем config.inc.php и в зависимости от своих предпочтений заполняем его следующим содержанием:

$cfg["Servers"][$i]["host"] = "localhost";

$cfg["Servers"][$i]["extension"] = "mysqli";

$cfg["Servers"][$i]["connect_type"] = "tcp";

$cfg["Servers"][$i]["compress"] = false;

$cfg["Servers"][$i]["auth_type"] = "config";

$cfg["Servers"][$i]["user"] = "root";

$cfg["Servers"][$i]["password"] = "пароль";

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

Во втором случае нужно будет авторизовываться каждый раз, когда нужно воспользоваться phpMyAdmin. Мне ближе этот случай. В строке $cfg["blowfish_secret"] должна быть записана идентификационная фраза длинной до 46 символов. Запускаем Apache, в адресной строке браузера (куки должны быть включены) набираем http://localhost/phpmyadmin и попадаем на страницу авторизации. Проходим авторизацию и попадаем в главное окно phpMyAdmin.

В главном окне мы увидим сообщение о том, что дополнительные возможности не настроены в полной мере. Включим дополнительные возможности, так как они позволяют работать с закладками, историями вводимых команд, дизайнером связанных таблиц, pdf-схем. Для этого воспользуемся готовым sql запросом, в результате работы которого будет создана база данных «phpmyadmin» в которую будут импортированы нужные таблицы. Кликаем на вкладке «Импорт», на открывшейся странице, в секции «Импортируемый файл» нажмите кнопку «Обзор...», выбираем файл create_tables.sql, который находится в папке scripts, в директории phpmyadmin, и нажимаем кнопку «OK» расположенную в нижней части страницы. Если всё прошло успешно, получаем сообщение: «Импорт успешно завершен, запросов выполнено: 12. (create_tables.sql)». После этого создаём специального пользователя с именем pma. Имя пользователя не обязательно должно быть pma – это имя используется для примера. Переходим на вкладку «Привилегии» и кликаем по ссылке «Добавить нового пользователя». Заполняем появившуюся форму:

Нажимаем кнопку «Создать пользователя». Нажимаем на ссылку «Показать все», тем самым обновляя список пользователей. В строке пользователя pma кликаем по ссылке «Редактирование привилегий». В открывшемся окне в секции «Привилегии уровня базы данных» из выпадающего списка выбираем базу «phpmyadmin». Откроется новая страница, и в секции «Привилегии уровня базы данных», в группе «Данные», ставим галочки рядом с опциями: SELECT, INSERT, UPDATE, DELETE и нажимаем «OK». Получаем сообщение о том, что были изменены привилегии для пользователя "pma"@"localhost". Закрываем phpMyAdmin и редактируем файл config.inc.php. В результате редактирования получим следующее:

$cfg["blowfish_secret"] = "31h15u8gr7wq99.24633480"; $i=0; $i++; $cfg["Servers"][$i]["auth_type"] = "cookie"; $cfg["Servers"][$i]["pmadb"] = "phpmyadmin"; $cfg["Servers"][$i]["relation"] = "pma_relation"; $cfg["Servers"][$i]["table_info"] = "pma_table_info"; $cfg["Servers"][$i]["table_coords"] = "pma_table_coords"; $cfg["Servers"][$i]["bookmarktable"] = "pma_bookmark"; $cfg["Servers"][$i]["pdf_pages"] = "pma_pdf_pages"; $cfg["Servers"][$i]["column_info"] = "pma_column_info"; $cfg["Servers"][$i]["history"] = "pma_history"; $cfg["Servers"][$i]["tracking"] = "pma_tracking"; $cfg["Servers"][$i]["designer_coords"] = "pma_designer_coords"; $cfg["Servers"][$i]["userconfig"] = "pma_userconfig"; ?>

Удалим кэш браузера и зайдём в phpMyAdmin. Предупреждение о дополнительных возможностях отсутствует – значит всё настроено верно и функционирует в полной мере.

На этом настройка phpMyAdmin закончена. Можно переходить к установке Joomla 2.5

Ещё статьи о Joomla 2.5

    • Установка phpMyAdmin написана по материалам сайта php-myadmin.ru . Рекомендую этот сайт всем, кто хочет разобраться во всех тонкостях работы с phpMyAdmin. Скачиваем файловый архив phpMyAdmin-3.4.9-all-languages.7z по следующей ссылке . На момент...

    • В этой статье мы продолжаем говорить о CMS Joomla 2.5. А именно о создании бэкапа сайта В предыдущей части о резервном копировании сайта под управлением CMS Joomla 2.5 было рассмотрено создание резервной копии сайта вручную. Теперь...

    • Резервные копии созданы и теперь давайте разберёмся как их получить и автоматизировать данный процесс. Самый простой способ получения резервной копии – это скачивание её по ссылке или ссылкам, если файл делится на несколько архивов, в...

|

Для корректной работы многих веб-проектов нужны системы управления базами данных (СУБД), например, MySQL. Однако взаимодействовать с системой исключительно с помощью командной строки MySQL не всегда удобно.

Благодаря phpMyAdmin пользователи могут управлять системой MySQL через веб-интерфейс. Данное руководство содержит пошаговые инструкции по установке и защите веб-интерфейса phpMyAdmin.

Требования

Чтобы следовать данному руководству, понадобится:

  • Учетная запись не-рутового пользователя с привилегиями sudo (о том, как создать такого пользователя, можно узнать в статье « »);
  • Предварительно установленная группа программ LAMP (Linux, Apache, MySQL, PHP); чтобы получить инструкции по установке LAMP stack на сервер Ubuntu 14.04, читайте .

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

1: Установка phpMyAdmin

phpMyAdmin можно быстро установить из стандартного репозитория Ubuntu.

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

sudo apt-get update
sudo apt-get install phpmyadmin

Для того, чтобы настроить установку, нужно ответить на насколько вопросов.

  • В качестве сервера выберите apache2.

Примечание : если вы не нажмете пробел при выборе сервера, инсталлятор не сможет переместить необходимые файлы во время установки. Чтобы выбрать Apache, нажмите пробел, Tab, а затем Enter.

  • На вопрос, нужно ли использовать dbconfig-common для настройки базы данных, ответьте yes.
  • Введите пароль администратора СУБД.
  • Теперь будет предложено выбрать и подтвердить пароль для приложения phpMyAdmin.

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

Остается только явно включить расширение php5-mcrypt, что можно сделать при помощи:

sudo php5enmod mcrypt

Затем перезапустите Apache, чтобы обновить конфигурации:

sudo service apache2 restart

Готово! Чтобы открыть интерфейс, посетите в браузере:

http://домен_или_IP/phpmyadmin

Чтобы войти в phpMyAdmin, используйте имя root и пароль, созданный во время установки. На экране появится пользовательский интерфейс.

2: Защита phpMyAdmin

Как видите, установка и запуск phpMyAdmin – довольно простой процесс. Однако не стоит забывать о том, что из-за своей вездесущности PhpMyAdmin часто подвергается атакам злоумышленников. На данном этапе необходимо обеспечить интерфейсу достаточный уровень защиты для предотвращения несанкционированного использования.

Один из самых простых способ защиты phpMyAdmin – размещение шлюза безопасности. Это делается при помощи специальных файлов Apache под названием.htaccess.

Активация переопределения.htaccess

Для начала нужно активировать файл.htaccess, отредактировав конфигурационный файл Apache.

Итак, откройте файл конфигураций Apache:

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

В раздел нужно добавить параметр AllowOverride All:


Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
. . .

Внеся нужную строку, сохраните и закройте файл.

Чтобы обновить настройки, перезапустит веб-сервер:

sudo service apache2 restart

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

Теперь приложение поддерживает файлы.htaccess; нужно только создать такой файл.

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

sudo nano /usr/share/phpmyadmin/.htaccess

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

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

Рассмотрим эти строки подробнее:

  • AuthType Basic задает тип авторизации; в данном случае используется аутентификация по паролю с помощью файла паролей.
  • AuthName содержит текст сообщения диалогового окна аутентификации. Чтобы неавторизованные пользователи не могли получить дополнительной информации о закрытом приложении, это сообщение не должно содержать подробностей, а только общие данные (например, «Restricted Files», «Restricted Stuff», «Private Zone» и т.п.).
  • AuthUserFile задает расположение файла паролей, который будет использоваться для авторизации. Он должен находиться вне обслуживаемых каталогов. Такой файл будет создан позже.
  • Require valid- user указывает, что доступ к этому ресурсу могут получить только авторизованные пользователи. Именно этот параметр защищает ресурс от неавторизованных пользователей.

Сохраните и закройте файл.

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

Теперь в каталоге, указанном в строке AuthUserFile, нужно создать файл паролей.htpasswd.

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

sudo apt-get install apache2-utils

Как помните, файл должен быть создан в каталоге, заданном в директиве AuthUserFile, в данном случае это /etc/phpmyadmin/.htpasswd.

Создайте этот файл и передайте его пользователю, набрав:

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

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

Чтобы внести в файл еще одного пользователя, используйте вышеприведенную команду без флага –с:

sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser

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

http://domain_name_or_IP/phpmyadmin

Только после авторизации Apache пользователь сможет получить доступ к странице авторизации phpMyAdmin. Это добавит дополнительный уровень безопасности, который защитит веб-интерфейс phpMyAdmin от атак методом подбора паролей.

Заключение

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

Tags: ,

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 протокол для доступа к нему.

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то