Инструменты пользователя

Инструменты сайта


phpmyadmin

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

phpmyadmin [2018/11/11 02:29] (текущий)
Строка 1: Строка 1:
 +====== Все варианты установки phpMyAdmin ======
 +~~Title: phpMyAdmin установка Ubuntu Debian ~~
 +{{htmlmetatags>​
 +metatag-description=(Учимся работать в phpMyAdmin. Работа в phpMyAdmin, создание БД MySql.)
 +}}
 +{{ ::​logo-phpmyadmin.png?​600 |}}
  
 +  * Homepage: [[http://​www.phpmyadmin.net|phpMyAdmin]]
 +  * [[Website Hosting]] корпоративный хостинг на основе LAMP
 +
 +**phpMyAdmin** - это приложение написанное на [[PHP]] и обеспечивающее полноценную,​ в том числе удаленную,​ работу с базами данных [[MySQL]] через браузер.
 +
 +<note important>​**phpMyAdmin** не предоставляет собственных методов обеспечения безопасности MySQL- сервера. Предоставление привилегий в базе данных MySQL - прерогатива системного администратора.</​note>​
 +
 +===== Ubuntu =====
 +
 +Инсталляция phpMyAdmin в Ubuntu:<​file bash>
 +aptitude install phpmyadmin
 +</​file>​
 +Безопасность phpMyAdmin:
 +  * Для увеличения безопасности доступа к phpmyadmin можно разрешить доступ с определенных IP, отредактировав файл /​etc/​apache2/​conf-enabled/​phpmyadmin.conf<​file>​
 +Alias /phpmyadmin /​usr/​share/​phpmyadmin
 +
 +<​Directory /​usr/​share/​phpmyadmin>​
 +        Deny from all
 +        Allow from 127.0.0.0/​255.0.0.0 ::1/128
 +        Allow from xxx.xxx.xxx.xx
 +...
 +
 +</​file>​
 +  * Можно разрешить доступ к phpmyadmin только при помощи [[phpmyadmin#​phpmyadmin_ssl_redirect|phpMyAdmin SSL redirect]].
 +  * Можно удалить phpmyadmin.conf в conf-enabled и подгружать его только для определенного виртуального хоста, при помощи директивы IncludeOptional или Include в зависимости от версии Apache<​file bash>
 +<​VirtualHost _default_:​443>​
 +
 +     ​Include /​etc/​phpmyadmin/​apache.conf
 +#    IncludeOptional conf-available/​phpmyadmin.conf
 +</​VirtualHost>​
 +</​file>​
 +===== CentOS + HTTP- авторизация =====
 +
 +Инсталляция phpMyAdmin в [[CentOS]].
 +  * Добавляем репозиторий [[yum?&#​rpmforge|RPMForge]]
 +  * Установка<​file>​
 +# yum install phpmyadmin
 +</​file>​
 +  * Теперь надо провести несколько настроек. В файле /​etc/​httpd/​conf.d/​phpmyadmin.conf прописать с какого ip адреса разрешить подключение (по умолчанию прописан 127.0.0.1). Прописываем через пробел необходимый адрес.
 +  * В файле /​usr/​share/​phpmyadmin/​config.inc.php найдем строку:<​file>​$cfg['​Servers'​][$i]['​auth_type'​] = ‘cookies‘;</​file>​и приведем ее к виду<​file>​
 +$cfg['​Servers'​][$i]['​auth_type'​] = ‘http‘;
 +</​file>​
 +  * Перезагрузим веб-сервер:<​file>​
 +# service httpd restart
 +</​file>​
 +
 +===== phpMyAdmin за Nginx =====
 +<file bash>
 + location ~ ^/​phpmyadmin/​ {
 + proxy_pass http://​127.0.0.1:​8080;​
 + }
 +</​file>​
 +====== Быстрая установка из исходного кода ======
 +
 +  - Распакуйте дистрибутив в корневую директорию вашего веб-сервера (убедитесь,​ что поддиректории распакованы тоже): tar -xzvf phpMyAdmin_x.x.x.tar.gz.
 +  - Убедитесь,​ что все скрипты имеют соответствующего владельца.
 +  - Теперь Вы должны создать конфигурационный файл (config.inc.php). Создание конфигурационного файла - необходимое условие прежде всего для запуска phpMyAdmin, а также необходимо для задания некоторых возможностей. Эта задача может быть выполнена двумя разными способами. Традиционно,​ пользователи могут вручную отредактировать копию файла config.inc.php. Кроме этого, пользователи,​ предпочитающие графическую инсталляцию,​ могут воспользоваться мастером установки (скриптом инсталляции).
 +
 +    * Для того, чтобы вручную создать конфигурационный файл, достаточно простейшего текстового редактора,​ с помощью которого нужно создать файл config.inc.php. Для упрощения задачи,​ Вы можете скопировать в текстовый редактор содержимое файла config.sample.inc.php - образца рабочей конфигурации,​ содержащей минимальное количество конфигурационных переменных. Созданный файл необходимо поместить в главную директорию phpMyAdmin (ту, которая содержит index.php). phpMyAdmin сперва загружает libraries/​config.default.php,​ а затем подменяет значения прописанных в нем переменных теми, что находит в config.inc.php. Если значение по умолчанию (тех переменных,​ что определены в libraries/​config.default.php) Вас устраивает,​ тогда нет необходимости включать его в config.inc.php. Для запуска phpMyAdmin вам понадобятся как минимум несколько директив,​ простейшая конфигурация может выглядеть так:
 +
 +      <?php
 +      $cfg['​blowfish_secret'​] = '​ba17c1ec07d65003';​ // use here a value of your choice
 +      $i=0;
 +      $i++;
 +      $cfg['​Servers'​][$i]['​auth_type'​] = '​cookie';​
 +      ?>
 +
 +Или, если вы не хотите вводить каждый раз логин/​пароль (данная конфигурация не рекомендуется из соображений безопасности),​ конфигурационный файл может выглядеть так:
 +
 +      <?php
 +      $i=0;
 +      $i++;
 +      $cfg['​Servers'​][$i]['​user'​] = '​root';​
 +      $cfg['​Servers'​][$i]['​password'​] = '​cbb74bc';​ // use here your password
 +      ?>
 +
 +Для более полного ознакомления с функциями и описаниями значений всех конфигурационных переменных читайте раздел документации "​Конфигурирование"​.
 +  * Включение дополнительных возможностей phpMyAdmin: Linked-tables infrastructure (Инфраструктура связанных таблиц).
 +Для использования многих опций (закладок,​ комментариев,​ SQL-истории,​ PDF-схем,​ преобразования содержимого полей, и т.д.) необходимо создать набор специальных таблиц. Эти таблицы могут находиться как в Вашей базе данных,​ так и в центральной базе при многопользовательской системе (в этом случае данная БД может быть доступна только для пользователя controluser,​ соответственно,​ другие пользователи не имеют прав на неё).
 +
 +
 +В файл config.inc.php нужно добавить и раскомментировать строки (копируем их из файла config.sample.inc.php)
 +<​code>​
 +/* Advanced phpMyAdmin features */
 +$cfg['​Servers'​][$i]['​pmadb'​] = '​phpmyadmin';​
 +$cfg['​Servers'​][$i]['​bookmarktable'​] = '​pma_bookmark';​
 +$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]['​pdf_pages'​] = '​pma_pdf_pages';​
 +$cfg['​Servers'​][$i]['​column_info'​] = '​pma_column_info';​
 +$cfg['​Servers'​][$i]['​history'​] = '​pma_history';​
 +$cfg['​Servers'​][$i]['​designer_coords'​] = '​pma_designer_coords';​
 +/* Contrib / Swekey authentication */
 +// $cfg['​Servers'​][$i]['​auth_swekey_config'​] = '/​etc/​swekey-pma.conf';​
 +
 +/*
 + * End of servers configuration
 + */
 +
 +/*
 + * Directories for saving/​loading files from server
 + */
 +$cfg['​UploadDir'​] = '';​
 +$cfg['​SaveDir'​] = '';​
 +
 +</​code>​
 +Создаем таблицы phpMyAdmin, для этого импортируем файл create_tables.sql
 +  > mysql -u root -p < /​usr/​local/​www/​phpMyAdmin/​scripts/​create_tables.sql
 +====== Расширенные настройки ======
 +  * [[http://​wiki.phpmyadmin.net/​pma/​Config#​PmaAbsoluteUri|PmaAbsoluteUri]] позволяет в настройках (config.inc.php) phpmyadmin явно указать URL сайта на котором он работает,​ в противном случае phpmyadmin определяет его автоматически. Эта возможность может понадобиться например если [[Аpache]] работает на нестандартном порту (пусть 81 порт), а front-end к нему стоит [[Nginx]].<​file>​
 +$cfg['​PmaAbsoluteUri'​] = '​https://​ssl.example.org/​pma.example.org/';​
 +</​file>​
 +====== phpMyAdmin SSL redirect ======
 +phpMyAdmin после установки доступен по 80 порту протокола HTTP. Для безопасности нужно разрешать доступ к phpMyAdmin только по HTTPS (443 порт). Этого можно добиться несколькими способами. Ниже один из них.
 +
 +  - Предварительно в [[Apache]] должны быть включены модули [[mod_rewrite]] и mod_ssl. Включен на порту 443 виртуальный хост по умолчанию.<​file bash>
 +a2enmod rewrite ssl
 +</​file>​
 +  - В конфигурационный файл phpmyadmin.conf добавить директиву<​file>​
 +# nano /​etc/​apache2/​conf.d/​phpmyadmin.conf
 +
 +# phpMyAdmin default Apache configuration
 +
 +Alias /phpmyadmin /​usr/​share/​phpmyadmin
 +
 +<​Directory /​usr/​share/​phpmyadmin>​
 +        Options FollowSymLinks
 +        DirectoryIndex index.php
 +        AllowOverride All
 +        <​IfModule mod_php5.c>​
 +
 +...
 +</​file>​
 +  - Создать файл .htaccess с содержимым с настройками для [[mod_rewrite]]<​file>​
 +# nano /​usr/​share/​phpmyadmin/​.htaccess
 +RewriteEngine On
 +RewriteCond %{HTTPS} off
 +RewriteRule (.*) https://​%{HTTP_HOST}%{REQUEST_URI}
 +</​file>​
 +  - Перезапускам Apache. Все. Теперь при обращении к 80 порту автоматически переадресуется(redirect) на 443 защищенного соединения.
 +
 +====== ​ Операция импорта невозможна. Причины:​ не выбран импортируемый файл; размер импортируемого файла превышает максимально допустимый,​ заданный в настройках PHP. См. FAQ 1.16 ======
 +
 +
 +Для устранения это ошибки,​ кроме изменения параметров в [[php.ini#​kak_uvelichit_maksimalnyj_razmer_zakachivaemogo_fajla_po_http_s_pomoschju_php|php.ini]],​ может понадобиться установить правильные права на каталог phpmyadmin/​tmp<​file bash>
 +chmod 777 /​var/​lib/​phpmyadmin/​tmp
 +</​file>​
 +
 +====== Устранить phpMyAdmin Deprecation Notice ubuntu 16.04 PHP 7 ======
 +{{ ::​phpmyadmin-deprecation-notice.jpg?​nolink |}}
 +
 +phpMyAdmin в Ubuntu 16.04.5 LTS Xenial стал выводить много ошибок Deprecation Notice, как показано на скриншoте. Это не позволяет работать с phpMyAdmin вообще. Для решения этой проблемы я устанавливаю [[https://​launchpad.net/​~nijel/​+archive/​ubuntu/​phpmyadmin|PPA for phpmyadmin]]
 +
 +<file bash>
 +sudo add-apt-repository ppa:​nijel/​phpmyadmin
 +sudo apt update
 +sudo apt install phpmyadmin
 +</​file>​
 +Источник:​ [[https://​stackoverflow.com/​questions/​37002494/​php-7-with-phpmyadmin-gives-lots-of-deprecation-notices|stackoverflow.com]]
phpmyadmin.txt · Последние изменения: 2018/11/11 02:29 (внешнее изменение)