Миграция конфигурации Denwer с Apache 2.2 на Apache 2.4

Пока не вышло следующей версии Denwer, решаем задачу перехода с Apachе 2.2 на Apache 2.4. Проблема миграции в том, что конфигурации окажутся не совместимыми из-за изменений в синтаксисе ряда команд более свежего http сервера. Давайте поправим конфигурацию и заставим работать новый Apache в составе Denwer.

Что нужно поменять, чтобы Apache 2.4 ожил под denwer?

Далее по шагам.

  1. Переименуйте папку со старым сервером (2.2) из \denwer\usr\local\apache в \denwer\usr\local\apache.old
  2. Место старой версии займет новый дистрибутив с Apache 2.4. Его нужно скачать, например, вот от сюдаApache 2.4.x VC9 x32 на этот момент это был — httpd-2.4.18-x86-r3.zip. Скачивайте, распаковывайте и копируйте в папку \denwer\usr\local\apache.
  3. Сохраните отдельно \conf\httpd.conf из 2.4, он нам ещё понадобится.
  4. Из папки старого дистрибутива \denwer\usr\local\apache.old\bin нам нужны 2 файла : TrayApache.exe и Apache.ico, скопируйте их в 2.4 — \denwer\usr\local\apache\bin.
  5. Скопируйте все файлы конфигурации apache для денвера из старого проекта, т.е. папку \denwer\usr\local\apache.old\conf накатите поверх \denwer\usr\local\apache\conf.
  6. Теперь займемся правкой конфигурации, а именно файлом — \denwer\usr\local\apache\conf\httpd.conf. Он соответствует старой версии сервера и его нужно «подлатать».
  7. Мы сохранили отдельно в п.3. файл конфигурации от нового апача. Возьмите от туда список подключаемых модулей (портянка инструкций LoadModule почти в начале файла) и скопируйте его вместо того списка, что в текущем файле httpd.conf.
  8. Теперь необходимо произвести замену устаревших команд Apache на новые варианты в файлах конфигурации. Ищите и заменяйте следующие варианты:

Директивы AcceptMutex, LockFile, RewriteLock, SSLMutex, SSLStaplingMutex, and WatchdogMutexPath заменяются одной командой Mutex.

Где вылавливать ошибки конфигурации Apache в Denwer?

Ошибки конфигурации Apache будет вам сообщать при запуске сервера. Консоль с сообщением об ошибке можно вызвать, кликнув на иконку апача в трее. Там вы увидите что то вроде следующего:

satisfy-error

В данном случае конфигуратор не может распознать команду «Satisfy», для неё нужно раскомментировать модуль mod_access_compat.so.

Я подозреваю, что все эти операции вы проделали лишь чтобы обновить версию PHP в вашем Denwer, поставить что то выше чем PHP 5.4, который ещё работает с Apache 2.2. Потому не забудьте поменять в httpd.conf строку

на

Более свежий PHP под Denwer понадобится вам для работы с Drupal 8 (PHP 5.5.9 и выше) и Symfony 3 (тоже PHP от 5.5.9 и выше).

Написать комментарий

Мало букафф? Читайте есчо !

Меняем параметры запроса GET с помощью mod rewrite

Ноябрь 17, 2016 г.

Модуль rewrite сервера Apache предоставляет мощные возможности по перенаправленнию запросов. Это позволяет ещё до обработки запроса, к примеру, в коде программы на PHP вашего сайта, выполнить рутинные операции по изменению адреса страницы, параметров ...

Читать

Переходим с http на https - план действий

Июль 24, 2017 г.

Прежде чем переводить сайт на https протокол, нужно иметь четкий план того, что делать и в какой последовательности. Такая тактика хорошо работает и в ...

Читать

 

Комментарии к «Миграция конфигурации Denwer с Apache 2.2 на Apache 2.4»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий:

Много комментариев в “Миграция конфигурации Denwer с Apache 2.2 на Apache 2.4”

  1. Andy:

    если используется php openssl нужно в файле apache.pl заменить часть кода на:

    if (my $p = fsgrep { /^openssl.cnf$/i } $phpdir)
    {
    $ENV{OPENSSL_CONF} = Installer::getSubstDriveConfig() . $p;
    }

    иначе не будут ssl функции работать выдавая ошибку error:0E06D06C:configuration file routines:NCONF_get_string:no value

  2. serg:

    нормально обяснить не умеешь кароч не помогло нехрена все только хуже стало запутался бля