• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Статья Установка Apache, PHP, MySQL, phpMyAdmin

Теперь доступна инструкция “Установка и настройка сервера Apache, PHP, MySQL, phpMyAdmin на Windows 10“. Она заменяет инструкцию, размещённую на этой странице. Инструкцию на этой странице следует считать устаревшей и больше неподдерживаемой (т.е. я больше не буду отвечать на вопросы, возникшие при использовании устаревшего мануала). Пожалуйста, пользуйтесь новым материалом, даже если у вас не Windows 10 (на все версии Windows веб-сервер устанавливается одинаково).

Здесь инструкция для Windows. Если у вас Linux, то вам сюда “Установка и настройка Apache, PHP, MySQL, phpMyAdmin на Linux (LAMP)“.

Локальный сервер необходим любому Web-разработчику. Существует довольно много пакетов “всё в одном”, включающих Apache, PHP, MySQL и другие элементы. Можно пользоваться ими, но, например, создатели PHP рекомендуют самостоятельно устанавливать и настраивать все компоненты, это позволяет исключить попадание на ваш компьютер злонамеренного кода. От себя добавлю, что самостоятельная установка и настройка компонентов позволяет использовать самые новые версии программ, не дожидаясь их добавления в пакеты.

Установка сервера включает в себя установку и настройку нескольких элементов:
  • сам сервер (Apache);
  • скриптовый язык PHP;
  • система управления базами данных MySQL;
  • веб-интерфейс для администрирования СУБД MySQL phpMyAdmin.
На самом деле самостоятельная установка и настройка не должна вызывать особых трудностей, но имеется ряд неочевидных моментов, которые могут отнять время. Данная статья расскажет о подробностях установки и возможных трудностях. Каталоги, в которые ставятся элементы сервера, отличаются от дефолтных (ниже есть объяснение, почему так сделано). Если вы будете точно придерживаться этой инструкции, то у вас всё обязательно заработает и это не займёт много времени.

Кстати, установка производиться на Windows 8.1, но, на самом деле, на других версиях Windows процесс абсолютно ничем не отличается.

1. Подготовительная стадия – скачивание дистрибутивов.

Будем устанавливать самые новые версии программ, скаченные с официальных сайтов.

Начнём мы с PHP и в дальнейшем станет ясно почему. Переходим на .

30899


Нас интересуют zip-архивы. Первое, что бросается в глаза, это то, что есть 32-битная (x86) и 64-битная (x64) версии. Если у Вас 64-битная версия ОС Windows, то можете выбрать любую из этих версий. Если у вас Windows 32-битная, то можно поставить только 32-битную версию PHP.

Я выбрал 64-битную версию. Хотя она и носит статус «экспериментальная», но никаких проблем со стабильностью или с дополнительными ошибками это не вызывает.

Выбираем версию VC11 x64 Thread Safe (на самом деле, разница для локального сервера между VC11 x64 Thread Safe и VC11 x64 Non Thread Safe несущественна, но с VC11 x64 Non Thread Safe у меня возникали проблемы при настройке сервера).

Важные моменты:

Пока происходит скачивание, смотрим на левую часть страницы и читаем буквально следующее:
1) The VC11 builds require to have the Visual C++ Redistributable for Visual Studio 2012 x86 or x64 installed.
Т.е. для работы PHP (а также Apache) необходимо установить Visual C++ Redistributable for Visual Studio 2012 с официального сайта MicroSoft. Для этого нужно перейти по .

30900


Там можно поменять язык (язык влияет только на отображение сайта, а не на скачиваемые файлы) и выбрать файл 64- или 32-битный – точно такой же битности, какой вы хотите установить PHP.

30902


Я выбрал 64-битный, т.е. VSU4vcredist_x64.exe

2) И ещё читаем
Which version do I choose?
Please use the Apache builds provided by Apache Lounge. They also provide VC11 builds of Apache for x86 and x64. We use their binaries to build the Apache SAPIs.
If you are using PHP with Apache 1 or Apache2 from apache.org (not recommended) you need to use the older VC6 versions of PHP compiled with the legacy Visual Studio 6 compiler. Do NOT use VC9+ versions of PHP with the apache.org
Что означает, что современные версии PHP не будут работать с Apache с официального сайта, который скомпилирован на старом компиляторе. Единственный выход для работы новых версий PHP, это Apache с сайта Apache Lounge.

Для скачивания Apache переходим по .

30903


Опять видим 32- и 64-битные версии. Я выбрал 64-битную.

Переходим к скачиванию MySQL. .

30904


Нас интересуют следующие файлы:

Windows (x86, 64-bit), ZIP Archive
Windows (x86, 32-bit), ZIP Archive


Они различаются битностью, скачиваем подходящий для вашей ОС.

Практически обязательным элементом сервера стал phpMyAdmin, его скачиваем с .

30905


При попытке запуска, Apache пожалуется на отсутствие файла MSVCP100.dll и запускаться откажется. Этот файл является частью C++ Redistributable Package 2010, поэтому заблаговременно скачиваем его по (выбираем 32- или 64-битную версию).

Загружаемый файл будет иметь имя vcredist_x64.exe – точно такое же, как Visual C++ Redistributable for Visual Studio 2012 – тем не менее, это разные файлы.

Итог: мы имеем следующие файлы:
  • php-5.5.15-Win32-VC11-x64.zip
  • httpd-2.4.10-win64-VC11.zip
  • mysql-5.6.20-winx64.zip
  • phpMyAdmin-4.2.7.1-all-languages.zip
  • vcredist_x64.exe – 2 разных файла с одинаковым именем
Запустите и установите файлы vcredist_x64.exe – к ним мы возвращаться больше не будем.


2. Выбор структуры сервера.

Теперь всё готово, можно начинать.

Несколько слов о структуре нашего сервера.

На диске C создаём каталог Server, в нём создаём каталоги bin (сюда будем устанавливать Apache, PHP, MySQL) и data (здесь будет наш сайт и база данных).

Казалось бы, для чего это нужно? На самом деле, это упрощает бэкап. Например, папка binменяется очень редко и бэкапить её каждый день нет смысла. Напротив же, содержимое нашего сайта и баз данных может меняться ежедневно и имеет смысл бэкапить папку dataчасто. Когда мы обновляем файлы сервера, например, ставим новую версию PHP, то мы можем принудительно сделать копию bin и, в случае ошибок, без проблем откатиться на более старую версию.

Продолжим наши приготовления. В каталоге data создадим две папки:
  • DB (здесь будут храниться базы данных)
  • htdocs (здесь будут наши сайты)

3. Установка и настройка Apache.

В каталог bin распаковываем файлы Apache (из архива httpd-2.4.10-win64-VC11.zip), точнее нас интересует только папка Apache24.

После распаковки переходим в каталог c:ServerbinApache24conf и открываем файл httpd.conf любым текстовым редактором.

Меняем
#ServerName

на
ServerName localhost


меняем
ServerRoot “c:/Apache24”

на
ServerRoot “c:/Server/bin/Apache24”


меняем
DocumentRoot “c:/Apache24/htdocs”

на
DocumentRoot “c:/Server/data/htdocs/”


меняем
<Directory “c:/Apache24/htdocs”>

на
<Directory “c:/Server/data/htdocs/”>


и меняем
DirectoryIndex index.html

на
DirectoryIndex index.html index.php index.htm


Сохраняем и закрываем файл. Всё, настройка Apache завершена!

Переходим в каталог c:ServerbinApache24bin и запускаем httpd.exe

Теперь в браузере набираем и видим следующее:

30906


Это означает две вещи:

1. Apache работает

2. в каталоге c:Serverdatahtdocs нет ни одного файла.

Можете поиграться – добавить в каталог любые html-файлы – полноценный сервер работает.

Но, на самом деле, хотя Apache работает в данный момент, он ещё не установлен. Т.е. при закрытии консольного окна, служба Apache остановится. Чтобы этого не произошло необходимо провести установку.

Нам нужно открыть Командную строку в режиме администратора. Для этого:

1. Нажмите кнопку Пуск.

2. В поле поиска введите “командная строка”.

30907


3. В списке результатов щелкните правой кнопкой “Командная строка” и выберите команду “Запуск от имени администратора”. Введите пароль администратора или подтверждение пароля, если появится соответствующий запрос.

30908


В открывшееся досовское окно копируем:

Код:
c:ServerbinApache24binhttpd.exe -k install

Нажимаем [Enter]

30909


Теперь служба MySQL будет запускаться при каждом запуске Windows, но в данный момент она ещё не запущена. Чтобы это сделать, в командной строке нужно набрать
Код:
net start mysql

или просто перезагрузить компьютер.


5. Установка и настройка PHP.

В папке c:Serverbin создаём каталог PHP и копируем в него содержимое архива php-5.5.15-Win32-VC11-x64.zip

В файле c:ServerbinApache24confhttpd.conf в самый конец добавляем строчки
Код:
PHPIniDir "C:/Server/bin/PHP"
AddHandler application/x-httpd-php .php
LoadModule php5_module "C:/Server/bin/PHP/php5apache2_4.dll"


И перезапускаем Apache

В каталоге c:Serverdatahtdocs создаём файл с названием i.php

Копируем в этот файл:
PHP:
<?php
phpinfo ();
?>

В браузере откройте ссылку . Если вы видите тоже самое, что на картинке, значит PHP работает.

30910


Настройка PHP

Настройка PHP происходит в файле php.ini. В zip-архивах, предназначенных для ручной установки и для обновлений, php.ini нет (это сделано специально, чтобы случайно не затереть ваш файл, с вашими уникальными настройками). Зато есть два других, которые называются php.ini-development и php.ini-production. Любой из них, при ручной установке, можно переименовать в php.ini и настраивать дальше. На локалхосте мы будет использовать php.ini-development.

Открываем файл php.ini любым текстовым редактором, ищем строчку
; extension_dir = “ext”

и заменяем её на
extension_dir=”C:ServerbinPHPext”


т.е. мы разкоментировали строку (убрали точку с запятой в начале)

Теперь разкомментируем целую группу строк:
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_fileinfo.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_exif.dll ; Must be after mbstring as it depends on it
;extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client
;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client
;extension=php_openssl.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_pspell.dll
;extension=php_shmop.dll


т.е. должно получиться:
extension=php_bz2.dll
extension=php_curl.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_gmp.dll
extension=php_intl.dll
extension=php_imap.dll
extension=php_interbase.dll
extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_exif.dll ; Must be after mbstring as it depends on it
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client
extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client
extension=php_openssl.dll
extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pgsql.dll
extension=php_pspell.dll
extension=php_shmop.dll

проделам то же самое с ещё одной группой:
;extension=php_soap.dll
;extension=php_sockets.dll
;extension=php_sqlite3.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll


должно получиться:
extension=php_soap.dll
extension=php_sockets.dll
extension=php_sqlite3.dll
extension=php_sybase_ct.dll
extension=php_tidy.dll
extension=php_xmlrpc.dll
extension=php_xsl.dll

Этими действиями мы включили расширения. Они могут понадобиться в разных ситуациях для разных скриптов. Сохраняем файл и перезапускаем Apache.


6. Установка и настройка phpMyAdmin.

В каталог c:Serverdatahtdocs копируем содержимое архива phpMyAdmin-4.2.7.1-all-languages.zip. Переименовываем phpMyAdmin-4.2.7.1-all-languages в phpmyadmin (для лаконичности)

В каталоге c:Serverdatahtdocsphpmyadmin создаём папку config. В браузере открываем адрес .

На вкладке “Обзор” нажимаем кнопку “Новый сервер”. На вкладке “Параметры сервера” ставим галочку в одном единственном пункте “Разрешать подключения без пароля” и нажимаем “Сохранить”

30911


Происходит переход на вкладку “Обзор”, там ещё раз нажимаем «Сохранить».
30912


Теперь из каталога c:Serverdatahtdocsphpmyadminconfig файл config.inc.php перемещаем в каталог c:Serverdatahtdocsphpmyadmin

Каталог config удаляем!

В браузере набираем

В качестве имя пользователя вводим root. Поле пароля оставляем пустым.

Если всё сделано правильно, то всё должно выглядеть так:
30913



7. Использование сервера и бэкап данных.

В каталоге c:Serverdatahtdocs создавайте папки и файлы, например

c:Serverdatahtdocstestajax.php – этот файл, соответственно, будет доступен по адресу

и т.д.

Для создания полного бэкапа всех сайтов и баз данных достаточно скопировать каталог data.

Перед обновлением модулей, делайте бэкап папки bin – в случае возникновения проблем, можно будет легко откатиться к предыдущим версиям.

При повторной установке сервера или при его обновлении, необходимо заново настраивать конфигурационные файлы. Если у вас есть копии этих файлов, то процесс можно значительно ускорить. Желательно забэкапить следующие файлы:
Код:
c:ServerbinApache24confhttpd.conf
c:Serverbinmysql-5.6my.ini
c:ServerbinPHPphp.ini
c:ServerdatahtdocsphpMyAdminconfig.inc.php

В них и хранятся все настройки.


8. Дополнительная настройка PHP.

PHP в настоящее время очень мощный, гибкий, удобный инструмент. На локальном компьютере с помощью него можно решать разнообразные задачи, совсем не обязательно связанные с генерацией Web-страниц. При решении неординарных задач можно упереться в ограничения, установленные в настройках. Эти настройки содержаться в файле php.ini(c:ServerbinPHPphp.ini) Рассмотрим некоторые из них:
устанавливает максимальное количество памяти, которое может использовать скрипт
Код:
 memory_limit = 128M


устанавливает максимальное количество данных, которые будут приняты при отправке методом POST
Код:
 post_max_size = 8M


устанавливает кодировку (по умолчанию, строка закомментирована)
Код:
;default_charset = “UTF-8”


максимальный размер загружаемого на сервер файла. Изначально установлен очень маленький размер – только два мегабайта. Например, при загрузки базы данных в phpMyAdmin, не получится загрузить файл больше 2 мегабайт до тех пор, пока не будет изменён этот пункт настройки.
Код:
upload_max_filesize = 2M


максимальное количество файлов для загрузки за один раз
Код:
max_file_uploads = 20


максимальное время выполнения одного скрипта
Код:
max_execution_time = 30


Менять эти настройки совершенно необязательно, но полезно о них знать.


9. Дополнительная настройка phpMyAdmin.

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

«Дополнительные возможности phpMyAdmin не настроены в полной мере, некоторые функции были отключены».

Новыми возможностями являются:
  • показ связей между (связанными) таблицами;
  • добавление информации о таблицах (начиная с версии 2.3.0 вы можете описывать в специальной таблице ‘table_info’ какая колонка будет показана во всплывающей подсказке при движении курсором над связанным ключом);
  • создание PDF-схемы (начиная с версии 2.3.0 вы можете в phpMyAdmin создавать PDF страницы, показывающие связи между вашими таблицами);
  • отображать комментарии столбцов (начиная с версии 2.3.0 вы можете делать комментарий с описанием каждого столбца для каждой таблицы. И они будут видны в «предварительном просмотре для печати». Начиная с версии 2.5.0, комментарии используются на собственных страницах таблиц и в режиме просмотра, показываясь как всплывающие подсказки над колонками (таблицы свойств) или встроены в заголовок таблицы в режиме просмотра. Они также могут быть показаны в дампе таблицы);
  • создавать закладки (начиная с версии 2.2.0, phpMyAdmin позволяет пользователям делать закладки на запросы. Это может быть полезно для часто используемых запросов);
  • история SQL-запросов (начиная с версии 2.5.0 вы можете сохранять вашу историю всех SQL запросов, которые были сделаны через интерфейс phpMyAdmin);
  • дизайнер (начиная с версии 2.10.0, доступен инструмент Дизайнер; он позволяет визуально управлять связями между таблицами);
  • информация о недавно использованных таблицах;
  • настройка интерфейса часто используемых таблиц;
  • слежение (начиная с версии 3.3.x доступен механизм слежения. Он помогает вам проследить каждую SQL команду, которая была выполнена phpMyAdmin’ом. Поддерживается запись работы с данными и запись команд. После включения, вы сможете делать версии таблиц);
  • пользовательские настройки (начиная с версии 3.4.x, phpMyAdmin позволяет пользователям задавать большинство настроек и сохранять их в базе данных);
  • настраиваемые меню (начиная с версии 4.1.0 вы можете создавать группы пользователей, которым будут доступны только назначенные пункты меню. Пользователь может быть определён в группу и будет видеть только пункты меню, доступные для его группы);
  • спрятать/показать пункты навигации (начиная с версии 4.1.0 вы можете спрятать/показать пункты в навигационном дереве).
Сейчас мы настроим эти дополнительные возможности в полной мере. Откройте phpMyAdmin и нажмите кнопку «Импорт». На открывшейся вкладке нажмите кнопку «Выберите файл».

30914


В открывшееся окно браузера скопируйте строчку:
Код:
c:ServerdatahtdocsphpMyAdminexamplescreate_tables.sql

(т.е. мы выбрали файл create_tables.sql, находящийся в каталоге c:ServerdatahtdocsphpMyAdminexamples)

На страничке phpMyAdmin нажмите «ОК».

После успешного завершения импорта должна появиться новая база данных с названием phpmyadmin.

Перейдите на вкладку «Пользователи».

30915


Нажмите «Добавить пользователя». В поле «Имя пользователя:» впишите pma

Вставьте какой-нибудь пароль, я использую простой пароль – цифра 1 (это локалхост!). В привилегиях менять ничего не надо, нажмите «ОК». Мы автоматически переходим на страничку со списком пользователей, где уже есть pma

Нажмите на «Редактирование привилегий» для данного пользователя. Найдите «Привилегии уровня базы данных». И в пункте «Добавить привилегии на следующую базу данных:» выберите базу данных с именем «phpmyadmin». На новой страничке во вкладке «Привилегии уровня базы данных» нажмите «Отметить все» и нажмите «ОК».

30916


Открываем любым текстовым редактором файл config.inc.php (в директории c:ServerdatahtdocsphpMyAdmin) и добавьте туда следующие строчки.

Замечания:
  • в первой строчке пароль замените на свой, который вы вводили, когда создавали пользователя
  • строки можно вставлять в любое место в файле, главное, чтобы после $i++; и до символов ?>

PHP:
$cfg[‘Servers’][$i][‘controlpass’] = ‘1‘;
/* Storage database and tables */
$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][‘table_uiprefs’] = ‘pma__table_uiprefs’;
$cfg[‘Servers’][$i][‘tracking’] = ‘pma__tracking’;
$cfg[‘Servers’][$i][‘designer_coords’] = ‘pma__designer_coords’;
$cfg[‘Servers’][$i][‘userconfig’] = ‘pma__userconfig’;
$cfg[‘Servers’][$i][‘recent’] = ‘pma__recent’;
$cfg[‘Servers’][$i][‘users’] = ‘pma__users’;
$cfg[‘Servers’][$i][‘usergroups’] = ‘pma__usergroups’;
$cfg[‘Servers’][$i][‘navigationhiding’] = ‘pma__navigationhiding’;
$cfg[‘Servers’][$i][‘savedsearches’] = ‘pma__savedsearches’;

Сохраняете файл. Выходите из phpMyAdmin – именно нажимаете кнопку «Выход» и логинитесь заново, а не просто открываете-закрываете страничку.

Несколько скриншотов новых функций:

1) Дизайнер

30917


2) Слежение

30918


30919


Следующим шагом, после настройки и тестирования сайта на локалхосте, является выбор качественного и дешёвого интернет хостинга. Я перебрал довольно много решений и нашёл очень хороший вариант — 100 рублей в месяц! За эти деньги даётся профессиональный хостинг, с отличным аптаймом, с бесплатным доменом второго уровня в подарок (!), с 2 гигабайтами места на SSD диске, с неограниченным количеством баз данных, с возможностью подключать неограниченное количество новых доменов (платить придётся только за каждый новый домен — 139 рублей). Вообще, всего хорошего так много, что проще всего посмотреть это .

Кстати, а ведь как здорово иметь собственное доменное имя! Хотя бы для того, чтобы сделать для себя красивый почтовый ящик, вместо чего-нибудь вроде vovan_pupkin_murom1995@mail.ru. Вот можно найти свой собственный домен. Например, я получил бесплатно домен codeby.net, я могу делать почтовые ящики: admin@codeby.net, alex@codeby.net, al@codeby.net и так далее — количество ящиков ничем не ограничено!

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

ALEXEY
20.08.2014 в 05:12
Теперь доступна инструкция "Установка и настройка сервера Apache, PHP, MySQL, phpMyAdmin на Windows 10". Она заменяет инструкцию, размещённую на этой странице. Инструкцию на этой странице следует считать устаревшей и больше неподдерживаемой (т.е. я больше не буду отвечать на вопросы, возникшие при использовании устаревшего мануала. Пожалуйста, пользуйтесь новым материалом, даже если у вас не Windows 10 (на все версии Windows веб-сервер устанавливается одинаково).

Самые частые ошибки и вопросы при настройке и установке Apache, PHP, MySQL, phpMyAdmin – крайне рекомендуется к прочтение перед тем, как задать вопрос о своей проблеме.

Если у кого-то так и не получилось, посмотрите здесь: MiAl's Server Pack (полностью настроенный и рабочий сервер Apache + MySQL + PHP + phpMyAdmin – WAMP) (v. 0.3.2)

А также рекомендуется к прочтению статья "Как установить ModSecurity (mod_security) на Apache".

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

ALEXEY
02.09.2014 в 07:10
Я уже не раз устанавливал сервер по вашей статье, но сейчас, ни с того, ни с сего, начались проблемы. А именно, при попытке зайти в phpMyAdmin появляется ошибка: «На этой странице обнаружена циклическая переадресация»; и адрес выглядит так: . Иногда, после перезагрузки компьютера, проблема временно исчезает, но потом появляется вновь. Простой перезапуск сервера не помогает.



Подскажите, пожалуйста, в чем причина и, как с этим бороться?

Чтобы разобраться в ситуации, мне нужны ответы на следующие уточняющие вопросы-рекомендации:

1) есть ли в корневой директории (C:Serverdatahtdocs) или в каталоге phpMyAdmin файл .htacess? Если есть, то, скорее всего, проблема в том, что Вы туда записали.

2) Вносились ли изменения в исходный код phpMyAdmin? Пробовали ли Вы устанавливать новую "чистую" версию с сайта?

3) Попробуйте открывать phpMyAdmin в других браузерах, попробуйте почистить кукиз и кеш браузера.

4) Посмотрите файл C:WindowsSystem32Driversetchosts , даже если Вы этот файл не трогали, вирусы могли внести в него изменение.

5) Самый главный вопрос – это (циклическая переадресация) присутствует только при открытии phpMyAdmin? Другие страницы на Вашем сервере открываются нормально?

6) Попробуйте переименовать каталог pma (дайте ему любое другое название, чтобы там не встречалась эта последовательность "pma", например, сделайте имя "phpMyAdmin" или первоначальное "phpMyAdmin-4.2.8-all-languages".

7) На самом деле, проблема может быть вызвана даже несовместимостью со сторонними программами, которые, казалось бы, никакого отношения к серверу не имеют (например, настольная версия яндекс.кошелька активно обращалась к адресу 127.0.0.1) – попробуйте вспомнить, какие новые программы устанавливали в то самое время, когда началась эта проблема.

ВЛАДИМИР
05.09.2014 в 17:04
1) Этот файл есть только в корневой директории (C:Serverdatahtdocs) и он принадлежит установленной CMS. Его содержимое не влияет на ситуацию, потому что, даже при полностью пустой директории (остается только папка pma), возникает, описанная мной проблема.
В папке с phpMyAdmin такого файла нет и, насколько я знаю, по умолчанию не должно быть.

2) Изменения в исходный код не вносились. Был только создан файл config.inc.php, согласно вашей инструкции.

3) Куки чистил. Открывал в разных браузерах. Проблема остается.

4) В файле hosts все нормально:
127.0.0.1 localhost
::1 localhost
127.0.0.1 rad.msn.com # Это строчка убирает рекламу в Skype. Ее отсутствие не решает проблему.

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

6) При переименовании проблема остается.

7) Устанавливался WebMoney Keeper Classic 3.9.9.1, его удаление не помогает. Также, был установлен клиент Bitcoin, удаление которого, тоже не помогает.

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

ALEXEY
05.09.2014 в 17:29
Владимир, я бы заострил внимание на файле .htacess, который находится в корневой директории. У меня возникали ситуации, что действие этого файла не прекращалось, если его просто убрать из каталога (однотипные запросы кешировал то ли браузер, то ли сервер). Т.е. попробуйте его убрать и перезагрузите компьютер.

ВЛАДИМИР
05.09.2014 в 17:53
Да, действительно, после удаления файла .htaccess и перезагрузки компьютера все заработало. Но этот файл нужен для работы CMS.
Вот его содержимое: .
Посмотрите, что может быть не так?

ALEXEY
05.09.2014 в 18:19
Владимир, регулярные выражения – это моё слабое место, но попробую.
Всё дело вот в этих строчках
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_URI} (.*)
RewriteRule (.+)[^/] %1/ [R=301,L]
Эти строки ко всем запросам каталогов добавляются слеши. В комментарии к этим строкам сказано, что они борются с неким багом mod_rewrite's trailing slash. Я погуглил, но ничего внятного про этот баг не нашёл, кроме того, что ему 10 лет. У меня есть подозрения, что этот баг давно пофиксили и можно попробовать закомментировать эти строки.

ВЛАДИМИР
05.09.2014 в 18:30
Без этих строчек, при переходе по ссылке: localhost/pma/, происходит переход на страницу 404, самой CMS.

Попробую написать автору CMS.

ВЛАДИМИР
14.09.2014 в 13:08
Короче, если кому будет интересно. Блоговый движок Эгея ( ) не воспринимает в корневой директории посторонние папки. На реальном хостинге PMA обычно находится в другой директории, поэтому все работает.

NIK
13.09.2014 в 20:20
Добавляю

вместо панели управления вижу код:
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Front controller for setup script
*
* @package PhpMyAdmin-Setup
* @license GNU GPL 2.0
*/

/**
* Core libraries.
*/
require './lib/common.inc.php';

$page = filter_input(INPUT_GET, 'page');
$page = preg_replace('/[^a-z]/', '', $page);
if ($page === '') {
$page = 'index';
}
if (!file_exists("./setup/frames/$page.inc.php")) {
// it will happen only when entering URL by hand, we don't care for these cases
PMA_fatalError(__('Wrong GET file attribute value'));
}
и т.д.

ALEXEY
13.09.2014 в 20:30
Без вопроса пост воспринимается как претензия ))
Сервер Apache работает без PHP

NIK
13.09.2014 в 20:34
Виноват. Перезапустил и обновил браузер все получилось

NIK
13.09.2014 в 20:35
Еще пишет:
Используемый скриптом настройки каталог config все ещё находится в установочной директории phpMyAdmin. Обязательно удалите его сразу после настройки phpMyAdmin. В ином случае безопасность вашего сервера может быть скомпрометирована через свободный доступ к загрузке конфигурационного файла.

В чем дело?

ALEXEY
13.09.2014 в 20:39
«Каталог config удаляем!» — это из статьи, там красным выделено.
Посмотрите повнимательнее Установка Apache, PHP, MySQL, phpMyAdmin

ВЛАДИМИР
19.09.2014 в 17:28
У меня вопрос. Можно ли установить PMA в какую-нибудь другую директорию? И если да, то как?

ALEXEY
19.09.2014 в 17:46
Может быть мой вопрос глупый, но цель именно в том, чтобы CMS была в корневой директории? Ведь в каталоге C:Serverdatahtdocs можно наделать уйму папок (например CMS, PMA) и все они будут доступны по адресам:



и т.д.



И ещё один уточняющий вопрос – Вы это делаете на локалхосте? На хостингах, как правило, настроены автоматические поддомены и можно создать, например, папки PMA, CMS и они будут доступны по адресам, например:



Кстати, так можно сделать и на локалхосте.

ВЛАДИМИР
19.09.2014 в 17:52
На хостингах, как правило, настроены автоматические поддомены и можно создать, например, папки PMA, CMS и они будут доступны по адресам, например:



Кстати, так можно сделать и на локалхосте.

Прекрасно. Это было бы даже лучше, потому что иногда в разработке несколько разных проектов. Тогда вопрос, как сделать поддомены?

ALEXEY
19.09.2014 в 19:19
Владимир, нужно настраивать виртуальные хосты, вот одна из немногих вменяемых инструкций (или поищите в гугле по фразе "настройка виртуальных хостов в apache"). Честно сказать, я сам с этим никогда не заморачивался – на локалхосте всё лежит по папкам и меня прекрасно устраивает доступ вида



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

ALEXEY
19.09.2014 в 19:27
Ещё вот здесь инструкция, после который человек радуется, что у него "всё сразу получилось" )))



И моя собственная инструкция, основанная на моём опыте: Настройка поддоменов на локальном сервере (locahost’е) и на хостинге.

ВЛАДИМИР
19.09.2014 в 20:27
Спасибо большое! Действительно, все просто. Пока работает.

MIKE
09.10.2014 в 20:40
Привет. Я устанавливал себе mysql по вашей статье и возникла ошибка 1067. Что мне делать?

ALEXEY
09.10.2014 в 20:49
MIKE, всё очень просто. Внимательней читайте инструкцию! Любые ошибки возникают только если хоть в чём-то отойти от мануала. Вы пропустили это:

В каталоге c:Serverbinmysql-5.6 есть директория data, всю эту папку нужно переместить в каталог c:ServerdataDB (иначе служба MySQL не запустится из-за ошибки).

MIKE
10.10.2014 в 16:36
Большое спасибо)

ВАЛЕНТИН
03.03.2015 в 23:11
ALEXEY, у меня как раз наоборот было. Перенес сюда c:/Server/data/DB/data/ папку data, перезагружался дважды и все равно ошибка 1067. Как только перенес обратно в mysql, все заработало!

Но возникла другая проблема: при установке myphpadmin перехожу на , и выпадает известная Fatal error: Call to undefined function mb_detect_encoding() in C:Serverdatahtdocsphpmyadminlibrariesphp-gettextgettext.inc on line 177

При этом в php.ini в строке extension=php_mbstring.dll ТОЧКА С ЗАПЯТОЙ УБРАНА! На весь интернет не нашел ни одного решения, может быть вы подскажете, в чем дело? Апач и php по инструкции ставил, в SQL был вынужден не перемещать data, и всё у меня работает. Сомневаюсь, что ошибка из-за этого

ALEXEY
04.03.2015 в 05:33
Валентин, значит либо не внесены изменения в конфигурационный файл MySQL, либо этот файл не "подхватывается" по другим причинам и MySQL использует значения по умолчанию.

ВАЛЕНТИН
04.03.2015 в 20:20
Тогда логично спросить, по каким причинам файл может "не подхватываться"?

и какие поправки внести в конфигурационный файл? на что обратить внимание?

АРТЁМ
26.10.2014 в 15:43
Спасибо за статью все понятно. Хочу добавить, что для того чтобы заработала поддержка cURL пришлость добавить в переменную PATH: C:ServerbinPHP

ALEXEY
26.10.2014 в 15:55
АРТЁМ, спасибо Вам за дополнение. И за благодарность – мне очень приятно. Ведь большинство читателей, даже если у них всё получилось, не находят минутки написать об этом.

ЕВГЕНИЙ
31.10.2014 в 02:01
Доброго времени суток!
Столкнулся с проблемой при установке phpMyAdmin.
При переходе на страницу
Выползает даннаяошибка, кроме нее ничего нету:
Fatal error: Call to undefined function __() in C:Serverdatahtdocsphpmyadminlibrariescore.lib.php on line 229

Если есть возможность, объясните как это поправить и из-за чего это происходит

ALEXEY
31.10.2014 в 06:10
ЕВГЕНИЙ, судя по всему проблема именно в phpMyAdmin. Последний чейндж лог:



– bug ReferenceError: Table_onover is not defined
– bug #4552 Incorrect routines display for database due to case insensitive checks
– bug #4259 reCaptcha sound session expired problem
+- bug #4557 PHP fatal error, undefined function __()

4.2.10.1 (2014-10-21)
– bug #4562 [security] XSS in debug SQL output


Здесь описание бага:

А здесь чейндж лог, из которого я скопировал bug #4557 PHP fatal error, undefined function __() · phpmyadmin/phpmyadmin@e28912d

Попробуйте обновиться до последней версии phpMyAdmin 4.2.10.1.

Ну а если у Вас и так уже самая свежая версия, или переход на 4.2.10.1 не помог, то наоборот, скачайте предыдущую 4.2.9

ЕВГЕНИЙ
31.10.2014 в 12:00
Алексей,я поставил phpMyAdmin 4.2.9, но у него теперь другая ошибка:
Fatal error: Call to undefined function mb_detect_encoding() in C:Serverdatahtdocsphpmyadminlibrariesphp-gettextgettext.inc on line 177

ALEXEY
31.10.2014 в 12:07
Я как раз сегодня написал "Самые частые ошибки и вопросы при настройке и установке Apache, PHP, MySQL, phpMyAdmin".

Ваша ошибка там идёт самой первой.

ЕВГЕНИЙ
31.10.2014 в 12:12
Хах, вот до этого я недогнал, нужно было просто перезапустить сервер)

Спасибо)
Буду пилить дальше)

ALEXEY
31.10.2014 в 12:14
Я очень рад, что всё разрешилось. ))

Удачи Вам в этом интересном занятии – установке локального сервера.

Заходите почаще на WebWare.biz здесь каждый день появляется много интересного – в том числе и для "прокачики" локалхоста.

ЕВГЕНИЙ
31.10.2014 в 12:14
Ксати да, версия 4.2.10.1 так же запустилась

ЕВГЕНИЙ
31.10.2014 в 12:09
Такой вопрос, а могут ли dll файлы быть битыми?



АНДРЕЙ
31.10.2014 в 16:25
Спасибище! Несколько дней искал адекватный гайд по установке. Везде все было ужасно. По вашему гайду все встало идеально и с первого раза. Еще раз огромное спасибо! Все написано лаконично и подробно!

ALEXEY
31.10.2014 в 16:43
Спасибо за добрые слова – мне очень приятно.

ALEXEY
01.11.2014 в 11:53
Друзья, в нашем с вами распоряжении теперь целый форум – FreeForum.biz! А на этом форуме есть наша ветка по установке и настройке сервера:

Ваши вопросы по работе сервера оставляйте, пожалуйста, именно там.

До встречи на новом форуме!



АЛЕКСАНДР
16.11.2014 в 20:24
Здравствуйте.

Дошел я до момента, когда необходимо создать файл i.php и вызвать его.

Вот только файл вызывается, но php скрипт не обрабатывается.

Например, при

<? php phpinfo ();?> -> чистая страница,

а если:

Какой-то текст

<? php phpinfo ();?> ,

то на странице так и отображается:

Какой-то текст

<? php phpinfo ();?>

т.е. php не выполняется.

Все делал по инструкции.

В чем может быть проблема? Буду рад помощи 🙂



ALEXEY
17.11.2014 в 14:07
АЛЕКСАНДР, сервер Apache работает без PHP, это ошибка номер два из Списка самых частых ошибок.

Такого результата можно добиться, например, если в файл httpd.conf забыть добавить строчки:



PHPIniDir "C:/Server/bin/PHP"
AddHandler application/x-httpd-php .php
LoadModule php5_module "C:/Server/bin/PHP/php5apache2_4.dll"


Т.е. вернитесь к шагу Установка Apache, PHP, MySQL, phpMyAdmin и проделайте всё ещё раз внимательней.

АЛЕКСАНДР
18.11.2014 в 10:05
Alexey, я все делаю по инструкции:

В папке c:Serverbin создал каталог PHP и скопировал в него содержимое архива php-5.6.3-Win32-VC11-x64.zip (в инструкции php-5.5.15-Win32-VC11-x64.zip (не смог найти), но я пробовал и php-5.5.19-Win32-VC11-x64.zip).

В файле c:ServerbinApache24confhttpd.conf в самый конец добавил 3 строки.

В каталоге c:Serverdatahtdocs создал файл i.php (содержимое: <?php phpinfo ();?>


Но когда перехожу на страницу -> она чистрая.

Делал все это несколько раз.

Результат один: php не работает 🙁

Какие могут быть этому причины?

P.S. спасибо за помощь

ALEXEY
18.11.2014 в 10:37
АЛЕКСАНДР, Вы всё верно делаете, когда выбираете самые последние версии PHP.
У Вас Apache тоже 64-битный? Apache и PHP должны быть одной битности. После внесения изменений, не забывайте сохранить конфигурационный файл httpd.conf, а сервер обязательно перезапускайте.

В инструкции это есть, но на всякий случай скопирую сюда ещё раз с оф. сайта:

The VC11 builds require to have the Visual C++ Redistributable for Visual Studio 2012 x86 or x64 installed.

Т.е. у Вас должен быть установлен распространяемый Visual C++ для Visual Studio 2012 x86 или x64

Если всё-всё это сделано, то пишите сюда опять – будем разбираться дальше.

СЕРГЕЙ
03.12.2014 в 22:50
Подскажите как быть с этим? mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:Server

ALEXEY
05.12.2014 в 05:16
СЕРГЕЙ, это не ошибка сервера. Это предупреждение со стороны PHP. Во-первых, это означает, что и сервер и PHP работают нормально, и версия PHP у Вас свежая.

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

Чтобы убрать это предупреждение нужно: а) обновить ваши скрипты до последней версии; б) если Вы сами написали этот скрипт, то прочитайте документацию по PDO и перепешите скрипты в той части, где они обращаются к базам данных без использования устаревших функций.

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

АДАМ
06.12.2014 в 12:06
Когда вставляю "c:Serverbinmysql-5.6binmysqld" –install в командную строку, пишет: системе не удается найти данный путь.

АДАМ
06.12.2014 в 12:19
Извиняюсь, нашел решение. Собственная невнимательность(

АДАМ
06.12.2014 в 13:10
А вообще спасибо за инструкцию! Единственное, что помогло создать локальный сервер. Наверн потому,что у меня Win 8.1, а в инете находил всё на др. версиях Win.

ALEXEY
06.12.2014 в 14:05
На всех версиях Windows последовательность действий абсолютно одинаковая. Всё дело в инструкциях.

ВЛАДИМИР
20.12.2014 в 23:46
Здравствуйте.

У меня при установке phpMyAdmin возникла проблема:

Что это и, как с этим бороться?

P.S. Делал все по инструкции.

ВЛАДИМИР
21.12.2014 в 00:06

ALEXEY
21.12.2014 в 06:04
Владимир, у Вас версия phpMyAdmin 4.3.2? Если так, то это ошика исключительно данной версии. Пруф

И Капитан Очевидность предлагает следующие решения:

1) пользоваться phpMyAdmin из ветки 4.2,

2) подождать пока починят.

ВЛАДИМИР
21.12.2014 в 06:51
Спасибо. Понятно.

Непонятно только, как они могли пустить в релиз версию, которую даже установить нереально?

Или реально? Может есть какие-то обходные пути?

ALEXEY
21.12.2014 в 07:02
Владимир, функцией по настройке phpMyAdmin через графический интерфейс пользуются, пожалуй, один раз в жизни. После этого просто сохраняют файл config.inc.php и, при обновлении версий, просто заменяют папку phpMyAdmin на новую и добавляют туда сохранённый файл config.inc.php – очень быстро, занимает, примерно, секунду.

Именно поэтому такая ошибка и проскочила, и, обратите внимание, тикет уже пять дней висит без ответа – никому не интересно, и вообще мало кто сталкивася с этой проблемой.

Начать пользоваться phpMyAdmin 4.3.2 очень легко:

1) распакуйте содержимое архив с phpMyAdmin;

2) добавьте туда файл с настройками config.inc.php. Если Вы не сохранили свой файл, то вот держите мой.

ВЛАДИМИР
21.12.2014 в 07:09
Спасибо. Сейчас попробую.

ВЛАДИМИР
21.12.2014 в 07:30
Спасибо. Работает.

Подскажите. А, как я все таки могу поставить пароль на root?

Прописал его здесь:

<code>$cfg['Servers'][$i]['password'] = '12345';</code>

Запретил вход без пароля:

<code>$cfg['Servers'][$i]['AllowNoPassword'] = false;</code>

Ввожу логин и пароль, но вылезает ошибка: «Невозможно подключиться к серверу MySQL».

ALEXEY
21.12.2014 в 07:55
Владимир, Вы имеете ввиду пароль для MySQL? Или Вы имеете ввиду, чтобы пользователь root в MySQL был без пароля, а для входа в phpMyAdmin нужен был пароль?

Мне кажется, Вы неправильно понимаете смысл этой конфигурационной строки:

$cfg['Servers'][$i]['password']

Пара user/password, которую phpMyAdmin использует для соединения с MySQL-сервером. Эта пара user/password не нужна, если используется HTTP или cookie-аутентификация – в этом случае она должна быть пустой
Т.е. в этой строке:

$cfg['Servers'][$i]['password'] = '12345';

пароль для MySQL, а не для phpMyAdmin. И, как следует из документации, всё-равно туда писать ничего не нужно.

Если задача в том, чтобы вход в PMA без пароля был невозможен, то нужно:

1) задать пароль для пользователя root в MySQL.

2) перейти к настройке PMA, т.к. мой конфигурационный файл не подойдёт. Для настройки Вы можете скачать предыдущую версию PMA, сохранить файл с настройками и уже установить последнюю версию PMA для работы.

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

ВЛАДИМИР
21.12.2014 в 08:41
Да, мне нужно, чтобы вход в PMA без пароля был невозможен.

Поэтому вопрос. Как задать пароль для пользователя root в MySQL? Остальное вроде пока понятно.

ВЛАДИМИР
21.12.2014 в 09:06
Отбой. Вроде все получилось.

Уведомление: Самые частые ошибки и вопросы при настройке и установке Apache, PHP, MySQL, phpMyAdmin | WebWare.biz
TOOUUR
30.01.2015 в 00:07
Добрый вечер,

а куда копать, если после установки и настройки апачи локалхост не работает вообще? вместо этого автоматически скачивается файл "download"

ЕКАТЕРИНА
30.01.2015 в 17:30
Огромное Вам спасибо! Если бы сама искала, почему не настраивается или не устанавливается, то сутки бы потратила, а так все быстро получилось установить и настроить.

ALEXEY
30.01.2015 в 20:59
Екатерина, спасибо на добром слове – мне каждый раз очень приятно.

РУСЛАН
17.02.2015 в 15:02
Добрый день, Алексей.

Когда устанавливал всё по инструкции, при входе в phpmyadmin, вставил в поле "пользователь" – root, а "пароль" оставил пустым. Но, когда нажимаю на "далее" (или что там было, забыл), пишет, что не доступен PHP, вроде так.

Удалил всё, пытался установить всё заново, теперь, при:

c:ServerbinApache24binhttpd.exe -k install

в командной строке, пишет, что он уже установлен.

Ладно, не обратил на это внимание, затем, когда запускаю ApacheMonitor и нажимаю на "Start" сервера "Apache 2.4", он мне выдает, мол:

The requet operation has failed!

Что не так? Версии всего необходимого у меня другие:

php-5.6.5-Win32-VC11-x86.zip

httpd-2.4.12-win32-VC11.zip

mysql-5.6.23-win32.zip

phpMyAdmin-4.3.8-all-languages.zip

если это имеет значения. Помогите, пожалуйста.

ALEXEY
17.02.2015 в 16:23
Руслан, здравствуйте! Ошибка в конфигурационном файле Apache (httpd.conf).

Если Вы устанавливали в те папки, как сказано в инструкции, значит что-то пропустили при настройке httpd.conf. Вы правильно делаете, что выбираете самые последние версии, главное, чтобы они все были одной битности. Например, у Вас все программы 32-битные, т.е. всё нормально.

Попробуйте делать поэтапно, с проверками после каждого шага. Например, установили Apache. Не нужно сразу ставить PHP. Проверьте, запускается ли сервер и открывается ли . Если всё впорядке, то продолжайте. Если нужно, я могу выложить здесь все конфигурационные файлы.

РУСЛАН
17.02.2015 в 18:38
Спасибо, но, ещё вопрос.

Если я ставлю всё не на диск "C", а на "D", и в конфигурационных файлах везде, вместо "С", ставлю "D" – это не влияет на работоспособность?



ALEXEY
17.02.2015 в 18:52
Теоретически – нет. Apache и остальным компанентам всё-равно где быть установленными: любой диск, любые каталоги. Для запуска Apache есть только одно условие – правильно настроенный httpd.conf.

А на практике – Вы сами видите. Причём ошибка именно в тех директивах, о которых говорится в этой инструкции.

РУСЛАН
17.02.2015 в 19:03
Я вроде везде правильно заменяю строки в httpd.conf, но всё равно, выходи ошибка:

The requet operation has failed!

при "Start" в "ApacheMonitor".

Можете, пожалуйста, скинуть свои конфигурации httpd.conf.

РУСЛАН
17.02.2015 в 19:06
Можно ли удалить всё, что устанавливал. Ну, имею ввиду, удалить даже то, что устанавливал командой:

c:ServerbinApache24binhttpd.exe -k install

(Ставил httpd.exe на авто-запуск).

ALEXEY
17.02.2015 в 19:10
Все конфигурационные файлы.

Для удаления:

c:ServerbinApache24binhttpd.exe -k uninstall

РУСЛАН
17.02.2015 в 20:31
С этим разобрался. Делаю всё по инструкции, но, как описывал кто-то выше, при входе в phpmyadmin вписал логин "root", пароль оставил пустым, нажимаю на "Вперёд" – выдает:

Невозможно подключиться к серверу MySQL

Уже не раз переустанавливал всё.

А, кстати, при установке MySQL в командной строке, когда вводил:

"D:WebServerbinmysql-5.6binmysqld" –install

Выдал, что он уже установлен, после чего прописал:

net start mysql

На что он мне выдал:

Системная ошибка 2.

Не удается найти указанный файл.

– – –

Решил попробовать удалить MySQL путем:

"D:WebServerbinmysql-5.6binmysqld" –uninstall

На что он снова мне выдал, что он уже установлен…

В чем дело? Замучился уже…

ALEXEY
17.02.2015 в 20:37
Удаляется MySQL так:

c:Serverbinmysql-5.6binmysqld –remove

Вы говорили, что только меняли диск – но ведь у Вас и ещё и в каталог Web поставлено.

Ошибка в конфигурации, в указании путей. Эта инструкция не подразумевает, что пользователь будет что-то менять. Думаю, Вам лучше попробовать установить по какой-нибудь другой инструкции – более универсальной. Благо их сейчас множество.

РУСЛАН
17.02.2015 в 20:44
Ура, спасибо!

Удаление и установка MySQL заново решила данную проблему.

ТИМУР
01.03.2015 в 18:09
Здравствуйте, я установил сервер по вашей инструкции, но у меня возникла проблема.

Когда-то у меня стоял сервер Appserv, его характеристики таковы:
AppServ 2.5.10
Apache 2.2.8
PHP 5.2.6
MySQL 5.0.51b
phpMyAdmin-2.10.3
Тогда я экспортировал базу с phpmyadmin, и сейчас, когда установил более новые версии, при импорте выдает ошибку:

SQL запрос:
T SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

Ответ MySQL:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'T SQL_MODE="NO_AUTO_VALUE_ON_ZERO"' at line 1

Сейчас версия mysql 5-я, phpmyadmin 4-я.

ALEXEY
01.03.2015 в 18:18
Что-то похожее бывало и у меня, но деталей не припомню. Попробуйте так:

1) сделайте резервную копию Вашей базы данных;

2) откройте резервный файл любым текстовым редактором (там обычный текстовый файл в виде MySQL-запросов. Конечно, если он не в архиве. Если в архиве, то предварительно распакуйте. После окончания процедуры запаковывать снова необязательно);

3) Удалите самую первую строчку. Сохраните и закройте файл.

4) Попробуйте импортировать.

Всё должно получиться. Если опять напишет об ошибке в первой строке, то удалите ещё одну первую строку. Если импортирует успешно, но напишет об ошибках в последних строках, то не обращайте внимания. Ни в этих первых, ни в последних строках никакой значимой информации нет.

ТИМУР
02.03.2015 в 19:50
Сделал, как вы и сказали. Удалил первую строку: SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; Далее импортировал, после чего он мне выдает, мол ошибка с: CREATE TABLE IF NOT EXISTS `admins` ( И его удалил, но снова ошибка, выдает строку за строкой… Вот всё, что находится в бд.





ALEXEY
02.03.2015 в 20:10
Я убрал отсюда содержимое базы, файл, который я сделал из Ваших данных и который успешно смог импортировать в базу данных я отправил Вам на почту.

ТИМУР
03.03.2015 в 13:10
База импортировалась успешно, спасибо вам большое!

У меня ещё один вопрос.

Как можно проверить битность phpmyadmin? Я скачал, вроде бы, последнюю верию с , но всё равно возникают некие проблемы. Когда регистрирую нового пользователя как рут администратора, или же обычного пользователя, данные не заносятся в базу…

ALEXEY
03.03.2015 в 13:43
phpMyAdmin – это просто PHP-скрипт (точнее, множество PHP-скриптов). Как и у любого PHP-скрипта, к phpMyAdmin не применимо такое понятие как "битность". Проще говоря, у Вас точно сказалась правильная версия, поскольку других не бывает.

Про пользователей в базе данных я не понял. Посмотреть список пользователей в phpMyAdmin можно во вкладке "Пользователи" (нужно перейти на главную страницу и там будет видна эта вкладка). Чтобы настроить права разных пользователей нужно на них кликнуть – там дальше всё довольно понятно.

Физически, конечно, данные о пользователях хранятся в базе данных. Я подозреваю, что Вы смотрите не там. Нужно смотреть БД под названием mysql, а в ней есть две таблицы user (здесь пользователи с полными привилегиями) и таблица db (здесь пользователи с ограниченными привилегиями).

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

ТИМУР
03.03.2015 в 14:17
При установке скрипта сайта, которую я устанавливаю, есть пункт, где нужно указать имя рут администратора. Я ввел имя, пароль и е-майл, и после установки пытаюсь залогиниться на сайте, на что он мне пишет, что пользователь с данным именем не найден. Вот и задумываюсь, из-за чего он криво установился и не записывает ничего в базу…

Когда у меня стояла Вин хп х86, я поставил себе аппсерв 2.5.10. Он работал отлично, не было никаких проблем. Недавно перешел на Вин 7 х86 и поставил новые версии апаче, пхп, мускул и пхпмайадмин, после чего начался весь этот бред.

ALEXEY
03.03.2015 в 17:19
Эта проблема для специализированного форума по игре – ни сервер, ни ОС здесь не при чём.

Самые распространённые ошибки, из-за которых не работают готовые скрипты:

неверно прописаны имя и (или) пароль и (или) хост пользователя для подключения базы данных
вышеуказанные имя/пароль/хост вообще не прописаны
неверно указано название базы данных
Почти всегда что-то из первых трёх пунктов. Если "раньше работало, а теперь не работает", значит сейчас при установки сервера, например, задали новый пароль рута для подключения к БД, или импортировали в БД с другим названием и т.д.

"Экзотическими" причинами неработы скриптов могут быть отсутствие необходимого модуля PHP, не подходящая версия PHP и т.д.

ТИМУР
06.03.2015 в 15:45
Ещё кое что хотел спросить.

– Влияет ли то, что нет пароля root в phpmyadmin на данную проблему?

– Влияет ли расположение сервера на другом диске, кроме диска С, на проблему?

Проблема остается, все же… Сотни раз переустанавливал всё, и решил залезть в логи.

Вот что было в логах Apache (Error):

[Fri Mar 06 00:00:32.986032 2015] [mpm_winnt:notice] [pid 1784:tid 368] AH00455: Apache/2.4.12 (Win32) PHP/5.6.5 configured — resuming normal operations
[Fri Mar 06 00:00:32.986032 2015] [mpm_winnt:notice] [pid 1784:tid 368] AH00456: Apache Lounge VC11 Server built: Jan 28 2015 16:48:40
[Fri Mar 06 00:00:32.986032 2015] [core:notice] [pid 1784:tid 368] AH00094: Command line: 'D:\Server\bin\Apache24\bin\httpd.exe -d D:/Server/bin/Apache24'
[Fri Mar 06 00:00:32.986032 2015] [mpm_winnt:notice] [pid 1784:tid 368] AH00418: Parent: Created child process 1996
PHP Warning: PHP Startup: in Unknown on line 0
PHP Warning: PHP Startup: in Unknown on line 0
PHP Warning: PHP Startup: in Unknown on line 0
PHP Warning: PHP Startup: in Unknown on line 0
PHP Warning: PHP Startup: in Unknown on line 0
PHP Warning: PHP Startup: in Unknown on line 0
PHP Warning: PHP Startup: in Unknown on line 0
PHP Warning: PHP Startup: in Unknown on line 0
PHP Warning: PHP Startup: in Unknown on line 0
PHP Warning: PHP Startup: in Unknown on line 0
PHP Warning: PHP Startup: in Unknown on line 0
[Thu Jan 01 00:00:33.875234 2015] [mpm_winnt:notice] [pid 1996:tid 304] AH00354: Child: Starting 64 worker threads.
[Fri Mar 06 13:48:38.026815 2015] [core:error] [pid 1996:tid 836] [client 94.141.70.136:55769] AH00126: Invalid URI in request vTxc5tyxa6x8axd0x98xa0xccxf0xb7xb2x14xf0x01x10xa9x0fv<z'x8dNx81x8c(~xf9x97x89xd3qxe3}xeexf8x8f*x18H
[Fri Mar 06 15:14:16.151699 2015] [mpm_winnt:warn] [pid 1996:tid 1032] (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed.

SERGEY
01.06.2015 в 16:56
Я тоже долго (3 часа) бился с ошибкой "PHP Warning: PHP Startup: in Unknown on line 0" при подключении модуля "extension=php_curl.dll"
Путь к модулям указал верно, в системную переменную PATH добавил путь к каталогу PHP – не помогло. А вот когда скопировал четыре файла (libssh2.dll, php_curl.dll, ssleay32.dll, libeay32.dll) в папку Windowssystem32, то модуль подцепился и все заработало.

ВАЛЕНТИН
03.03.2015 в 22:29
Первый раз устанавливаю сервер, всё последовательно
В php.ini точку с запятой в строке extension=php_mbstring.dll убрал.
Захожу по адресу , и мне выпадает такая ошибка:
Fatal error: Call to undefined function mb_detect_encoding() in C:Serverdatahtdocsphpmyadminlibrariesphp-gettextgettext.inc on line 177

Как решить проблему?

P.S. Отличная статья!

ALEXEY
04.03.2015 в 05:34
После изменения конфигурационного файла Вы сервер перезапускали?

ВАЛЕНТИН
04.03.2015 в 21:35
Алексей, проблема решена! Собственная невнимательность – не переименовал php.ini – development в php.ini.

Огромная благодарность и за статью, и за внимание!

ВАЛЕНТИН
04.03.2015 в 17:52
Да, перезапускал. Ничего не заработало, выдает ошибку

КОНСТАНТИН
15.04.2015 в 16:45
Добрый, подскажите по конфиг pma. Если оставить конфиг в папке config все работает, но просит удалить каталок, скопировав конфиг в корень, если это сделать pma работать не хочет, говорит права на файл слишком хорошие, режешь права (только чтение), и получаешь пустую страницу или ошибку при авторизации не возможно подключиться к MySQL

МАКС
21.04.2015 в 00:16
Спасибо Вам за ваш труд. Одна из лучших статей по WAMP

YURI
06.07.2015 в 03:39
Здравствуйте. Появилась проблема: до момента добавления строк

PHPIniDir "C:/Server/bin/PHP"
AddHandler application/x-httpd-php .php
LoadModule php5_module "C:/Server/bin/PHP/php5apache2_4.dll"

все работает, как надо. Но как только вставляю их в конец файла httpd.conf. выдает ошибку "the requested operation has failed". В логах

Restarting the server.
httpd.exe: Syntax error on line 532 of C:/Server/bin/Apache24/conf/httpd.conf: Cannot load C:/Server/bin/PHP/php5apache2_4.dll into server: xcdxe5 xedxe0xe9xe4xe5xed xf3xeaxe0xe7xe0xedxedxfbxe9 xecxeexe4xf3xebxfc.
[Mon Jul 06 02:38:24.688572 2015] [mpm_winnt:notice] [pid 2916:tid 392] AH00364: Child: All worker threads have exited.

Что это может быть?

WEBWARE TEAM
06.07.2015 в 06:43
Какую версию PHP ставите? Случайно не PHP7?

YURI
07.07.2015 в 19:29
php-5.6.10

все версии 64 битные, как и система

WEBWARE TEAM
07.07.2015 в 19:33
Значит Вы скачали файл php-5.6.10-nts-Win32-VC11-x64.zip, а нужно php-5.6.10-Win32-VC11-x64.zip

Вот ссылка на правильный файл:

YURI
07.07.2015 в 19:50
Ну я же не совсем тупой. У меня thread safe скачан

WEBWARE TEAM
07.07.2015 в 20:08
Наберите в командной строке (от пользователя)

dir C:Server /s >dir.txt
В домашнем каталоге появится файл dir.txt, загрузите его на любой файлообменник, а ссылку сюда.

Если все файлы на месте, то значит дело в том, что в инструкции что-то уже устарело. Как минимум, нужно поставить Visual C++ Redistributable for Visual Studio 2015 RC, а ещё лучше пользоваться актуальной инструкцией Установка и настройка сервера Apache, PHP, MySQL, phpMyAdmin на Windows 10, про которую красными буквами в нескольких местах написано.

YURI
07.07.2015 в 20:19
У меня стоит Visual C++ Redistributable for Visual Studio 2015 RC

И я все снес, что было и стал делать по новой инструкции. Та же фигня.

Ссылку прикрепляю

WEBWARE TEAM
06.07.2015 в 06:42
Здравствуйте! Эта инструкция считается устаревший. Есть новая инструкция здесь: https://codeby.net/blogs/?p=3215. Но причина ошибки не в этом.

Ошибка вызвана тем, что каталог с PHP Вы положили в какую-то другую папку, а не ту, которая рекомендуется в инструкции (C:ServerbinPHP).

YURI
07.07.2015 в 19:28
Нет. Именно C:SerberbinPHP

YURI
07.07.2015 в 19:41
т.е. Server, конечно

YURI
07.07.2015 в 20:39
Все, я нашел проблему. Заработало.

WEBWARE TEAM
07.07.2015 в 20:41
Напишите, пожалуйста, для всех – в чём была проблема?

YURI
07.07.2015 в 20:46
Я каким-то образом не заметил в новой статье, что нужен еще Visual C++ Redistributable for Visual Studio 2012

Проморгал глазом, подумал, что 2010, как и в этой статье. У меня стоял 2015 и 2010, а 2012 не было. Только поставил — сразу пашет.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!