Как я настраиваю Подвижный и hgwebdir на IIS?

В соответствии с докерскими документами (например, 20 ГБ):

docker run -d \
  -it \
  --name tmptest \
  --mount type=tmpfs,destination=/app,tmpfs-mode=1770,tmpfs-size=21474836480 \
  nginx:latest

PS: Документы указывают, что по умолчанию тома tmpfs имеют неограниченный размер, поэтому вычисления здесь могут быть округлены до объема свободной памяти. в хост-ОС.

SRC: https://docs.docker.com/storage/tmpfs/#specify-tmpfs-options

72
задан Boann 21 July 2019 в 23:31
поделиться

7 ответов

Используйте Mercurial, чтобы клонировать ртутный репозиторий:

hg clone https://www.mercurial-scm.org/repo/hg/

вы найдете hgwebdir.cgi на верхнем уровне. Следует установить как и любой другой скрипт cgi.

3
ответ дан 24 November 2019 в 12:42
поделиться

Мне просто нужно было вчера установить свежий экземпляр Mercurial, вот обновленные инструкции для 1.7:

  1. Установите Mercurial (эти инструкции были протестированы с версией 1.7)
  2. Установите Python (для Mercurial 1.7 вы должны использовать x86-версию Python 2.6.6)
  3. Вам нужно будет загрузить файл hgweb.cgi из исходного кода Mercurial. Вы можете загрузить исходный код, запустив: hg clone https://www.mercurial-scm.org/repo/hg/
  4. Создайте папку, которая будет папкой вашего веб-приложения. Вам нужно будет скопировать в эту папку три вещи:

    • Файл hgweb.cgi
    • Содержимое Library.zip из вашей папки "C: \ Program Files \ Mercurial"
    • Папка Templates из вашей папки " C: \ Program Files \ Mercurial "
  5. Вам необходимо убедиться, что Python установлен в IIS.

    • Включите CGI с помощью следующего: Панель управления -> Включение или отключение компонентов Windows -> Роли -> Интернет Сервер (IIS) -> Добавить службы ролей -> Проверить CGI
    • Создайте новый веб-сайт в IIS и убедитесь, что физический путь - это папка, созданная вами выше
    • В сопоставлениях обработчиков для нового веб-сайта выберите «Добавить Карта скрипта ». Введите *. Cgi для пути запроса, c: \ Python26 \ python.exe -u "% s" для Исполняемого файла и Python для имени .
  6. Вам также потребуется создать файл с именем «hgweb.config» с содержимым, аналогичным приведенному ниже. Путь в файле должен соответствовать тому месту на вашем диске, где вы хотите хранить репозитории Mercurial:

    [коллекции]
    c: \ Mercurial \ repos = c: \ Mercurial \ repos

  7. Отредактируйте файл hgweb.cgi и измените строку, в которой он устанавливает путь к вашему hgweb.config, на что-то вроде следующего (где бы ни находился файл hgweb.config) :

    config = "C: \ Mercurial \ hgweb.config"

  8. Теперь откройте браузер и перейдите по адресу http: //localhost/mercurial/hgweb.cgi (или какому-либо другому подходящему URL-путь, который вы настроили в IIS), и вы должны увидеть страницу Mercurial Repositories.

Также ознакомьтесь с сообщением в блоге Джереми Скиннера . Он немного устарел, но в нем есть несколько дополнительных приятных шагов, таких как настройка перезаписи URL для более чистых URL.

49
ответ дан 24 November 2019 в 12:42
поделиться

Здесь есть довольно хорошее и исчерпывающее руководство: http://vampirebasic.blogspot.com/2009/06/running-mercurial-on-windows.html

11
ответ дан 24 November 2019 в 12:42
поделиться

Красная книга hg содержит некоторые гораздо лучшие общие инструкции, чем я видел в других местах. Они не относятся к IIS, но вполне хороши:

http://hgbook.red-bean.com/read/collaborating-with-other-people.html#sec:collab:cgi

1
ответ дан 24 November 2019 в 12:42
поделиться

Ниже показано, что я сделал после значительного количества исследований по настройке hgwebdir.cgi на IIS6. Он основан на следующих сайтах:

You ' На сервере необходимо установить следующее:

  • Mercurial (я использовал версию 1.5)
  • Python 2.6. Версия Python зависит от установленной версии Mercurial. Mercurial 1.5 использует Python 2.6. Установите x86, даже если вы используете x64.

Для меня были следующие шаги:

  • Создать каталог для веб-сайта. Я использовал c: \ inetpub \ wwwroot \ hg.
  • В IIS щелкните правой кнопкой мыши папку для hg, выберите свойства, выберите вкладку «Домашний каталог».
  • Нажмите кнопку «Создать приложение».Установите права на выполнение «скриптов».
  • Все еще находясь на вкладке «Домашний каталог», нажмите кнопку «Конфигурация». Во всплывающем окне «Конфигурация приложения» нажмите кнопку «Добавить», чтобы добавить расширение приложения. Исполняемый файл - c: \ Python26 \ python.exe -u "% s" "% s". Расширение - .cgi. Установите для «глаголов» значение «limit to: GET, HEAD, POST». Проверьте как обработчик сценариев, так и убедитесь, что файл существует.
  • На вкладке «Безопасность каталога» нажмите кнопку «Изменить» в разделе «Аутентификация и контроль доступа». Снимите флажки со всех методов проверки подлинности и выберите метод «Обычная проверка подлинности». Установите домен по умолчанию, если хотите, чтобы ваш домен Active Directory.
  • В IIS щелкните папку «Расширения веб-службы» на левой панели. Щелкните ссылку «Добавить новое расширение веб-службы». Имя расширения должно быть Python, требуемый файл - c: \ Python26 \ python.exe -u "% s" "% s". Убедитесь, что новое расширение «Разрешено».

Сейчас хорошее время, чтобы проверить, работает ли Python. В новой папке Hg создайте файл с именем test.cgi. Вставьте следующий код python:

print 'Status: 200 OK'
print 'Content-type: text/html'
print

print '<html><head>'
print ''
print '<h1>It works!</h1>'
print ''
print ''

Откройте браузер на своем сайте, например, http: //localhost/hg/test.cgi

. Вы должны увидеть «Это работает!» в браузере.

Теперь давайте запустим hgwebdir.

  • Удалите test.cgi
  • клонируйте репозиторий hg в новый каталог: https://www.mercurial-scm.org/repo/hg/
  • скопируйте hgwebdir.cgi в свой веб-каталог: c: \ inetpub \ wwwroot \ hg \ из клонированного репозитория hg
  • Отредактируйте файл и измените
 application = hgwebdir ('hgweb.config') 
wsgicgi.launch (application) {{1} } 

-

 application = hgwebdir ('c: \ inetpub \ wwwroot \ hg \ hgweb.config ') 
wsgicgi.launch (application) 
 
  • Распакуйте файл Library.zip в каталоге Mercurial, c: \ Program Files \ Mercurial \, в свой веб-каталог, c:\ inetpub \ wwwroot \ hg \
  • Скопируйте каталог шаблонов из c: \ Program Files \ Mercurial \ templates \ в c: \ inetpub \ wwwroot \ hg \ templates \
  • Создайте в сети файл с именем hgweb.config каталог.

Сейчас хорошее время, чтобы проверить это. Перейдите по следующему URL-адресу в браузере, http: //localhost/hg/hgwebdir.cgi

  • Отредактируйте hgweb.config и вставьте следующее:
{{1 }}
  [коллекции] 
 \\ server \ share $ \ Hg \ = \\ server \ share $ \ Hg \ {{{ 1}} [web] 
allow_push = * 
push_ssl = false 
 

Это все мои предпочтения, например, у нас есть наши репозитории в подкаталогах на \\ server \ share $ \ Hg. Веб-приложение будет работать с разрешениями вошедшего в систему пользователя через браузер, поэтому им потребуются разрешения на чтение / запись в общий ресурс.

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

cd \inetpub\AdminScripts\
cscript adsutil.vbs GET /W3SVC/CGITimeout 
cscript adsutil.vbs SET /W3SVC/CGITimeout 3000
11
ответ дан 24 November 2019 в 12:42
поделиться

Похоже, что с момента выпуска Mercurial 1.5.2 эти руководства работают не совсем правильно. Во-первых, hgwebdir.cgi был удален и теперь заменен на hgweb.cgi.

Инструкции, которые лучше всего сработали для меня, находятся на eworldui.net :

http: //www.eworldui.net / blog / post / 2010/04/08 / Setting-up-Mercurial-server-in-IIS7-using-a-ISAPI-module.aspx

Эти инструкции предназначены для IIS 7 или выше. Если вы настраиваете это на IIS 6, я написал аналогичные инструкции для Win2k3 и IIS 6.0:

http://partialclass.blogspot.com/2010/05/setting-up-mercurial-server-on- win2k3.html

ОБНОВЛЕНИЕ: Вскоре после получения этой работы я узнал, что BitBucket изменил свою схему ценообразования, чтобы предложить бесплатный, неограниченный, частный хостинг: https://bitbucket.org/ . Я бы сразу выбрал это, когда я изначально работал над этим проектом.

34
ответ дан 24 November 2019 в 12:42
поделиться

Я обнаружил, что сообщение в блоге на Vampire Basic было хорошим началом, но не вошло в достаточную деталь того, что я искал.

Я написал сообщение в блоге, состоящее из 4 частей, которое поможет вам начать работу с IIS с нуля, включая интеграцию с Active Directory, настройку прав безопасности для push / pull, настройку шаблона, я воспроизвожу это здесь, но довольно давно известно, что Mercurial действительно был разработан для размещения на Linux / Apache:

http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-mercurial-in.html

12
ответ дан 24 November 2019 в 12:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: