Миграция конфигурации 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 и выше).

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

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

Установка Symfony на Denwer и Open Server

Март 8, 2016 г.

Симфония диктует стиль работы, свойственный для работы с ПО под unix системами. Т.е. чтобы что то сделать, вам необходимо сначала понять как это сделать. ...

Читать

Добавление SSL сертификатов для разных сайтов на одном ip

Январь 19, 2018 г.

Давайте рассмотрим порядок действий и настройку SSL сертификата в apache2. В сети довольно много гайдов. Все они примерно следуют одному и тому же алгоритму. ...

Читать

 

Комментарии к «Миграция конфигурации 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:

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