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