Pull to refresh

Устанавливаем Mercurial на IIS7

Как-то искал подходящую систему контроля версий с возможностью установки на IIS7. Остановился на Mercurial. Ранее здесь уже рассказывалось как выполнить такую установку, но с выходом новой версии Mercurial все изменилось.



Итак, начнем установку. Предполагается, что у вас уже установлен IIS7.


Установка необходимых программ


  1. Установить Python 2.6.6 в папку c:\python26.
  2. Установить PyWin32 Build 214 (именно эту версию, так как она совместима с установленной версией Python)
  3. Установить ISAPI_WSGI
  4. Установить Mercurial. Фактически, установленный Mercurial мы будем использовать лишь для создания начального репозитория. Поэтому если есть готовый репозиторий, то можно не устанавливать Mercurial.


Компиляция Mercurial


  1. Добавляем строку c:\python26 в переменные среды (Мой компьютер -> Свойства -> Дополнительно -> Переменные среды). Это можно не делать, но так намного удобнее в дальнейшем будет компилировать Mercurial
    image
  2. Скачать исходный код Mercurial. Необходимо распаковать его в папку c:\hgsource
    image
  3. В командном окне переходим в папку c:\hgsource и компилируем Mercurial c помощью команд
    python setup.py --pure build_py -c -d . build_ext -i build_mo --force
    python setup.py --pure install --force



Настройка IIS7


  1. Создаем папку c:\inetpub\wwwroot\hg, в которой в дальнейшем будет храниться репозиторий, доступ к которому можно будет получить через сервер. В созданную папку копируем файл
    c:\hgsource\cMercurialontrib\win32\hgwebdir_wsgi.py. Открываем файл и меняем значение одного из параметров:
    hgweb_config = r'c:\inetpub\wwwroot\hg\hgweb.config'
  2. Также в этой папке создаем файл hgweb.config со следующим содержимым:
    [collections]
    C:\inetpub\wwwroot\hg = C:\inetpub\wwwroot\hg
  3. Чтобы получить файл _hgwebdir_wsgy.dll, в командном окне переходим в папку
    c:\inetpub\wwwroot\hg и выполняем команду
    python hgwebdir_wsgy.py
    Выполнение команды должно завершиться выводом надписи Installation complete
  4. Открываем диспетчер служб IIS7 и создаем новый пул приложений с именем Mercurial без управляемого кода (!)image
  5. В созданном пуле создаем новый сайт с именем hgimage
  6. Для созданного сайта выбираем «Сопоставления обработчиков»(Handler Mappings), далее «Добавить сопоставление модуля»
    image
  7. Затем для созданного сопоставления ISAPI-Mercurial выбираем в контекстном меню «Изменение разрешении функции...» и отмечаем все пункты.


Настройка доступа к репозиторию Mercurial


  1. В папке c:\inetpub\wwwroot\hg создаем (или копируем) репозиторий с именем myrepo. О том как создавать репозитории, можно почитать здесь. Необходимо убедиться что в файле
    c:\inetpub\wwwroot\hg\myrepo\.hg\hgrc прописана конфигурация и права доступа
    [ui]
    username = NieAR <mymail@example.com>
    [web]
    push_ssl=False
    allow_push=*

    Конечно же, если работать удаленно с репозиторием то username включать в файл не нужно.
  2. В адресной строке браузера переходим на localhost/hg/myrepo
    image

Материал подготовлен при помощи JeanLouis, личного опыта, а также с использованием этой, этой и этой ссылки. Про работу с Mercurial (в частности с репозиторием, находящимся на сервере) советую почитать здесь.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.