2010-07-07 29 views
1

J'ai installé CruiseControl.NET et VisualSVN Server sur mon serveur de développement. Plutôt que d'exécuter CruiseControl.NET Web Dashboard sur IIS, je voudrais l'exécuter sur Apache que VisualSVN Sever installe. Je suis tombé sur this question sur Stackoverflow, et cela m'a beaucoup aidé.Comment configurer Apache pour exécuter le tableau de bord CruiseControl.NET avec mod_aspdotnet

J'ai la configuration suivante dans le fichier http-custom.conf dans le dossier "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> 

Cela fonctionne bien, sauf http://localhost/ccnet (notez le slash manquant) ne fait pas apparaître le tableau de bord CruiseControl.NET, alors que http://localhost/ccnet/ fait.

De plus, j'ai dû commenter les directives Order et Allow dans les deux sections du répertoire. Le service VisualSVN ne démarre pas si je décommente l'une de ces 4 directives commentées.

Qu'est-ce qui se passe avec ça?

VisualSVN Server.exe (qui est vraiment httpd.exe) signale le numéro de version comme 2.2.13.0 et mod_aspdotnet.so signale le numéro de version comme 2.2.0.2006.

Répondre

1

1/Assurez-vous d'utiliser la dernière version. Son nom est mod_aspdotnet-2.2.0.2006-setup-r2.msi

2/Modifier la ligne AliasMatch comme suivre

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

3/Ajouter cette ligne après Options FollowSymlinks ExecCGI dans votre répertoire webdashboard secction

AspNet files 

ligne 4/Ajouter Win32DisableAcceptEx on ... Je me souviens d'une machine nedded .. mais c'était seulement sur les installations Xp, pas Server2003 ou autre édition.

+0

La question de la slash nécessaire après CCNet http: // localhost/CCNet est toujours là. J'ai fait tout ce qui précède mais le comportement n'a pas changé du tout. J'utilisais déjà mod_aspdotnet 2.2.0.2006. Et maintenant? Comment puis-je empêcher l'exigence de barre oblique finale d'être requise? –

+0

Essayez de supprimer le slash dans le fichier de configuration: AliasMatch /ccnet(.*\.aspx.*) "C:/Program Files/CruiseControl.NET/webdashboard/default.aspx" Alias ​​/ CCNet « C :/Program Files/CruiseControl.NET/webdashboard/" – TridenT

+0

Awesomeness! Ça a marché! –

2

C'est une mauvaise idée d'utiliser mod_aspdotnet car il n'est pas supporté depuis trois ans et a quelques bugs critiques. Une autre mauvaise chose que mod_aspdotnet compilé avec différents paramètres et pourrait être incompatible avec les binaires VisualSVN Server.

Je vous recommande d'exécuter CruiseControl.NET sur IIS, puis d'inverser les demandes de proxy de VisualSVN Server vers IIS. Tous les modules requis sont déjà disponibles dans la distribution de VisualSVN Server. Il suffit d'ajouter les lignes suivantes à votre httpd-custom.conf (en supposant que vous exécutant IIS sur le port 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 
+0

C'est une bonne réponse, mais le problème est que je suis sous Windows XP et j'ai besoin que IIS soit configuré pour exécuter le site web sur lequel je travaille habituellement, qui doit être configuré dans IIS pour être développé, c'est-à-dire fonctionne trop bien à Cassini (à cause du module de réécriture que nous utilisons). –

+0

@Umar Jusqu'ici je me souviens que IIS est disponible sur Windows XP. Et MS indique la même chose: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/fr-us/iiiisin2.mspx –

+0

IIS est disponible sur Windows XP et en effet je l'utilise (et j'en ai besoin) pour mon travail de développement. IIS sur Windows XP est limité à exécuter un seul site Web en même temps et pendant que je pourrais développer le site Web que je développe sur IIS et ajouter le ccnet de configuration en tant que répertoire virtuel dedans, je préfère ne pas le faire ccnet via le serveur Apache de VisualSVN. –