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

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


phpmyadmin

phpMyAdmin

phpMyAdmin - это приложение написанное на PHP и обеспечивающее полноценную, в том числе удаленную, работу с базами данных MySQL через браузер.

phpMyAdmin не предоставляет собственных методов обеспечения безопасности MySQL- сервера. Предоставление привилегий в базе данных MySQL - прерогатива системного администратора.

Ubuntu

Инсталляция phpMyAdmin в Ubuntu:

aptitude install phpmyadmin

Безопасность phpMyAdmin:

  • Для увеличения безопасности доступа к phpmyadmin можно разрешить доступ с определенных IP, отредактировав файл /etc/apache2/conf-enabled/phpmyadmin.conf
    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
    ...
    
  • Можно разрешить доступ к phpmyadmin только при помощи phpMyAdmin SSL redirect.
  • Можно удалить phpmyadmin.conf в conf-enabled и подгружать его только для определенного виртуального хоста, при помощи директивы IncludeOptional или Include в зависимости от версии Apache
    <VirtualHost _default_:443>
     
         Include /etc/phpmyadmin/apache.conf
    #    IncludeOptional conf-available/phpmyadmin.conf
    </VirtualHost>

CentOS + HTTP- авторизация

Инсталляция phpMyAdmin в CentOS.

  • Добавляем репозиторий RPMForge
  • Установка
    # yum install phpmyadmin
  • Теперь надо провести несколько настроек. В файле /etc/httpd/conf.d/phpmyadmin.conf прописать с какого ip адреса разрешить подключение (по умолчанию прописан 127.0.0.1). Прописываем через пробел необходимый адрес.
  • В файле /usr/share/phpmyadmin/config.inc.php найдем строку:
    $cfg['Servers'][$i]['auth_type'] = ‘cookies‘;

    и приведем ее к виду

    $cfg['Servers'][$i]['auth_type'] = ‘http‘;
  • Перезагрузим веб-сервер:
    # service httpd restart

phpMyAdmin за Nginx

	location ~ ^/phpmyadmin/ {
		proxy_pass http://127.0.0.1:8080;
	}

Быстрая установка из исходного кода

  1. Распакуйте дистрибутив в корневую директорию вашего веб-сервера (убедитесь, что поддиректории распакованы тоже): tar -xzvf phpMyAdmin_x.x.x.tar.gz.
  2. Убедитесь, что все скрипты имеют соответствующего владельца.
  3. Теперь Вы должны создать конфигурационный файл (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)

/* 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'] = '';

Создаем таблицы phpMyAdmin, для этого импортируем файл create_tables.sql

> mysql -u root -p < /usr/local/www/phpMyAdmin/scripts/create_tables.sql

Расширенные настройки

  • PmaAbsoluteUri позволяет в настройках (config.inc.php) phpmyadmin явно указать URL сайта на котором он работает, в противном случае phpmyadmin определяет его автоматически. Эта возможность может понадобиться например если Apache работает на нестандартном порту (пусть 81 порт), а front-end к нему стоит nginx.
    $cfg['PmaAbsoluteUri'] = 'https://ssl.example.org/pma.example.org/';

phpMyAdmin SSL redirect

phpMyAdmin после установки доступен по 80 порту протокола HTTP. Для безопасности нужно разрешать доступ к phpMyAdmin только по HTTPS (443 порт). Этого можно добиться несколькими способами. Ниже один из них.

  1. Предварительно в Apache должны быть включены модули mod_rewrite и mod_ssl. Включен на порту 443 виртуальный хост по умолчанию.
    a2enmod rewrite ssl
  2. В конфигурационный файл phpmyadmin.conf добавить директиву
    # 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>
    
    ...
  3. Создать файл .htaccess с содержимым с настройками для mod_rewrite
    # nano /usr/share/phpmyadmin/.htaccess
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
  4. Перезапускам Apache. Все. Теперь при обращении к 80 порту автоматически переадресуется(redirect) на 443 защищенного соединения.

Операция импорта невозможна. Причины: не выбран импортируемый файл; размер импортируемого файла превышает максимально допустимый, заданный в настройках PHP. См. FAQ 1.16

Для устранения это ошибки, кроме изменения параметров в php.ini, может понадобиться установить правильные права на каталог phpmyadmin/tmp

chmod 777 /var/lib/phpmyadmin/tmp

Устранить phpMyAdmin Deprecation Notice ubuntu 16.04 PHP 7

phpMyAdmin в Ubuntu 16.04.5 LTS Xenial стал выводить много ошибок Deprecation Notice, как показано на скриншoте. Это не позволяет работать с phpMyAdmin вообще. Для решения этой проблемы я устанавливаю PPA for phpmyadmin

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

Источник: stackoverflow.com

загрузка...
phpmyadmin.txt · Последние изменения: 2018/08/12 06:38 — darkfire