EPiServer Deployment Tips & Tricks


Published on

EPiServer Deployment Tips & Tricks by Steve Celius, BV Network AS

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Make sure you PLAN your deployment well ahead. Know where to host, on what OS, versions and database. Do you need one or ten servers? In one word: PLAN!
  • Identify external resources
  • EPiServer checks the VPPs during startup, and you need Modify rights on disk even if the server will not write to it. This is fixed in CMS 6
  • "C:WindowsMicrosoft.NETFrameworkv2.0.50727aspnet_regiis.exe” -pef "connectionStrings" "c:episerversitesmysite” -–prov "DataProtectionConfigurationProvider"
  • EPiServer Deployment Tips & Tricks

    1. 1. Deploying EPiServer Sites<br />Tips & Tricks<br />Steve Celius<br />
    2. 2. PLAN<br />
    3. 3. Project Phases<br />Planning<br />Development Phase<br />Deployment<br />Launch<br />Maintenance<br />
    4. 4. Planning – External Dependencies<br />SMTP (XForms, alerts etc.)<br />Databases (other than EPiServer)<br />Access rights, execute permissions etc.<br />Reporting Services or other analysis tools<br />Visitor Trackers<br />Google Analytics, SEO Tools, etc.<br />Line Out<br />RSS Feeds, HR / Vacancies<br />
    5. 5. Planning – Licenses<br />EPiServer Licenses for production environment<br />We do not process license requests in weekends<br />3rd Party<br />Identify<br />
    6. 6. Server Setup – Small Sites<br />
    7. 7. Server Setup – Secure<br />
    8. 8. Server Setup – Content Staging<br />
    9. 9. File Management in Web Farms<br />VPPs must be available on all servers<br />Images and documents<br />Plan early<br />Security might be a problem<br />
    10. 10. File Management - SAN<br />or other types of network storage (NetApp)<br />Best redundancy options<br />Good performance (most cases)<br />Expensive<br />
    11. 11. File Management - Network Share<br />The most used option<br />No redundancy<br />Use Database Server for files<br />A little bit tricky to configure security<br />Requires firewall opening for 455 (ms_ds)<br />Usernames / Passwords must match<br />Security on share and disk - requires Modify rights<br />Run Application Pool as other user<br />
    12. 12. File Management - File Replication<br />Redundancy<br />File replication is inherently dangerous<br />Software for file replication or syncronisation<br />RepliWeb RDS<br />Vice Versa<br />MS DFS (requires AD)<br />Synchronising EPiServer VPP folders using the Microsoft Sync Framework http://world.episerver.com/Blogs/David-Knipe/Dates/2009/11/Synchronising-EPiServer-VPP-folders-using-the-Microsoft-Sync-Framework/ <br />
    13. 13. Continuous IntegrationYou’ll never look back<br />Do not compile and package manually<br />Catch build & integration errors early<br />Prepare files or do the actual deployment directly from the tool (scripted)<br />Add css/js compression to build<br />Everyone on the team should be able to build<br />Invaluable for maintenance<br />Keep the build server around (virtual?)<br />
    14. 14. Continuous Integration - Tools<br />CruiseControl.NET<br />http://ccnet.thoughtworks.com<br />TeamCity<br />http://www.jetbrains.com/teamcity<br />Microsoft Team Foundation System<br />
    15. 15. Configuration – IIS<br />IIS 6 vs. 7<br />Oh my<br />Features and stuff<br />Develop on same (or near) production IIS version<br />See tech note: Changes Between IIS6 and IIS7<br />Config on IIS 7 is way better than IIS 6<br />Easier deployment<br />IIS Management Console saves to config files<br />
    16. 16. Configuration – IIS<br />Add server name to http headers in load balanced environments<br />Remove “X-Powered-By” header<br />Machine Keys can be generated in IIS 7<br />Application Pool Settings<br />Recycling on specific times (02:00)<br />Turn off Debug (remember to compile for release)<br />
    17. 17. Cache invalidation<br />Use UDP if possible<br />Requirements<br />Enable Events<br />Enable Remote Events<br />Add Http Module listener<br />Configure the <system.serviceModel><br />Based on WCF, highly configurablehttp://world.episerver.com/Documentation/Items/Tech-Notes/EPiServer-CMS-5/EPiServer-CMS-5-R2-SP2/Event-Management-System-Specification/<br />
    18. 18. Cache Invalidation – Resources<br />Test with the RemoteEventListener toolhttp://world.episerver.com/Documentation/Items/Tech-Notes/EPiServer-CMS-5/EPiServer-CMS-5-R2-SP2/Event-Management-System-Specification/<br />Read More:<br />Fredrik Haglund's blogblog.fredrikhaglund.se/blog/2009/09/22/episerver-cms-how-to-configure-remote-events-with-many-servers-and-firewalls-between-them/<br />LoadBalancing in 6 stepshttp://labs.episerver.com/en/Blogs/Allan/Dates/112230/11/LoadBalancing-in-6-steps/<br />EPiServer FAQ 228http://world.episerver.com/FAQ/Items/Multicast-UDP-not-working/<br />
    19. 19. Configuration Change Management<br />Keep configuration under source control<br />Except connectionStrings.config and other security sensitive data<br />Split into section files (configSource)<br />Only split sections that differ<br />Use diff/merge to move changes to new env.<br />Script deployment of config files<br />
    20. 20. Log4net<br />Set up Rolling File Appender<br />Beware of buffering<br />File Appender does not buffer<br />Use Warn (not Debug)<br />Do not log to C:<br />Plan to roll logs<br />Do not fill the drive with log files<br />
    21. 21. Security<br />Remove IIS features you do not use<br />Early in the process<br />Encrypt the connectionStrings.config file<br />"C:WindowsMicrosoft.NETFrameworkv2.0.50727aspnet_regiis.exe" -pef "connectionStrings" "c:episerversitesmysite" -–prov "DataProtectionConfigurationProvider"<br />Remove UI folder on front end server<br />IIS Lock Down and other tools<br />Stop EPiServer Services not in use<br />
    22. 22. Security - Continued<br />Remove test users from the database<br />Remove test content from the site<br />Verify that your folder structure is secured<br />Modules with .aspx files that does not check sec.<br />Editor/admin pages that skips authentication<br />Do you need SSL?<br />Forms auth sends username and password in clear text <br />
    23. 23. Having performance problems?<br />Can you use output caching?<br />After Launch<br />
    24. 24. Identify bottle necks<br />See running IIS Request<br />Win 2003: IIS Trace Diagnostics<br />"C:Program FilesIIS ResourcesTraceDiagiisreqmon.exe”<br />Win 2008: Use IIS Manager<br />Server / Worker Processes / App Pool / Requests<br />
    25. 25. Maintenance Tasks<br />Check 404 logs<br />Check error logs<br />Delete old logs<br />
    26. 26. Other Resources<br />Checklist for deploying EPiServer sites<br />http://labs.dropit.se/blogs/post/2010/01/10/Checklist-for-deploying-EPiServer-sites.aspx<br />Complex EPiServer CMS Projects<br />http://world.episerver.com/Get-Started/Complex-EPiServer-CMS-Projects/<br />