Как настроить сервер обновлений 2ГИС для Win32

Сервер обновлений 2ГИС для Windows реализован на базе web-сервера Apache HTTP Server. Для работы требуется Apache с поддержкой OpenSSL. Специальных требований на версию Windows не накладывается — подойдёт любая, на которой заработает Apache. В частности, если у вас в сети уже есть сервер с Apache, обслуживающий внутренний web-сайт компании, и на этом сервере есть доступ в Интернет, вы можете «подселить» туда Сервер обновлений. Он будет доступен по адресу http://ваш_сервер/ver3, не мешая другим сайтам.

Чтобы пользовательские компьютеры автоматически обнаружили локальный сервер обновлений, машина, на которой установлен Сервер обновлений, должна откликаться на DNS-имя 2gis-update.ваш_домен. Или же вы можете прописать адрес сервера обновлений в настройках каждого пользователя — вручную или с помощью доменных политик.

Также вам понадобится дисковое пространство под кэш. В базовой поставке настроен кэш размером 2ГБ; в зависимости от подмножества баз, используемых вашими пользователями, для эффективного кэширования может понадобиться увеличить размер кэша.

Установка и настройка Сервера обновлений

Apache HTTP Server

Если у вас уже установлен Apache с поддержкой OpenSSL, переходите к следующему пункту.

  1. Зайдите на сайт Apache HTTP Server. Скачайте последнюю стабильную версию. Вам нужна сборка, помеченная как «Win32 Binary including OpenSSL x.y.z (MSI Installer)». Запустите установку.
  2. Согласитесь на установку из неподписанного файла.
  3. Нажмите кнопку Next.
  4. Прочитайте и согласитесь с лицензией.
  5. Прочитайте readme и нажмите Next.
  6. Проверьте, что инсталлятор Apache правильно определил ваш сетевой домен и имя сервера. Укажите почтовый адрес (по которому ваши пользователи смогут с вами связаться). Установите Apache как сервис на порту 80.
  7. Выберите тип установки — типичную или пользовательскую. В последнем случае вы можете не устанавливать документацию на Apache и утилиту для управления сервисом через значок в панели задач.
  8. Нажмите кнопку Install.
  9. Возможно, вам понадобится разрешить инсталлятору внесение изменений на компьютере.
  10. После завершения установки нажмите Finish.

Сервер обновлений

Известная проблема: Инсталлятор Сервера обновлений не работает при включённом UAC. Пожалуйста, отключите UAC на время установки.

  1. Скачайте инсталлятор Сервера Обновлений (1,2 МБ, *.msi). Запустите установку.
  2. Нажмите кнопку Далее.
  3. Прочитайте и согласитесь с лицензионным соглашением.
  4. Укажите путь к конфигурационному файлу httpd.conf вашей инсталляции Apache HTTP Server (если вы не меняли настройки Apache по умолчанию, вам подойдёт стандартное значение).
  5. Если ваш сервер не имеет прямого доступа к интернету, укажите адрес прокси-сервера. Apache HTTP Server может использовать только http-прокси без аутентификации.
  6. Укажите каталог, где Сервер обновлений будет хранить закэшированные файлы. По умолчанию предлагается подкаталог в каталоге установки Apache, но вы можете переназначить его, например, на более ёмкое или более быстрое устройство. Кэш может занимать заметное место на диске. Убедитесь, что у вас достаточно свободного места, и что рост кэша до 2 ГБ и чуть выше не приведёт к проблемам на вашем сервере.
  7. Нажмите кнопку Установить.
  8. По окончании установки нажмите кнопку Готово. Инсталлятор автоматически перезапустит Apache. Если перезапуск Apache нежелателен (например, он обслуживает внутренние сайты, с которыми идёт активная работа), снимите флажок «Перезапустить Apache сейчас». В этом случае Сервер обновлений заработает только после того, как вы перезапустите Apache самостоятельно.

Мониторинг и решение проблем

Если возникли проблемы при установке:

  • проверьте, что сервис Apache (может называться Apache2.2 или иначе в зависимости от версии) запущен.
  • Если сервис не запущен, запустите его.
  • Если сервис работает, а обновления — нет, проверьте логи.

Если Apache не запускается

Попробуйте запустить Apache в интерактивном режиме.

  1. Нажмите Win+R.
  2. Введите cmd и нажмите OK.
  3. Введите следующие команды (подставьте особенности вашей инсталляции, где необходимо):
    • cd «%ProgramFiles%\Apache Software Foundation\Apache2.2\bin»;
    • httpd.
  4. По сообщению, выдаваемому httpd, можно будет определить, в какой строке какого конфигурационного файла проблема.

Удаление

Сервер обновлений удаляется стандартным образом через пункт «Программы и компоненты» Панели управления (в Windows XP — «Установка и удаление программ»).

Удаление Сервера обновлений не затрагивает каталог кэша. Вы можете удалить его вручную.

Если на вашем сервере Apache использовался только для Сервера обновлений, удалите также и Apache (так же через Панель управления).

Дополнительная информация

Устанавливаемые файлы и их назначение

При установке на ваш диск устанавливается несколько конфигурационных файлов для Apache, в которые прописываются введённые вами в процессе установки значения. Если вы захотите что-то поменять после установки, не обязательно переустанавливать Сервер обновлений — можно отредактировать файлы и перезапустить сервис Apache.

Здесь и далее все пути указаны относительно каталога установки Apache.

2gis-update.htdocs\ping

Для определения работоспособности сервера обновлений клиент посылает ему ping-запрос. Сервер отправляет в ответ этот файл. Конкретное содержание файла не имеет значения.

cache\2gis или другой каталог, указанный при установке

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

conf\httpd.conf

Главный конфигурационный файл Apache. При установке Сервера обновлений в конец этого файла добавляется директива Include, включающая Сервер обновлений. При отладке вы можете отключить Сервер обновлений, закомментировав эту строку символом # и перезапустив сервис Apache.

conf\2gis-thirdparty-server.conf

Конфигурационный файл, реализующий функциональность Сервера обновлений.

Настройки, которые можно менять (со ссылками на документацию):

  • ProxyRemoteMatch — прокси-сервер для доступа в интернет.
  • CacheRoot — каталог для кэша.

logs

Протоколы обращений к вашему серверу (в том числе к Серверу обновлений) и возникающих ошибок.

Ограничение объёма кэша

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

"полный\путь\к\htcacheclean.exe" -d1440 -p"путь\к\кэшу" -l2048M

Обратите внимание: значения параметров указываются сразу после ключа, без пробела.

  • Ключ -d указывает периодичность, с которой будет проверяться размер кэша, в минутах. Значение по умолчанию — 1440 (раз в сутки).
  • Ключ -l указывает размер кэша, при превышении которого некоторые закэшированные пакеты будут удалены.

Алгоритм выбора файлов для удаления в htcacheclean не документирован; анализ исходных текстов показывает следующее:

  • В первую очередь удаляются файлы из будущего, если таковые обнаружатся (например, в результате перевода времени).
  • Во вторую очередь удаляются файлы с истекшим сроком хранения (заголовок Expires). Для пакетов 2ГИС — один месяц с момента попадания в кэш.
  • В последнюю очередь, если размер кэша всё ещё больше установленного порога, удаляются остальные файлы в порядке их попадания в кэш, пока размер кэша не опустится до нормы.

Смотрите также: