Установка и настройка phpmyadmin windows 7. PhpMyAdmin – установка, решение проблем при установке и настройке. Установка из исходников

Любой веб-разработчик знает, что для работы практически каждого сайта необходима база данных. Она позволяет хранить информацию, управлять ею и получать в нужный момент. Чтобы все перечисленное можно было использовать в более удобной форме, группа энтузиастов решила создать продукт, совмещающий удобство и функциональность при работе с СУБД. Его название — phpMyAdmin. Как правило, он уже имеется на многих хостингах. Поэтому в статье речь пойдёт о том, как провести установку и настройку phpMyAdmin на

Подготовка

Так как сам phpMyAdmin написан на php, то для его работы потребуется установить весь комплект необходимого программного обеспечения — Apache, PHP, MySQL.

Каждый компонент можно установить вручную по отдельности, а можно сразу все. Для Linux есть связка LAMP, для Windows — "Денвер" или OpenServer. Установка всего программного обеспечения и настройка его по отдельности позволит изучить состав и структуру работы всего сервера в целом. Если же время не позволяет разбираться с внутренним строением, проще и удобнее сразу поставить сборку.

Настройка PhpMyAdmin в Ubuntu

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

sudo apt-get install phpMyAdmin.

В процессе будет предложено пройти по этапам настройки phpMyAdmin. На первом нужно выбрать веб-сервер, который намечено использовать для запуска. В данном случае это — apache2.

В следующем окне будет предложено выполнить конфигурацию базы данных для phpMyAdmin. Стоит согласиться. Система запросит пароль для MySQL. А далее и для phpMyAdmin.

После этого в папке /etc/apache2/conf-enabled/ появится файл конфигурации.

Осталось установить пару деталей и активировать их. Можно использовать команды:

sudo apt-get install php-mbstring php-gettext.

А их запуск выполняется так:

sudo phpenmod mcrypt;

sudo phpenmod mbstring.

После этого понадобится перезапуск веб-сервера. Это выполняется с помощью команды:

sudo systemctl restart apache2.

По идее, все готово и можно приступать к работе.

Запуск и конфигурирование

Чтобы попасть в недра настроек phpMyAdmin нужно открыть любой браузер и в адресной строке набрать:

созданный домен/phpmyadmin.

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

Панель управления

Интерфейс приложения разделен на логические блоки, объединённые по общему принципу.

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

Верхнее меню содержит пункты для перехода к настройкам таблиц, а также к дополнительному функционалу:

  • базы данных . Практически дублирует меню слева, то есть содержит перечень имеющихся баз;
  • SQL . Очень интересный пункт для тех, кто знает, как правильно составлять запросы, и активно пользуется ими. Можно вручную выполнить выборку, удаление, сортировку и прочие функции SQL;
  • состояние . Текущее положение в базах. Их общий объём, трафик, количество принятых и отправленных данных;
  • учётные записи пользователей . Все сохранённые данные о пользователях, с указанием их привилегий, адресах и паролях;
  • экспорт и импорт . Очень удобные функции для осуществления обмена между базой и другим программным обеспечением. Например, для обновления сайта вручную, если возникла такая необходимость. К тому же это очень удобный инструмент для создания резервной копии важных данных, если автоматически такая возможность отсутствует;
  • настройки . Множество различных параметров, так или иначе связанных с работой phpMyAdmin, баз, запросов и многого другого;
  • репликация . Связь с другими серверами для одновременного изменения на репликах — то есть повторных экземплярах текущего сервера баз данных;
  • переменные . Как понятно из названия, раздел содержит значения для внутренних нужд сервера и системы. Без надобности ими, как правило, не пользуются;
  • кодировки . Показывает все имеющиеся в системе варианты отображения шрифтов;
  • сведения об используемых в phpMyAdmin видах хранения данных;
  • расширения . Перечень дополнений phpMyAdmin, увеличивающих функционал системы.

Общие настройки прямо по центру позволяют сменить пароль или установить используемую кодировку текста.

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

Справа находится информационная панель со сведениями о сервере баз данных и веб-сервере, а также несколько ссылок для справки по phpMyAdmin.

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

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

Самое первое, что предстоит сделать, — использовать файлы веб-сервера Apache htaccess. Для начала нужно сообщить apache, что будет применяться специальный файл для настройки phpMyAdmin.

Для этого надо настроить файл конфигурации, расположенный по адресу /etc/apache2/conf-available/phpmyadmin.conf.

Нужно добавить особую директиву AllowOverride All. После изменения и сохранения файла необходимо снова перезапустить веб-сервер.

Теперь для настройки phpMyAdmin понадобится сам файл, в котором и будут определены правила доступа в панель управления. Он должен называться.htaccess и размещаться по пути /usr/share/phpmyadmin.

В нем указываются следующие параметры:

AuthName «Restricted Files»

AuthUserFile /etc/phpmyadmin/.htpasswd

Require valid-user.

Это. набор ключевых слов позволит осуществить следующее:

  • Первая строка отвечает за характер авторизации. Параметр «базовый» означает, что войти можно будет по логину и паролю.
  • Вторая определяет, какой текст будет показан вместо приветствия.
  • В третьей строке указываются файл, в котором будет храниться пароль.
  • Четвёртая сообщает системе, что только аутентифицированные пользователи могут сюда попасть.

Пароль

С созданием файла для пароля при настройке phpMyAdmin придется немного повозиться.

Для начала нужно установить утилиту htpasswd. Она имеется в репозиториях "Убунту", поэтому достаточно выполнить команду в терминале:

sudo apt-get install apache2-utils.

Теперь все так же в терминале надо набрать:

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

Она создаст нового пользователя и предложит указать пароль для него.

Теперь доступ надёжно защищен. При попытке войти в административную панель phpMyAdmin пользователя откроется дополнительное окно для получения прав просмотра и изменения настроек.

CentOS

Настройка phpMyAdmin в CentOS, на самом деле, мало чем отличается. Алгоритм действий будет практически таким же. Разве что команда установки немного другая:

yum install -y phpmyadmin

Все дальнейшие настройки и манипуляции актуальны как для Ubuntu, так и для CentOS.

Среда Windows

Для операционной системы Windows имеется несколько готовых решений по созданию сервера с имеющимся комплектом технологий. Например OpenServer. Он уже содержит на «борту» установленный phpMyAdmin. Найти его можно в контекстном меню сервера, в пункте «Дополнительно».

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

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

  • во избежание падений сервера стоит использовать самые последние версии программного обеспечения;
  • на хостинге, скорее всего, уже установлен phpMyAdmin, но все же его безопасность можно настроить через файлы htaccess;
  • стоит внимательно относиться к выбору пароля. Зачастую его восстановление занимает гораздо больше времени, чем продуманный подход к его созданию;
  • использование готовых сборок позволяет реализовать быстрое развёртывание сервера со всем необходимым, но не всегда дает возможность гибко его настроить и понять тонкости работы.

В заключение

PhpMyAdmin используется на многих сервисах и сайтах в интернете. Это можно объяснить простотой настройки и доступа к базе данных. А также наличием большого количества дополнительных функции и возможностей. Проект постоянно развивается и подстраивается под новые решения и технологии.

68,516 Просмотры

Phpmyadmin — популярный инструмент для управления через браузер базами данных mysql. Я почти всегда устанавливаю его на сервер, если там есть базы mysql. Мне он кажется наиболее простым и удобным средством управления. В статье опишу подробно процесс установки на web сервер apache и nginx.

Введение

Ранее я уже касался темы установки phpmyadmin в статье про . Сейчас хочу рассмотреть более подробно этот вопрос не только на nginx, но и традиционном apache (httpd).

Несколько слов о том, что же из себя представляет инструмент под названием phpmyadmin. Это набор php скриптов, которые устанавливаются на веб сервер. С их помощью можно подключиться к локальному или удаленному mysql серверу и управять им через веб браузер. Я чаще всего с помощью phpmyadmin делаю следующие операции:

  1. Создание новых баз и пользователей, назначение прав.
  2. Экспорт или импорт баз не очень большого объема, до 50-ти мегабайт. Если база большего объема, использую утилиты командной строки (mysqldump и mysql) для управления сервером БД.
  3. Просмотр содержимого баз данных или информации о них.

По сути, делаю практически все стандартные действия с базами данных. Без phpmyadmin можно обходиться, для самых простых конфигураций серверов (например голый zabbix сервер) мне хватает консольных утилит. Но если есть, к примеру, веб сервер с сайтами, я обязательно поставлю phpmyadmin. Мне так быстрее и удобнее.

Приступим к простой установке phpmyadmin на CentOS 7.

Подготовка web сервера apache

Если на голом сервере выполнить:

# yum install phpmyadmin

Вы увидите полный список зависимостей, но в нем не будет самого веб сервера и интерпретатора php, только его модули. Веб сервер вам нужно предварительно установить и настроить самим. Сделем это на примере веб сервера httpd (апач). Устанавливаем его:

# yum install -y httpd

Теперь установим php, без него панель администрирования не заработает:

# yum install -y php

Запускаем веб сервер, добавляем его в автозагрузку и проверяем работу:

# systemctl enable httpd # systemctl start httpd

Заходите по адресу http://ip-адрес-сервер . Вы должны увидеть тестовую страницу апача. Теперь проверим, работает ли php. Создаем тестовую страничку в папке /var/www/html :

# mcedit /var/www/html/index.php

Назначаем владельца apache на созданный файл:

# chown apache. /var/www/html/index.php

Теперь снова заходим по адресу http://ip-адрес-сервера , вы должны увидеть вывод phpinfo:

Если видите такой же вывод, значит все в порядке, веб сервер готов для работы с phpmyadmin. Приступаем к его установке.

Установка phpmyadmin

Устанавливаем phpmyadmin со всеми зависимостями:

После установки в каталоге с конфигурациями httpd /etc/httpd/conf.d появляется файл phpMyAdmin.conf . Сохраним сразу на всякий случай оригинальный файл, перед тем как начать его редактировать:

# cp /etc/httpd/conf.d/phpMyAdmin.conf /etc/httpd/conf.d/phpMyAdmin.conf.orig

По-умолчанию, в конфиге закрыт доступ к панели управления для всех адресов, кроме 127.0.0.1. Чтобы открыть доступ для всех, приведите файл к следующему виду:

# mcedit /etc/httpd/conf.d/phpMyAdmin.conf Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin Require all granted Order Deny,Allow Deny from All Allow from None Order Deny,Allow Deny from All Allow from None

Я удалил все лишнее из файла, в том числе настройки, которые относились к версии apache 2.2. Перезапускаем httpd:

# systemctl restart httpd

Заходим по адресу . Вы должны увидеть страницу логина:

В этот момент я понял, что мне некуда логиниться. На тестовом сервере, где я готовлю статью, нет mysql. Если у вас та же ситуация, что у меня, установите mariadb. Подробно об я рассказал в статье, посвещенной настройке web-сервера, все подробности можете там посмотреть. Сейчас быстро ставим базу данных и запускаем ее:

# yum install -y mariadb mariadb-server # systemctl enable mariadb.service # systemctl start mariadb # /usr/bin/mysql_secure_installation

После этого можно еще раз окрыть web интерфейс phpmyadmin и зайти под учетной записью рута. Откроется главная страница панели с общей информацией о сервере:

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

Установка на nginx

Настроим работу phpmyadmin на веб сервере nginx + php-fpm. Подробно вопрос настройки такого сервера я рассматривал ранее в статье . Там речь шла именно о веб сервере и уклон был в эту сторону. Но phpmyadmin может понадобиться не только на веб серверах. Так что рассмотрим общий случай быстрой и простой настройки phpmyadmin на nginx.

Устанавливаем nginx:

# yum install -y nginx

Устанавливаем php-fpm:

# yum install -y php-fpm

Запускаем службы и добавляем в автозагрузку:

# systemctl start nginx.service # systemctl enable nginx.service # systemctl start php-fpm.service # systemctl enable php-fpm.service

Заходим по адресу http://ip-адрес-сервера и проверяем. Вы должны увидеть тестовую страницу nginx:

# yum install -y phpmyadmin

Редактируем конфигурационный файл nginx для добавления установленной веб панели управления:

# mcedit /etc/nginx/nginx.conf

Приводим секцию server {} к следующему виду:

Server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /usr/share/nginx/html; index index.php index.html index.htm; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_ignore_client_abort off; } include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }

# ln -s /usr/share/phpMyAdmin /usr/share/nginx/html/phpmyadmin

Перезапускаем nginx:

# systemctl restart nginx

Дальше по идее все должно работать, но у меня не работало, пришлось перезагрузить весь сервер, так как не работал модуль php mbstring, хотя он установлен и подключен. Перезапуск php-fpm тоже не помогал, а перезагрузка помогла. Проверил 2 раза, оба раза воспроизвел ошибку. Разбираться не стал в чем причина такого поведения, просто перезагрузите сервер и продолжайте.

Идем по адресу http://ip-адрес-сервера/phpmyadmin . Должны увидеть стандартную страницу входа. У меня на ней было предупреждение:

Warning in ./libraries/session.inc.php#105 session_start(): open(/var/lib/php/session/sess_j0r4moac0oo7oh250e6t14rn1kfkl6ta, O_RDWR) failed: No such file or directory (2)

Это сязано с тем, что в папке /var/lib/php нет директории session. Исправляем это:

# cd /var/lib/php/ # mkdir session # chown apache:apache session/

Обращаю внимание на то, что я назначил владельцем папки с сессиями пользователя apache, хотя у нас веб сервер nginx. Это связано с тем, что php-fpm по-умолчанию работает под пользователем apache. Логичнее изменить это и запускать его от nginx. Для этого надо отредактировать файл /etc/php-fpm.d/www.conf, изменив там параметры user и group. Я не стал этого делать сейчас для простоты. Оставляю данный параметр на ваше усмотрение.

Перезагружаем страницу, ошибка должна исчезнуть. Можно подключиться к mysql. Если сервер бд у вас не установлен, смотрите выше, как быстро его поставить и запустить. На этом установка закончена, рассматрим несколько полезных настроек phpmyadmin.

Настройка phpmyadmin

Пхпадмин готов к работе сразу после установки, дополнительные настройки не обазательны. Приведу полезный пример при использовании — ограничение доступа к phpmyadmin средствами веб-сервера. Для использования панели необходимо будет не только знать имя учетной записи mysql, но и пользователя и пароль для доступа непосредственно к панели.

Рассмотрим сначала пример с веб сервером apache . Будем использовать стандартное средство для ограничения доступа к каталогу с помощью.htaccees. Создадим такой файл в папке со скриптами phpmyadmin:

# mcedit /usr/share/phpMyAdmin/.htaccess AuthName "Enter Password" AuthType Basic Require valid-user AuthUserFile "/usr/share/phpMyAdmin/.htpasswd"

AddDefaultCharset UTF-8 Require all granted AllowOverride All

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

Проделаем то же самое на nginx . Так же создаем файл с паролем.htaccess:

# htpasswd -bc /usr/share/phpMyAdmin/.htpasswd user password

Если у вас на сервере не установлен httpd, то скорее всего вы увидите ошибку:

Bash: htpasswd: command not found

Необходимой утилиты нет в системе. Установим htpasswd на centos:

# yum install -y httpd-tools

Снова создаем файл с паролем:

# htpasswd -bc /usr/share/phpMyAdmin/.htpasswd user1 password Adding password for user user1

Отредактируем конфигурационный файл nginx, добавив в секцию server {} новый location:

Location /phpmyadmin/ { auth_basic "Enter password"; auth_basic_user_file /usr/share/phpMyAdmin/.htpasswd; }

Сохраняете конфиг, перезапускаете nginx и проверяете доступ к странице. Должно выскочить такое же, как и с apache, окно авторизации.

Рассмотрим еще несколько полезных настроек phpmyadmin. После входа в панель, в разделе Настройки вы увидите сообщение:

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

Подключим необходимый модуль для сохранения настроек. Модуль это громко сказано, нам всего лишь необходимо создать отдельную базу данных для хранения настроек и активации некоторых расширенных возможностей. Файл для создания базы данных хранится в директории phpmyadmin по адресу /usr/share/phpMyAdmin/sql/create_tables.sql . Копируем содержимое этого файла и выполняем его тут же, в phpmyadmin в разделе SQL:

Теперь можно идти в настройки и изменять их. Я обычно отключаю проверку новой версии. Они выходят достаточно часто, обновлять мне все равно их лень, поэтому информация о новых версиях мне не нужна. Так же отключаю логотип, можно загрузить свой. Сами полистайте настройки, посмотрите, что вам интересно. Все пункты неплохо задокументированы, можно почитать за что отвечают. Иногда бывает полезно вывести отдельный столбец в списке таблиц с информацией по дате создания и обновления. Это настраивается в разеделе Настройки -> Основная панель -> Структура базы данных.

Если вы хотите подключиться к удаленному mysql серверу с помощью phpmyadmin, воспользуйтесь скриптом настройки подключения по адресу http://ip-адрес-сервера/phpmyadmin/setup/ .

Заключение

Я рассмотрел основные моменты по установке и настройке phpmyadmin на веб сервер apache и nginx. Хочу подчеркнуть, что это мой личный опыт. Возможно, я где-то ошибась или поступаю не совсем верно. Если вы заметите это, прошу написать в комментариях. Я приму к сведению и исправлю статью. Я пишу статьи в том числе и для того, чтобы самому научиться чему-то новому. Комментарии к статьям мне в этом помогают.

  • Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
  • Владение основными рабочими инструментами системного администратора.
  • Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
  • Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.
  • Проверьте себя на вступительном тесте и смотрите подробнее программу по.

    PhpMyAdmin самое популярное web ориентированное управление базой данных MySQL. Незаменимый инструмент для всех, кто не дружит с языком команд MySQL сервера.

    Для работы phpMyAdmin у вас должны уже стоять и работать

    • MySQL сервер
    • Http сервер с поддержкой php

    Установка в Ubuntu

    Установку выполняем командой

    Sudo aptitude install phpmyadmin

    Установщик спросит на какой http сервер ставим - я выбрал apache2, т.к. он уже стоял у меня. Далее скрипт установки попросил создать и сконфигурировать базу данных phpmyadmin - соглашаемся и вводим пользователя и пароль для управления этой базой данных.
    После установки все конфиги хранятся в /etc/phpmyadmin . На всякий случай перезапускаем http сервер.

    Sudo /etc/init.d/apache2 restart

    В браузере вводим http://localhost/phpmyadmin/ и авторизуемся от пользователей MySQL сервера.

    Установка из исходников

    Чтобы представлять что происходит при установке phpMyAdmin, я покажу действия, которые выполняют установочные скрипты многих дистрибутивов. К тому же способ установки из исходников универсален и подходит для всех Unix систем.
    1. Скачиваем последнюю версию phpMyAdmin с официального сайта (на сегодняшний день последняя версия была 3.3.8).
    2. Распаковываем скачанный архив в любую папку корневой директории нашего http сервера. Для условности пусть это будет папка phpmyadmin.
    3. Находим в папке phpmyadmin/scripts файл create_tables.sql - это дамп таблицы phpmyadmin. Восстановим его командой от root или sudo

    #mysql -u root -p < create_tables.sql

    4. Заходим в консоль MySQL сервера и выставляем права на только что созданную базу данных phpmyadmin.

    # mysql -u root -p mysql> use phpmyadmin; mysql> GRANT ALL ON phpmyadmin.* TO phpmyadmin@localhost IDENTIFIED BY "your_password"; mysql> flush privileges;

    5. Правим конфигурационный файл в корне папке phpmyadmin - config.sample.inc.php .
    Переименовываем его в config.inc.php , выставляем владельцем файла того от кого работает сервер http (у меня это пользователь nobody) и выставляем права на файл 600 (эти действия выполняем от root или sudo)

    #mv config.sample.inc.php config.inc.php #chown nobody config.inc.php #chmod 600 config.inc.php

    В самом файле config.inc.php меняем значение строк - заносим пароль для авторизации через cookie и имя пользователя, пароль для восстановленной из дампа базы phpmyadmin.

    $cfg["blowfish_secret"] = "password"; /* User for advanced features */ $cfg["Servers"][$i]["controluser"] = "phpmyadmin"; $cfg["Servers"][$i]["controlpass"] = "your_password";

    а эти строки раскомментируем

    /* 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]["tracking"] = "pma_tracking"; $cfg["Servers"][$i]["designer_coords"] = "pma_designer_coords";

    Теперь можно набирать в браузере http://localhost/phpmyadmin/ и авторизовываться.

    Решение проблем при установке phpMyAdmin

    1. При открытии браузером phpMyAdmin не открывается, а предлагает скачать страницу.
    Решение - настроить поддержку php на http сервере. В apache модуль php подключается в httpd.conf строками,

    LoadModule php5_module modules/libphp5.so

    само собой php должен быть установлен После изменения httpd.conf перезагрузить apache сервер

    Mysql -u user -p

    3.
    Невозможно загрузить расширение mcrypt! Проверьте настройки PHP.
    Решение - убедитесь что в вашей системе установлено приложение mcrypt и библиотека libmcrypt , а модуль php для http сервера был собран с переменной

    With-mcrypt

    4. После авторизации возникает ошибка:
    При работе с многобайтными кодировками без установленного расширения PHP "mbstring", phpMyAdmin не в состоянии производить корректное разбиение строк, что может привести к непредсказуемым результатам. Установите расширение PHP "mbstring".
    Решение - пересобрать модуль php для http сервера с параметром

    Enable-mbstring

    или раскомментировать в php.ini строку

    Extension=mbstring.so

    5. После авторизации в phpMyAdmin видим предупредение:
    При cookie-аутентификации, в конфигурационном файле необходимо задать парольную фразу установив значение директивы $cfg["blowfish_secret"].
    Решение - в файле конфигурации phpMyAdmin - config.inc.php задать пароль в строке

    $cfg["blowfish_secret"]

    Если у вас есть или были другие ошибки при установке, настройке то прошу отписываться в комментах, будем дополнять..

    Статья просмотрена 69 125 раз

    Указываем версию своей операционной системы (я указал 64-разрядную Windows), и переходим на страницу загрузки (Go to Download Page https://dev.mysql.com/downloads/windows/installer/5.7.html).

    Я выбрал загрузку полного установщика msi. На момент написания этой заметки была актуальной версия MySQL 5.7.21, и скачался дистрибутив по имени mysql-installer-community-5.7.21.0.msi.

    Apache 2.4

    На момент подготовки статьи была доступна x64 версия 2.4.33, собранная на базе vc14:
    httpd-2.4.29-o110g-x64-vc14.zip.
    Размер архива - около 10 Мб.

    PHP 7.2

    На момент подготовки этой статьи была доступна x64 версия PHP 7.2 (7.2.2), Thread Safe, собранная на VC15: php-7.2.2-Win32-VC15-x64.zip.
    Размер архива Zip: 24 Мб.
    Сейчас есть и поновей.

    phpMyAdmin (PMA)

    Для управления базами данных MySQL на локальном компьютере, установим бесплатный пакет phpMyAdmin.

    Его дистрибутив скачаем с сайта http://www.phpmyadmin.net/
    На момент подготовки статьи доступна была версия 4.7.7:
    phpMyAdmin-4.7.7-all-languages.zip
    Размер - около 11 Мб.

    Содержимое архива выкладываем в заранее заготовленную папку, например:
    D:\sites\localhost\www

    Список для установки

    Дистрибутивы скачаны. Устанавливаем в таком порядке:

    • MySQL
    • Apache - настраиваем виртуальные сервера, проверяем на html
    • PHP - с доп настройкой Apache проверяем на php_test.php
    • phpMyAdmin (с доп настройкой php)

    Установка MySQL

    Запускаем ранее скачанный установщик MySQL (mysql-installer-....msi).

    В окне License Agreement устанавливаем галочку в пункте:
    I accept the license terms
    - и жмем кнопку Next.

    В окне Choosing a Setup Type выбираем пункт Custom (чтобы самим выбирать параметры для установки MySQL сервера). Жмем кнопку Next.

    В окне выбора компонентов (Select Products and Features) обязательно выбираем компонент MySQL Server - X64. Остальные компоненты - по желанию. Выбрав компонент в левой части окна, нажимаем стрелку вправо, чтобы этот компонент из доступных для установки перешел в правую часть окна - список того,что будем устанавливать.

    Нажать Next после выбора компонентов.

    В окне Installation жмем кнопку Execute, чтобы запустить установку на выполнение.

    Наблюдать за ходом установки можно, нажав кнопку Show Details.

    Когда установка закончится (Status станет complete), нажимаем кнопку Next, для перехода к конфигурированию сервера MySQL.

    В окне Product Configuration нажимаем кнопку Next.

    В окне Type and Networking

    оставляем включенным пункт Standalone MySQL Server, жмем Next.

    В следующем окне Type and Networking
    устанавливаем пункт Config Type = Development Machine

    Галки у пунктов TCP/IP и Open Firewall port for network access - оставляем.
    Порт связи с MySQL тоже оставляем со значением по умолчанию (Port Number = 3306).

    Установим галку у пункта Show Advanced Options.

    В окне Accounts and Roles задаем пароль для главного пользователя (с логином root - администратора).

    В поле MySQL User Accounts можно добавить других пользователей, которые будут иметь доступ к базам данных MySQL. Мы пока других создавать не будем: подключаться будем, как root.

    В окне Windows Service оставляем галку у пункта Configure MySQL Server as a Windows Service (чтобы сервер MySQL запускался в виде системной службы).

    Имя системной службы (MySQL57) оставим по умолчанию.

    Запускать службу сервера MySQL будем вручную (он нужен нам только на время разработки и тестирования локальных сайтов), поэтому снимаем галочку у пункта Start the MySQL Server at System Startup (чтобы сервер не запускался каждый раз при запуске OC Windows).

    Запускать службу будем от имени Standard System Account (эту опцию не меняем).

    В окне Plugins and Extensions оставляем все, как есть. Жмем Next.

    В окне Advanced Options можно изменить параметры журналов (логов), куда сервер записывает сообщения в ходе своей работы. Здесь можно оставить все, как есть.

    В окне Apply Configuration жмем кнопку Execute для применения конфигурации сервера.

    По окончании жмем кнопку Finish.

    В окне Product Configuration жмем Next.

    В последнем окне Installation Complete галки у пунктов можно не устанавливать. Жмем Finish.

    Установка и конфигурирование MySQL-сервера закончены.

    Запустить/остановить вручную сервер MySQL можно, перейдя в список служб Windows.
    Найти в списке MySQL57, щелкнуть по нему правой кнопкой мыши и выбрать "Запустить/Остановить".

    Установка Apache 2.4 для Windows

    Есть много статей в интернете, где описано, как выполняется установка Apache 2.4 для Windows. Я, может быть, и повторю что-то, но изложу пошагово свою версию.

    В архиве, скачанном с сайта разработчика (использован вариант httpd-2.4.29-o110g-x64-vc14.zip), есть папка Apache24. Её, вместе с её содержимым, помещаем на диск С:

    Кроме самого пакета (папки Apache24) в архиве лежит файл readme_first.html, который полезно прочитать.

    Особое внимание следует обратить на наличие пакета Visual C++ 2015 x64 Redistributable Package в установленной ОС Windows.
    Этот пакет содержит набор библиотек, без которых данная сборка Apache работать не будет.
    Скачать бесплатно этот пакет можно с сайта Microsoft, по ссылке (https://www.microsoft.com/en-us/download/details.aspx?id=49984), данной в файле readme_first.html. Обязательно его установите, если его ещё нет в вашей ОС.

    Если на вашем компе установлены программы, слушащие 80 порт, то лучше их отвадить от использования этого порта, или назначить им другой. Сервер Apache по умолчанию настроен именно на этот порт, см параметр Listen в файле C:\Apache24\conf\httpd.conf

    Пробуем запустить сервер (позже рассмотрим вариант запуска сервера в виде системной службы(сервиса)).
    Для этого запускаем командную строку в режиме (от имени) администратора.
    Переходим в папку C:\Apache24\bin и запускаем программу httpd.exe

    При первом запуске может появиться Оповещение системы безопасности Windows о том, что брандмауэр Windows заблокировал некоторые функции этого приложения (см. рисунок)

    Ставим галочку, разрешающую Apache HTTP Server связь для Частных сетей.
    Работу в общественных сетях можно запретить.

    Открыв любой браузер, введём в адресной строке адрес http://localhost/
    - должна появиться страница сборщика данного пакета Apache-сервера.

    (она с пакетом инсталлирована в папку C:\Apache24\htdocs - это значение имеет переменная DocumentRoot в файле httpd.conf,
    но мы его позже изменим).

    Значит, сервер Apache стартует и работает нормально.

    Если сервер не запускается, то надо посмотреть, какие ошибки он выдает. Ошибки можно увидеть при запуске: в командной строке и в файле C:\Apache24\logs\error.log

    Сделаем теперь так, чтобы сервер Apache запускался сервисом (описано в readme_first.html, прилагаемом к дистрибутиву).
    В командной строке, запущенной от имени администратора, перейдя в папку C:\Apache24\bin, запустим команду
    httpd -k install

    Отслеживать состояние службы сервера Apache и выполнять его перезапуск (будем делать часто по ходу настройки) удобно через программу C:\Apache24\bin\ApacheMonitor.exe. Сделайте для неё ярлык и поместите его в удобное для запуска место (в панель задач или на рабочий стол).

    Осталось сконфигурировать сервер Apache под наши нужды:
    ориентировать на папки, в которых будут лежать наши сайты;
    подготовить к работе с MySQL и PHP.

    Допустим, мы желаем иметь на локальном компе пока 2 сайта с именами localhost и wp-test
    http://localhost/
    http://wp-test/

    Для этого в системном файле C:\Windows\System32\drivers\etc\hosts должны быть такие строки

    127.0.0.1 localhost
    127.0.0.2 wp-test

    Первая строка обычно уже существует по умолчанию.
    Вторую набиваем самостоятельно.

    Эти строки сообщают, что хосты с именами localhost и wp-test надо искать по IP-адресам 127.0.0.1 и 127.0.0.2
    - оба адреса соответствуют локальному компьютеру.

    Перезапуск ОС необязателен.

    Создадим на локальном компе папки для хранения сайтовых файлов, например в папке:
    D:\sites\localhost
    D:\sites\wp-test

    В каждой из этих папок создадим 2 файла с именами
    access.log
    error.log
    и подпапку www
    D:\sites\localhost\www
    D:\sites\wp-test\www
    - в этих папках создадим файлы index.html с таким содержимым:
    это localhost
    это wp-test

    Теперь настроим сервер Apache на использование виртуальных хостов, соответствующих нашим сайтам.

    Отредактируем конфигурационный файл сервера (C:\Apache24\conf\httpd.conf).
    Для этого его надо открыть в текстовом редакторе.
    Я для этого использую NotePad++ (очень многофункциональный бесплатный редактор).

    Виртуальные хосты обычно прописываю в конец этого файла.

    Добавим туда такие строки:

    #localhost ServerName localhost DocumentRoot "D:/sites/localhost/www" ErrorLog "D:/sites/localhost/error.log" CustomLog "D:/sites/localhost/access.log" common #wp-test ServerName wp-test DocumentRoot "D:/sites/wp-test/www" ErrorLog "D:/sites/wp-test/error.log" CustomLog "D:/sites/wp-test/access.log" common AllowOverride All Options Includes FollowSymLinks Require all granted

    Проверяем, открываются ли в браузерах страницы по адресам
    http://localhost/
    http://wp-test/

    При нормальном открытии страницы должны отображать такие строки:
    это localhost
    и
    это wp-test

    Аналогично можно создавать и другие виртуальные веб-сервера на локальном компьютере.

    Дополнительные настройки для Apache, которые могут пригодиться.

    Установка PHP 7

    Содержимое скачанного архива php-7.2.2-Win32-VC15-x64 выкладываем в папку C:\php\

    Внимательно читаем файл C:\php\install.txt из дистрибутива.
    В этом файле кратко описано, как установить PHP в системе и настроить его для работы с Apache.

    Путь C:\php добавляем в системную переменную PATH

    Для тестирования PHP на нашем локальном сайте http://localhost/
    создадим в его папке (D:\sites\localhost\www) файл php_test.php с таким содержимым:

    Тогда при открытии адреса http://localhost/php_test.php должна открываться страница с данными от команды phpinfo.

    Подготовим Apache к работе с PHP

    В файле httpd.conf

    В том месте, где грузятся модули (ищите группу команд LoadModule), в конце группы (если ещё нет такой строки) добавляем:

    LoadModule php7_module "C:/php/php7apache2_4.dll"

    Укажем путь, где установлен php, директивой:

    PHPIniDir "C:/php"

    В секции дописываем index.php:

    DirectoryIndex index.html index.php

    В секции , где такие команды, как AddType application...

    добавляем строку

    AddType application/x-httpd-php .php

    Сохраняем httpd.conf и перезапускаем Apache.

    После этого тестовая страница http://localhost/php_test.php будет открываться.

    Отредактируем файл настроек PHP для работы phpMyAdmin и не только.

    Файл php.ini-production переименовываем в php.ini (оставляем в той же папке C:\php\)

    Редактируем php.ini так

    Раскомментируем строку

    Extension_dir = "ext"

    Включим параметр (по умолчанию=Off)

    Enable_dl = On

    Укажем папку для загрузки временных файлов

    Upload_tmp_dir="d:/sites/uploadtemp" upload_max_filesize = 500M

    В разделе; Dynamic Extensions ;

    раскомментируем строки:

    Extension=gd2 extension=mbstring extension=mysqli

    Включим еще одно расширение:

    Extension=openssl

    Для того, чтобы, например, обновлять плагины wordpress на локальном сайте через админку. Иначе выходит ошибка: No working transports found.

    Для выполнения долгих скриптов продлим максимальное время их выполнения, например, так:

    Max_execution_time = 300

    Установка phpMyAdmin

    Скачав дистрибутив и выложив его содержимое в папку D:\sites\localhost\www
    зайдем в папку с документацией \www\doc\html и откроем файл setup.html

    Следуя его инструкциям, создадим в корневом каталоге сайта (www) подпапку config (это нужно на время конфигурирования phpMyAdmin скриптом, который можно запустить, открыв страницу настройки по адресу http://localhost/setup/).
    Переименуем лежащий в корневом каталоге файл \www\config.sample.inc.php
    в рабочий файл \www\config.inc.php
    - этот файл откроем для редактирования и определим в нем параметр $cfg["blowfish_secret"] - заполнив любыми символами, например, фразой ANY_WHAT_YOU_WANT:

    $cfg["blowfish_secret"] = "ANY_WHAT_YOU_WANT"; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

    и, сохранив,закроем этот файл.

    Проверим, открываются ли страницы сайта:
    http://localhost/
    http://localhost/index.php

    .
    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 вам понадобятся как минимум несколько директив, простейшая конфигурация может выглядеть так:

      $cfg["blowfish_secret"] = "ba17c1ec07d65003"; // use here a value of your choice
      $i=0;
      $i++;
      $cfg["Servers"][$i]["auth_type"] = "cookie";
      ?>

      Или, если вы не хотите вводить каждый раз логин/пароль (данная конфигурация не рекомендуется из соображений безопасности), конфигурационный файл может выглядеть так:
    • Вместо ручного редактирования файла config.inc.php, Вы можете использовать скрипт установки. Прежде всего, вам необходимо вручную создать в главной директории phpMyAdmin папку "config". Это - мера безопасности. При работе под ОС Linux/Unix Вы можете использовать следующие команды:

      Для редактирования уже существующего конфигурационного файла, можно воспользоваться следующими командами:

      На других платформах, просто создайте директорию и убедитесь, что Ваш веб-сервер имеет права на чтение и запись в неё. FAQ 1.26 может помочь в этом случае.

      Затем, откройте в браузере scripts/setup.php. Помните, что изменения не будут сохранены на диск до тех пор, пока не будет нажата кнопка "Save" в блоке "Configuration". Если все хорошо, то скрипт сохранит новый config.inc.php в директорию config/, но если веб-сервер не имеет необходимых прав, Вы можете увидеть сообщение об ошибке "Cannot load or save configuration". В таком случае, убедитесь, что директория config/ создана и имеет необходимые права, либо воспользуйтесь ссылкой "Download" для сохранения конфигурационного файла на локальный диск и последующей закачки (например, через FTP) на сервер.

      Как только файл был сохранен, необходимо переместить его из директории config/ в главную директорию phpMyAdmin и в целях безопасности сбросить права на него:

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

    4. Если Вы собираетесь использовать "config" аутентификацию (auth_type), необходимо защитить директорию в которую был установлен phpMyAdmin от несанкционированного доступа, потому что данный режим позволяет любому пользователю получить доступ к phpMyAdmin без предварительного ввода логина/пароля. Рекомендуются альтернативные методы аутентификации, например, HTTP-AUTH (с помощью.htaccess файла), либо использованием одного из двух других методов аутентификации: cookie или http. См. подраздел FAQ "Мультипользовательская установка" для дополнительной информации, особенно обратите внимание на FAQ 4.4 .
    5. Откройте главную директорию phpMyAdmin в вашем браузере. Должно появиться окно приветствия phpMyAdmin и Ваши базы данных, или окно ввода логина, в случае использования режима HTTP- или cookie-аутентификации. 6. Вы должны запретить доступ к субдиректории./libraries средствами вашего веб-сервера. В случае использования веб-сервера Apache для защиты директории Вы можете использовать файл.htaccess. При использовании других веб-серверов вы должны запретить доступ к директории./libraries самостоятельно. Подобная конфигурирование - превентивная мера на случай обнаружения уязвимостей: возможного раскрытия пути (path exposure) и межсайтового выполнения сценариев (Cross-site Scripting, XSS).

    Linked-tables infrastructure (Инфраструктура связанных таблиц)

    Для использования многих опций (закладок, комментариев, SQL-истории, PDF-схем, преобразования содержимого полей, и т.д.) необходимо создать набор специальных таблиц. Эти таблицы могут находиться как в Вашей базе данных, так и в центральной базе при многопользовательской системе (в этом случае данная БД может быть доступна только для пользователя controluser, соответственно, другие пользователи не имеют прав на неё).

    Зайдите в директорию scripts/ , здесь вы найдете файл create_tables.sql . (Если используете Windows сервер, обратите особое внимание на FAQ 1.24).

    Если у Вас установлена версия MySQL сервера 4.1.2 или более позднее, используйте вместо вышеуказанного файла create_tables_mysql_4_1_2+.sql , для новой инсталляции.

    Если у вас уже есть готовая инфраструктура и вы обновляете MySQL до версии 4.1.2 или выше, используйте upgrade_tables_mysql_4_1_2+.sql .

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

    После импорта create_tables.sql , Вы должны определить названия таблиц в файле config.inc.php , с помощью директив, описанных в разделе "Конфигурирование" . Кроме этого необходимо обладать правами controluser на данные таблицы (см. ниже, раздел "Использование режима аутентификации").

    Обновление старой версии

    Просто скопируйте конфигурационный файл ./config.inc.php от предыдущей версии в директорию куда был распакован phpMyAdmin. Конфигурационные файлы из очень старых версий (2.3.0 or older) могут потребовать некоторых настроек, т.к. некоторые опции были изменены или удалены.

    Если Вы обновили свой MySQL-сервер с версии старше, чем 4.1.2 до версии 4.1.2 или новее,и используете инфраструктуру связанных таблиц, тогда необходимо запустить SQL-скрипт, который находится в scripts/upgrade_tables_mysql_4_1_2+.sql.

    Использование режимов аутентификации

    При использовании "HTTP" и "cookie" режимов phpMyAdmin, рекомендуется завести пользователя (controluser), который должен обладать правами только на выборку (SELECT) из следующих таблиц: mysql.user (все столбцы за исключением "Password"), mysql.db (все столбцы), mysql.host (все столбцы) и mysql.tables_priv (все столбцы за исключением "Grantor" и "Timestamp").

    GRANT USAGE ON mysql.* TO "pma"@"localhost" IDENTIFIED BY "pmapass";
    GRANT SELECT (
    Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
    Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
    File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
    Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
    Execute_priv, Repl_slave_priv, Repl_client_priv
    ) ON mysql.user TO "pma"@"localhost";
    GRANT SELECT ON mysql.db TO "pma"@"localhost";
    GRANT SELECT ON mysql.host TO "pma"@"localhost";
    GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
    ON mysql.tables_priv TO "pma"@"localhost";

    Необходимо установить настройки для controluser в файле config.inc.php в следующих секциях: $cfg["Servers"][$i]["controluser"] и $cfg["Servers"][$i]["controlpass"] .

    В нижеприведенном примере, в обучающих целях используются следующие значения для: "controluser" - "pma", "pmapass" - "controlpass". Но на практике используйте другие значения в своих файлах!

    Разумеется, localhost в случае необходимости нужно заменить на реальное имя веб-сервера.

    Если вы используете старую версию MySQL (ниже 4.0.2), замените первый запрос GRANT SELECT следующим образом:

    GRANT SELECT (Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv) ON mysql.user TO "pma"@"localhost";

    И если Вы хотите использовать возможности закладок и связей:

    GRANT SELECT, INSERT, UPDATE, DELETE ON .* TO "pma"@"localhost";

    (конечно, подразумевается, что должна быть настроена инфраструктура связанных таблиц).

  • Разумеется, пользователь должен разрешить браузеру использовать куки. Теперь это необходимое требование для всех методов аутентификации
  • В этом режиме, после прохождения первичной идентификации phpMyAdmin создает на компьютере пользователя cookie-файл, содержащий логин и пароль пользователя, который будет автоматически подставляться при следующих сеансах.
  • При использовании данного режима пользователь может завершить сеанс phpMyAdmin и авторизоваться под другим именем.
  • Если вы собираетесь проходить процедуру идентификации на произвольном сервере обратите внимание на директиву $cfg["AllowArbitraryServer"] .
  • Как указано в секции "Технические требования" , наличие PHP библиотеки mcrypt на сервере способно ускорить фазу авторизации, но наличие её не обязательно.
  • "config" - аутентификация