PerSalmi.NET

Swedish .Net software developer...
# Tuesday den 20 March 2007

Eftersom jag helt gått över till att jobba med Vista som operativsystem på min utvecklingsmaskin på jobbet så har jag kommit fram till en del åtgärder som gör att man kan köra EpiServer under IIS7 på Vista. Observera att detta inte är en supportad plattform ännu så om det ger problem får man lösa dom själv eller backa till att köra EpiServer i en virtuell maskin.

Installera EpiServer Manager utan .Net Framework 1.1

Vista har som bekant inte .Net Framework 1.1 installerat från början. EpiServer i sig kräver inte 1.1 men installationsprogrammet EpiServer Manager ger ett något missvisande felmeddelande när man försöker köra det direkt på Vista. Det beror på att MSI-filen har ett inlagt beroende av 1.1 som krav före installation. Tyvärr ger den ifrån sig ett meddelande om att det är ASP.NET 2.0 som inte är installerat men detta är fel.

Det finns två lösningar på problemet, antingen installerar man .NET Framework 1.1 run-time och fortsätter sedan med EpiServer-installationen eller så modifierara man MSI-filen med verktyget Orca.exe som finns i Windows SDK och tar helt enkelt bort kontrollen av att .Net 1.1 är installerat. Här finns en instruktion om hur man gör detta hos Ohad Israeli.

Konfigurera IIS6 kompatibilitet i nya IIS7

I Kontrollpanelen -> Program och funktioner (Control Panel, Programs & Features) installeras minst följande delar:

  • IIS 6 Management Compatibility
  • IIS 6 Management Console
  • IIS 6 Metabase and IIS 6 configuration compatibility

IIS 6 Inställningar

Installera

Efter ovanstående förberedelser ska man kunna installera EpiServer Manager utan problem.

För att sedan installera webbsajter med EpiServer kan man antingen stänga av UAC när man kör EpiServer Manager eller starta den som administratör, detta för att installationsapplikaitonen ska ha rättigheter att komma åt konfigurationen av IIS och de webbsajter som finns.

I detta läge är det bara att använda EpiServer Manager för att installera EpiServer i en ny sajt eller i en existerande sajt. Nu kan man med fördel lägga in de ASP.NET 2.0 baserade mallar som finns.

Extra konfiguration

Lägg till skrivrättigheter för användaren NETWORK SERVICE på katalogerna upload och konfigurationsfilen, web.config.

Eftersom IIS 7 har en hel del ny funktionalitet och en del ändrat beteende så måste man konfigurera upp HTTP moduler som EpiServer använder för att få sajten att fungera korrekt.

Redigera %windir%\System32\inetsrv\config\applicationHost.config för att tillåta enskilda applikationer att ange egna avsteg från ursprunglig säkerhetskonfiguration, byt ut

<section name="requestFiltering" overrideModeDefault="Deny" />

Mot:

<section name="requestFiltering" overrideModeDefault="Allow" />

Redigera sedan web.config, lägg till följande sektion före avslutande -tag:

<system.webServer>
<modules>
<add name="WorkflowManager" type="EPiServer.Workflow.WorkflowManager, EPiServer.Workflow" preCondition="managedHandler" />
<add name="SpiderSupport" type="EPiServer.Util.SpiderSupport, EPiServer" preCondition="managedHandler" />
<add name="Initializer" type="EPiServer.Scheduler.Initializer, EPiServer.Scheduler" preCondition="managedHandler" />
<add name="UnifiedFileSystem" type="EPiServer.FileSystem.UnifiedFileSystemModule, EPiServer" preCondition="managedHandler" />
<add name="FriendlyUrl" type="EPiServer.Util.FriendlyUrlModule, EPiServer" preCondition="managedHandler" />
<add name="ExternalUrl" type="EPiServer.Util.ExternalUrlModule, EPiServer" preCondition="managedHandler" />
modules>
<validation validateIntegratedModeConfiguration="false" />
<security>
<requestFiltering allowDoubleEscaping="True" />
security>
system.webServer>


Detta motsvarar egentligen att man kör kommandot:

%systemroot%\system32\inetsrv\APPCMD.EXE migrate config "Default Web Site/epi1"

Där Default Web Site/epi1 är IIS applikationssökväg till din nya EpiServer-sajt. Till det har också lagts en säkerhetskonfigurering för att tillåta URL med flera escape-sekvenser, annars får man problem med vissa bildfiler i admin och edit lägena i EpiServer som använder bilder med "+"-tecken i namnet, tex T+.gif.

En grej till som kan underlätta debugging är att stänga av friendly URLs, detta för att detaljerade felmeddelanden ska kunna visas vid debugging på utvecklingsmaskin.

<add key="EPfEnableFriendlyUrl" value="False" />

Kontrollera sedan att felhantering av 404-fel i IIS är inställd på att använda anpassad felsida, vissa gånger verkar inte EpiServer Manager klara att göra denna inställning automatiskt. Peka 404 sidan till /Util/NotFound.aspx samt ändra "Error Responses" till "Custom errorpages" under "Edit Feature Settings...", dessa inställningarna hittar man under "Error Pages" för EPiServer webbplatsen.

Se också till att EPiServer webbplatsen använder "Classic .NET AppPool", mha IIS Managern. 

screenshot

Integrated pipe-line mode verkar inte trivas tillsammans med EpiServer eftersom w3wp.exe processen drar 100% CPU om man kör i det läget.

Ok, efter dessa åtgärder fungerar EpiServer utmärkt under Visat och IIS7 för utveckling!

Tuesday, 20 March 2007 13:35:23 (W. Europe Standard Time, UTC+01:00)  #    Comments [6]
ASP.NET | EpiServer | IIS7 | Windows Vista
Blog & Contact
Per Salmi
Per Salmi
Min LinkedIn Profil

Jag arbetar på Combitech AB i Linköping med konsultuppdrag och utbildning inom Microsoft .NET området. Kontakta mig gärna om ni har frågor, behov av konsulttjänster eller är intresserade av utbildning inom .NET.

Copyright © 2017 Per Salmi

Bloggmotor: newtelligence dasBlog 2.3.12105.0

Sign In
Statistics
Total Posts: 219
This Year: 0
This Month: 0
This Week: 0
Comments: 40

Datorer
All Content Copyright © 2017, Per Salmi