Prerequisite:
Vista
IIS and IIS Manager
SQL 2005 or SQL Express 2005
Microsoft SQL Server Management Studio Express
A valid EPiServer License. ( You don't need download the Manager since it does not work on Vista . )
Files
Download EPiServer CMS offline install package and unzip it in a temporary folder. In this example we unzipped it to C:\temp\EPiServerCMSInstall\
Create two folders on your file system. One is for web and other one is for file storage. After you have created folders you need change the security on folders so that web server can access them ( In most cases you need allow "Network Service" user to have read access to "Web" folder and full access right on "File" folder. In this example we created one folder with name "EPiServerCMS" and under it we create one folder with name "Web" and other with name "Files"
Copy all files under c:\temp\EPiServerCMSInstall\web and the license.config you got from EPiServer to C:\EPiServerCMS\web\ .
Web Configuration
Open your Internet Information Services (IIS) Manager
Right click on "Default Web Site" and "Add application"
And type in application name, i.e EPiServerCMS
And choose the web folder you created previously. In our case it is C:\EPiServerCMS\Web
Prepare the SQL server
Enable your SQL server to accept TCP connection
And you need restart your SQL server after this.
Create EPiServerCMS database
New database
We created a database with name "dbEPiServerCMS"
In your SQL Server Manager Studio choose "Open File"
and select the file in unzipped folder\SQL\EPiServerRelease51.SQL. In our case it is C:\EPiServerCMSRelease5R1VistaInstallation\SQL\EPiServerRelease51.SQL . SQL Server Management will prompt for user name and password.
And now switch database to your database so that query executes on right database. In our case it is dbEPiServerCMS
click on execute button
and you will see "Query executed successfully" at the bottom. ( You can ignore those 4 errors in the end.)
EPiServerCMS is using Workflow as well. We need some SQL scripts for that. Execute these scripts in EPiServerCMS database by opening these two scripts. You can find them under:
%systemroot%\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\en\
and scripts you need run are :
- SqlPersistenceService_Schema.SQL
- SqlPersistenceService_Logic.SQL
Create a user for EPiServerCMS database
set the default database to dbEPiServerCMS
and change to "user mapping" section and make the user be dbowner to database dbEPiServerCMS
EPiServerCMS is using Asp.Net user/role provider model. We need run some extra SQL scripts. We add it by run command:
%systemroot%\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe
And ASP.Net SQL Setup Wizard will show up.
Click on next
And next. Here enter your SQL Server name ( if your SQL server is not installed on default instance you need enter instance name as well. I.e MyServer\MyInstance ) and set database to your EPiServerCMS database. In our case it is dbEPiServerCMS.
and next twice.
Change the configuration files
First we need point out where the database is. Go to web folder you have just point out. In our case it is c:\EPiServerCMS\Web. And Open file connectionstrings.config. You need change second row to your database setting. In our case it became:
<add name="EPiServerDB" connectionString="Data Source=(local);Database=dbEPiServerCMS;User Id=episerveruser;Password=episerver;Network Library=DBMSSOCN;" providerName="System.Data.SqlClient" />
Don't forget that if you don't have SQL server installed as default instance you need have instance name on "Data Source". I.e Data Source=(local)\sqlexpress .
Now we need to do changes in web.config so that EPiServerCMS recognize our settings.
1. Let EPiServerCMS know where our site is located. In "Web.Config" file, find section /configuration/episerver/sites/site and change siteUrl, uiUrl and Util to your web settings. In our case it changes to:
siteUrl="http://localhost/EPiServerCMS/" uiUrl="http://localhost/EPiServerCMS/UI/" utilUrl=http://localhost/EPiServerCMS/Util/
be careful all settings should end with a "/" .
And add one attribute to site element. You need know which web instance your web running at. Please read this article to help you identify and set the correct applicationId value:
http://www.episerver.com/en/EPiServer_Knowledge_Center/Documentation/TechNotes/CMS-Tech-Notes/Configuration-in-EPiServer-CMS/
In our case it changes to:
<site description="Example Site" applicationId="/LM/W3SVC/1/ROOT/EPiServerCMS">
2. Let EPiServerCMS know where to store files. In your text editor scroll to begin of "Web.Config" file and select menu "replace" (or Ctrl+H) . And replace string $VPPFOLDERPLACEHOLDER$ with file folder name. In our case we have create one folder at c:\EPiServerCMS\Files and result is here:
<add showInFileManager="false" virtualName="Page Files" virtualPath="~/PageFiles/" bypassAccessCheck="false" name="SitePageFiles" type="EPiServer.Web.Hosting.VirtualPathVersioningProvider,EPiServer" indexingServiceCatalog="Web" physicalPath="c:\EPiServerCMS\Files\PageFiles" />
<!--<add showInFileManager="false" virtualName="Virtual Path Mappings" virtualPath="~/upload/"
bypassAccessCheck="false" name="SitePathMappings" type="EPiServer.Web.Hosting.VirtualPathMappedProvider,EPiServer" />-->
<add showInFileManager="true" virtualName="Global Files" virtualPath="~/Global/" bypassAccessCheck="false" name="SiteGlobalFiles" type="EPiServer.Web.Hosting.VirtualPathVersioningProvider,EPiServer" indexingServiceCatalog="Web" physicalPath="c:\EPiServerCMS\Files\Globals" />
<add showInFileManager="true" virtualName="Documents" virtualPath="~/Documents/" bypassAccessCheck="false" maxVersions="5" name="SiteDocuments" type="EPiServer.Web.Hosting.VirtualPathVersioningProvider,EPiServer" physicalPath="C:\EPiServerCMS\Files\Documents" />
Save and close the "Web.Config" file.
Start the IIS web server if it is not started yet. Browse to your site. In our case it is http://localhost/EPiServerCMS. And we will get an error here:
Please follow solution 1 on the page. You may need to run as administrator to accomplish this task. One way is use the runas command and then you need know the password of administrator .
Now we need to tell web server that EPiServer CMS want to take care of all request. Open web.config in notepad again and find line <system.webServer> and change modules line under that section to :
<modules runAllManagedModulesForAllRequests="true">
Note: the attribute name is case sensitive. Save and close "Web.Config" file.
Finished:
Let's browse to our site. In our case http://localhost/EPiServerCMS
Note: If you cannot login with your Windows account ( By default, EPiServer uses the Windows Role provider to authenticate the user ). Make sure you belong to the "administrators" group. Hint: If you are running on a non English version of Vista, make sure you also add the name of "administrators" group ( example: "administratörer" in Swedish version of Vista ) to location element in "Web.Config". Example:
<allow roles="WebAdmins, Administrators, Administratörer"/>
Make sure to allow "administratörer" to both the <location path="UI/admin"> and the <location path="UI">
We have an EPiServer CMS installed on Vista:)
Many thanks to mine workmates Mattias Nordgren and Allan Thraen for helps and suggestions.