Как настроить Apache для запуска панели инструментов CruiseControl.NET с помощью mod_aspdotnet - PullRequest
1 голос
/ 08 июля 2010

Я установил CruiseControl.NET и VisualSVN Server на моем сервере разработки.Вместо того, чтобы запускать CruiseControl.NET Web Dashboard из IIS, я бы хотел запустить его на Apache, который устанавливает VisualSVN Sever.Я наткнулся на этот вопрос в Stackoverflow, и он мне очень помог.

У меня есть следующий конфиг в файле http-custom.conf в "C: \ Program Files \ VisualSVN"Папка server \ conf ".

LoadModule aspdotnet_module bin/mod_aspdotnet.so

AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo

<IfModule mod_aspdotnet.cpp>
  AspNetMount /ccnet "C:/Program Files/CruiseControl.NET/webdashboard"

  AliasMatch /ccnet/(.*\.aspx.*) "C:/Program Files/CruiseControl.NET/webdashboard/default.aspx"
  Alias /ccnet/ "C:/Program Files/CruiseControl.NET/webdashboard/"
  <Directory "C:/Program Files/CruiseControl.NET/webdashboard">
    Options FollowSymlinks ExecCGI
    # Order allow,deny
    # Allow from all
    DirectoryIndex default.aspx
  </Directory>

  AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
  <Directory "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
    Options FollowSymlinks
    # Order allow,deny
    # Allow from all
  </Directory>
</IfModule>

Это работает нормально, за исключением того, что http://localhost/ccnet (обратите внимание на отсутствие косой черты) не вызывает панель мониторинга CruiseControl.NET, тогда как http://localhost/ccnet/делает.

Кроме того, мне пришлось закомментировать директивы Order и Allow в двух разделах Справочника.Служба VisualSVN не запускается, если я раскомментирую любую из этих 4 закомментированных директив.

Что с этим?

VisualSVN Server.exe (что на самом деле является httpd.exe) сообщает номер версии как2.2.13.0 и mod_aspdotnet.so сообщает номер версии как 2.2.0.2006.

Ответы [ 2 ]

2 голосов
/ 20 июля 2010

Плохо использовать mod_aspdotnet, так как он не поддерживается в течение трех лет и содержит некоторые критические ошибки.Еще одна плохая вещь: mod_aspdotnet скомпилирован с другими настройками и может быть несовместим с двоичными файлами VisualSVN Server.

Я рекомендую запустить CruiseControl.NET в IIS, а затем перевернуть запросы прокси-сервера от VisualSVN Server в IIS.Все необходимые модули уже доступны в дистрибутиве VisualSVN Server.Просто добавьте следующие строки в ваш httpd-custom.conf (при условии, что вы используете IIS на порту 8080)

LoadModule proxy_module bin/mod_proxy.so
LoadModule proxy_http_module bin/mod_proxy_http.so
ProxyPass /ccnet http://localhost:8080/ccnet
ProxyPassReverse /ccnet http://localhost:8080/ccnet
1 голос
/ 08 июля 2010

1 / Убедитесь, что вы используете последний мод. Это имя mod_aspdotnet-2.2.0.2006-setup-r2.msi

2 / Изменить строку AliasMatch следующим образом

AliasMatch "^/(?i)aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*)" \
           "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"

3 / Добавьте эту строку после Options FollowSymlinks ExecCGI в разделе каталога вашей веб-панели

AspNet files

4 / Add Win32DisableAcceptEx on line ... Я помню, как одна машина подключила его ... но это было только при установке Xp, а не Server2003 или другой редакции.

...