Monday, 24 December 2012

Digital Signatures and Install Software gotcha

Problem: In automating SQL Server and SharePoint images, the actual installation is taking a long time on my managed environment whereas my developer laptop is fast.  All installations are done without Internet access (offline).

I have a dev environment build on my laptop that runs SSD and I run 3 VM using VMware workstation 9 (all use Windows 2008 R2 SP1).  I create an 1) AD with 1GB or RAM and 1 CPU 2) SQL 20012 with 10GB RAM and 4 CPU's 3) SP2010 CU Aug 2012 10GB 4 CPU's.  All the installation is automated using slip streamed images.

So for simplicity on the CI environment I will explain a simplified comparable setup. I have 3 machines with the same roles however the SQL 2012 and SP2010 install take considerably longer.  The CI environment is on ESX (Cisco blades & chassis, and Violin (SSD) storage.  The CPU/compute is connected to the storage via SAS/Fibre channel made no difference either).  I have summarised the results below:

                                                                 SQL2012 (duration)      SP2010 (duration)
Laptop(VMworkstation Workstation)           15 min                              16 min
CI (ESX)                                                        22 min                              92 min 

Finding: My hardcore/good ESX infrastructure is taking 9 minutes longer to install SQL Server 2012 on beter hardware and an amazing 70 minutes longer to install SP2010.

Update 21 Feb 2013: Don't use PowerShell 3 with AutoSPInstaller (including using the version switch i.e. -version 2), it doesn't work and even changing AutoSPInstallers internal web call fail.  It can be made to work with the version 2 switch but it isn't worth the effort.

Initial Hypothesis:
After many many hours between service providers managing the infrastructure, it was not hardware or ESX configuration/setup.  However if the network card on the VM is disabled, the performance change improves to:

                                                          SQL2012 (duration)            SP2010 (duration)
CI (ESX)                                                     13 min                       5 min and 5 seconds

Pretty hefty improvement.  Using netstat is looks like there are requests to the Internet.  After adding Wireshark to monitor all traffic.  I can see requests being sent to crl.mirosoft.com (certificate revocation lists) and ctldl.windowsupdate.com

Issue shown in Wireshark
Issue Shown in Fiddler
This is the 1st time I have seen this issue in a clients production environment.  If the WFEs/SP servers have internet access (less preferable) or the servers don't have access the install work in a timely fashion.  The symtoms of the issue are when the WFE's/SP Servers don't have internet access but think they do.  All the binaries are digitally signed and the install will try validate the signatures despite this being an offline install.

I confirmed the problem being how the networking is setup.  My issue shows up on the VM NIC adapter, Originally the IPv4 Connectivity has a status of "No Internet Access", once I ping google I get a reply and the status changes to "Internet".  I can ping google but not browse to it.


Resolution:  The problem is that executable code is digitally signed.  This is good, all code should be digitally signed so it can be authenticated.  However in this situation a lot of requests are being sent out from the VM as the install tries to verify all the SharePoint complied code.  The install on the local VM acts as if there is an Internet connection (which there is not).

It takes unique networking to get into this issue and SP/any digitally signed code will check the digital certs.

There are a few fixes such as:
1.> Allowing the servers to get out to the Internet, so open the firewall or set a proxy on the local VM.
2.> Add host entries to the cert fails immediately but will continue installing (This is not working for me).
3.> Make the following registry change:
set-ItemProperty -path "HKCU:\Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing" -name State -value 146944
set-ItemProperty -path "REGISTRY::\HKEY_USERS\.Default\Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing" -name State -value 146944
get-ChildItem REGISTRY::HKEY_USERS | foreach-object {set-ItemProperty -ErrorAction silentlycontinue -path ($_.Name + "\Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing") -name State -value 146944}


More Information:

Certificates for installing sofware is cause slow install:
http://joelblogs.co.uk/2011/09/20/certificate-revocation-list-check-and-sharepoint-2010-without-an-internet-connection/

http://ddkonline.blogspot.co.uk/2010/05/fix-sharepoint-very-slow-to-start-after.html

If you want to verify if a machine is having problems with a poarticlar process Process Explorer (Usefule if a machine has high memory, CPU or IO issues)

Sunday, 9 December 2012

SharePoint Saturday UK 2012

Great event again, it amazes me that such a great place to get info meet people learn about SharePoint attracts 250 people - that is free.  Sure you need to give up your time and it is a long way but more folks involved with SP in the UK should be at these events.

Mark Macrae, Anthony Pounder & Brett Lonsdale set up SharePoint Saturday, it's huge, the speakers are great and give their time.  People who attend are good to speak too.  So my thanks to the speakers, the 3 fellas mentioned above and Rik from BlackMarble (great conversation).

The presentations I saw were with my thoughts:
  • Wes Hackett (Bring SP into your Office with Apps for Office), I saw a fair amount of this at SPC but Wes brought some good ideas and presented the topic extremely well.  Apps are really powerful in Office and SP2013 but I'm not sold it's going to work as well as MS are preaching.
  • Bill Ayers (Lean-Agile Development with SharePoint), best session I went to.  Had a chat with Chris, Alan (Eardly) & Bill afterwards - really  good stuff, with a topic relevant to my current project.  Unit test and SP are not a great combination in my opinion sure you can using a Mocking framework but I'm not sold, the learning curve for the team is high (effective TDD takes time no matter how many converted devs tell me it's simple), you spend time mocking.  The list goes on and the right projects with the right management buy in 100% I'm behind it I just think it's probably less than 10% of SharePoint projects.   The main take away which I agree with is SCRUM for SP projects is great.  Implementing scrum has challenges but is worth the pain in most scenarios.  Testing is key, you can use Integration tests instead of Unit Tests in VS.  I advocate projects use Code UI testing as with most SP projects you get the most "bang for your buck" (not part of the talk).
  • Martin Hatch (Performance and Load Testing using Visual Studio), good overview with demo and walk thru.  It is amazing what VS 2012 ultimate.  You can definitely remove project risk by using these tools and it's no longer in the domain of load runner experts.  VS has firmly tooled dev and teams to monitor performance and determine bottlenecks.
  • Marjn Somers (Extending SP with Simple jQuery Solutions), this is a funny guy well at a SP conference the bar is pretty low in the comedy genre.  I felt it was too simple (and i'm a simpleton (not the pattern) - sic) but as a 101 into SP and jQuery excellent.
  • Adam Burcher (PowerShell - Let me script that for you!), was well presented.  It was an intro into PS and PS for SP. I didn't get much out of it but it was well presented and the demo of showing SP devs how easy it is to convert a C# event handler's code into PS was extremely effective.
Sessions I missed and would of like to see where Andrew Woodwards on Why you need a SharePoint Centre of Excellence (CoE), Paul Hunts session on Sift thru Search and deliver more, Chris O'Brien Getting to Grips with SP2013 Apps, Mark Macrae's BI talk would of been good to attend also.


 

Setting up VMs (VMware ESX5)


Overview:  VMware ESXi is a 1st class virtualisation platform and commonly used to host SharePoint VM's.  The post looks at the common tools for managing/setting up my VMware based infrastructure.  I'm certainly not an expert in virtualisation but this is a 101 in setting up VM's.
 
vSphere Client connects to the ESXi server infrastructure and provides a UI management tool.
 
PowerShell with PowerCLI to let you manage your ESX infrastructure using PowerShell. 
My preferred option is to use PowerGUI and user the add the PowerCli add in so I can interact with ESX but I have Intellisense and nice debugging capabilities.   The snippet below shows how to connect to the ESXi server.
Script expanded with more detail.  Really need to loop throu config to create multiple VM's and get their individual settings.
Before running the script ensure you have the OSCustomizationSpec and OS template as you need them to build.
Check the VM is created.
Summary:  Useful scripts for building a unique set of VM's on VMware.  For Continuous Integration it is better to start with pre-build environments.  My next step would be to fire off the SQL Server 2012 builds on 1 or more of these VM's as shown in the SQL Server 2012 slipstreamed install.

Thanks to Wayne Senior for info in this post.

Thursday, 22 November 2012

PowerShell to Create User Accounts for SP Install

Problem:  I keep building this script to setup accounts with permissions to put a SharePoint farm using AutoSPInstaller.  I have decided to post so I don't have to go look for this each time.  My list is based on the accounts for AutoSPInstaller recommended install accounts per Tobias Lekman's blog post series.

Use Powershell to create the accounts (This script was originally given to me by Mark Slavik)


Download the PS file here (rename to be a ps1 file)

Note: ThePowerShell file creates tha accounts in the right groups.  The User Profile Service/Synchronisation Account needs "Replicating Directory Changes" permissions, this can be done in various ways and depends on if the NETBIOS name and domain name match. 

Steps to add "Replicating Directory Permissions" to the User Profile synchronisation account:
1.> Open "Active Directory Users and Computers".  Right click on the domain name in the management console and select "Delegate Control..."
2.> On the "Delegation Control Wizard" click "Next" > On the "Users or Groups" screen used to delegate control.  Click "Add" and add your User Profile Sync account.  Click "Next".
3.> On the "Tasks to Delegate" screen select the option "Create a custom task to delegate" > "Next".
4.> On the "Active Directory Object Type" screen accept the default settings and click "Next".
5.> On the "Permissions" screen check the box to allow "Replicate Directory Changes" and Click "Next".  The last screen is for review and select "Finish".

Check your account has permissions using PowerShell.  I needed to amend Tobias Lekman's script
http://lekman.codeplex.com/releases/view/65930  to make it work for me; this is 99% Tobias's work.  I also check if the account is a domain administrator as if they are you won't need to add the special permission (not recommended).  Your other option is to make the User Profile Synchronisation account a local administrator on the VM where the User Profile Service is running.
Alternatively check the permissions thru the AD User and groups UI:

Summary: Add 10 (or as many as you decide to use) accounts.  SP_Install needs administrator domains permissions all the others just need domain user account access.  The SP_Install account needs SQL roles DBCREATOR and SECURITYADMIN. Lastly, ensure the SP_ProfileSync account has "Replicating Directory Changes" permissions.  These permissions are implicit if the SP_ProfileSync account is a local admin or part of the domains administrators group.

Tip: The Execute method of job definition Microsoft.SharePoint.Diagnostics.SPDiagnosticsMetricsProvider (ID ..) threw an exception. More information is included below. An update conflict has occurred, and you must re-try this action. The object SPWebService was updated by demo\sp_farm, in the OWSTIMER (8140) process, on machine... 
 

Friday, 16 November 2012

List of SP2013 improvements

My SP2013 Favourite Changes
This list is just random thoughts pls add your comments and I'll make it longer.
  1. Delta's for Document management (don't use a full version for each version of an Office document),
  2. Sparse columns,
  3. WCM (cross site collection navigation OOTB, improved publishing & page size options),
  4. Search is 1 product (FAST & SP Search),
  5. App model (development options are more numerous),
  6. REST (OData) is a 1st class citizen - improved access to REST API/external access to services such as search,
  7. .NET 4.5 instead of .NET 3.5 (Workflow is a big winner),
  8. Workflow (Workflow in SP2010 is better than MOSS) but performance and architecture is greatly improved,
  9. Side by side Enterprise and standard edition CAL's to lower TCO,
  10. Sticky sessions no longer needed - distribute cache is shared,
  11. SharePoint 365 is awesome,
  12. People search is even better with less customisations being required - OOTB it does more,
  13. UPS has 3 sync options in SP2013 as opposed to 1 method in SP2010 - the simpler AD sync and an option to link to FIM (beautiful),
  14. Improved OOTB pdf support,
  15. SkyDrive Pro 2013 replaces Workspace (may not be good but I do like SkyDrive),
  16. OWA is a separate product not bundled with SP2010 as a Service Application.
  17. Licencing (simplified and cheaper, OWA is free.  Search which is the FAST replacement is part of SP2013.  There is no longer a separate Internet (FIS) and Internal SP Server licence.)
  18. Search-Driven content
  19. Search Provides html previews without OWA.  OWA adds previews/thumbs for search results on Office documents.  I believe pdf can also be setup with some work.

 Comparison of the SP2013 On-Premise editions
 

Sunday, 11 November 2012

SPC12

Sunday 11 Nov 2012:  It's the middle of the night in Las Vegas and I'm wide awake still being on UK time, registration for SPC12 is in 18 odd hours so I thought I'd write a post about #SPC12.

Booking has been easy and glad it's in Vegas again.  I've looked at the sessions for the conference and they look good.  I'm pretty eager to jump into SP2013 so I have done some prep such as reading Sahil Malik's pamphlet/book chapter on "SharePoint 2013 Planet of the Apps" and I watched a couple of video's from the \\Build\ conference last week that they are repeating at SPC2012.

As always for SPC the sessions look good and there are just way to many of them so I have to try figure out what I want from SPC12.  Personally the big to changes for me in SharePoint 2013 are "Apps" & "Search" and with the architecture being more of an amendment than a fundamental shift, these are the 2 areas for me.  There are arguably other areas to focus on such as workflow & WCM but Apps & search are game changes for in my world.  Saying that there are so many sessions on these 2 topics I'm still double or triple booked using the MySPC tool (really nice tool by the way).

Sunday:
Register & collect my Surface & Nokia phone (probably not).  Walked thru the vendor stands see what is out there.  I also have a challenge with a colleague to find the most useless piece of SWAG for our team to judge once we are back next week  -their is a lot of utterly useless SWAG out there.  I did see Skytap that is worth a look at.  It's pretty much a development cloud solutions but I definitely think this is a great service - Good

Anyway I'll keep updating as time permits. 
Registration has been open all day - but going t the evening reception and too see the vendors.

Monday 12 Nov 2012:
Monday: Looks like a moan for Monday
  • Wifi Access  is lousy at the conference. - Poor
  • Keynote - no great shakes, yes there is yammer/social, developer model is a big change.  I'm pretty underwhelmed; not nearly as good as I was expecting.  The pitch of trust us it's good and what a great community - isn't really what I was looking for.  It ended pretty well with Scott Guthrie's Azure/developer piece - Average
  • Hands-on labs where closed most of the day - Poor
  • What’s New for developers in Office 2013 & SharePoint 2013
    Session has been informative on the app model.  It’s all CSOM, REST and azure apparently for SharePoint developers.  I’m certainly not sold on the app dev model, the security looks like a minefield - Average
  • Met 2 people from Texas over lunch – interesting stories and their thoughts quite different on the keynote - Good
  • The 1st afternoon session went to “What’s New in Search for SharePoint 2013”, search looks great, the UX is really good and all the best parts of FAST have been used for the SP2013 search.  FAST and SP search are now 1 product.  Management of search is great – I’m really glad I attend this over the dev session that that from all reports was brilliant - Great
  • Last session of the day I decided to go to “Search Architecture in SharePoint 2013” as I enjoyed the last session.  It was good.  Architecture is more like fast than SP2010 search.  The big component areas are: 1) Crawl 2) Index 3) Query 4) Analytics – relevance, links.   The is no managed property database in SP2013, it stored within the index.  Management of the crawl and query components looks good - Great
  • Met up with 2 guys to discuss the sessions we all went to for 1 hour at the end of the day, got their thoughts and really useful insights into other sessions and points- Great
Tuesday 13 Nov 2012:
Tuesday:  Pretty long day with some mixed sessions.
  • I couldn't get into my 1st 2 session options for the 1st morning session "Hybrid Overview Connecting SP2013 on-prem. to Office 365" or "Customizing Search Experiences in SharePoint 2013" - Poor
  • "0-60 with Office and SP2013 apps using Napa and VS2012" was my 4th choice session and it was OK - tool seems OK, it is good that it can move the code from the online IDE (NAPA) to VS 2012 - Average.
  • "Crawl and Index all enterprise Content for SP2013 Search - good presentation with lots of good tips - Great
  • Hands-on labs worked for me and I did 2 on search they are really good.  Others were having connectivity issues but it worked for - Great
  • "Understanding OAuth, REST & OData" with Ted Pattison was full - Poor
  • In it's place I went to "People search Extensibility in SP2013" there are excellent improvements in people search such as phonics search, improved user profile integration, both presenters were engaging and there demos we good to watch  - Great
  • "Step-by-Step: Building search driven applications" by Scott Hillier was good - search is so powerful and he showed great improvements for non-coded solutions.  The CSOM/REST search api's are great and his explanation of when to choose the options we good.  In summary for C# use CSOM for JavaScript either is good.- Brilliant
  • Getting pretty tired and the last session was "SharePoint 2013 Identity and Authentication Smackdown" fire alarm pretty much ruined the session and I was too tired to take in the content, the guys seemed knowledgeable but I got very little out of this session. Poor
Not looking forward to the Bon Jovi BBQ evening but going to check it out as I need to get dinner anyway.  Poor
Booze Session with Vitali & Chad was fun but burnt myself out.

Wednesday 14 Nov 2012:
Wednesday:  Missed the morning sessions (sic).
  • "Understanding 2013 tools and best practices for creating enterprise forms" - InfoPath is still there but not a preferred option and it looks like no improvements have been done.  Access services looks good, you use the access client app to describe for views (used to be called forms) and the underlying tables.  These tables are created in SQL or SQL Azure.  This looks like a good tool to cover the mini application space in organisations that is taken care of by Lotus Notes or Access client dbs (mdf).  Lastly we looked at using HTML5 and JavaScript to interact with SP lists as the underlying data source, this works but it remains to be seen if developers and organisations will embrace this manner for form generation - Good
  • "Custom Security Trimming for Search in SP2013" a really interesting session where the extremely knowledgeable guys looked at having ACL's/security trimming for 3rd party indexed systems.  It can be done but it get tricky real fast.  Early vs late filtering in the query pipeline were reviewed - Great
  • "Creating Custom Workflow Activities and Actions" was good - The tooling SPD is good for declarative workflows.  Obviously code activities are only available for on-prem. full trust farms (not on SP365).  Workflow is based on .NET 4.5 so a lot better than workflows in SP2010 - Good
  • Went to ask the experts and spoke to some folks at the vendor stands, nothing outstanding - Average
Thursday 15 Nov 2012:
Thursday:  Glad it's coming to an end

Highlight was the beer house in Vegas.  Didn't speak to much SharePoint at this Corey Roth Organised event.  Met some good guys and went onto a soiree/booze session in a suite in the Mandalay bay, continued talking and met some really nice folks.  Dean the reluctant SharePoint barmen pours way to a strong drink - Brilliant

Overall: SPC was good again, couple of small improvements such as poor Wifi & room size selection but overall this is always streets ahead of the other SP conferences.  Met some good people, learnt a lot from the speakers and attendees.  I'm kind of done with Vegas and it's a long trip for the folks from Europe but it's so good. I'll hopefully come to the next big release SPC - paul. 

Tuesday, 6 November 2012

Prerequisites for SP2013 Offline Install

RE: http://autospsourcebuilder.codeplex.com/

Background: This is a codeplex project that will slipstream SharePoint 2013 & SP2010.  It flattens out the binary install files, gets the latest CU, language packs & pre-requisites.  This will then allow you to install SharePoint to the latest build pref using AutoSPInstaller.

Doing an Offline install is useful as most production environments don't allow internet access to download the pre-requisites.  It's also useful as you don't need to wait for the download on each server.  In my current scenario it's useful as I am building over 100 VM's in My DTAP environment and a lot of these are full CI daily rebuilds.

Overview:  I have been doing SP2013 installs using AutoSPInstaller and I have put this post together to help people use Bian Lalancette's (@brianlala) AutoSPInstaller tool. Pretty obvious but AutoSPInstaller is a great tool so use it or Gary Lapointe install scripts to automate SharePoint installations.  I have been using the tool to install 2013 and this post shows all the pre-requisites to SP2013 RTM for an offline install.

Findings:  There are 13 files I am downloading to install SP2013 without an Internet connection.  Brian Lalancette has a codeplex project that you should checkout, I hadn't seen it until today.
It helps build the slipstreamed images for SharePoint both 2010 and 2013 so you have a full patched version of binaries to run offline installs.
Add the prerequisites to "C:\Software\SP\SharePoint\PrerequisiteInstallerFiles"
List of Files to download for SP2013 RTM prerequisites:
  1. http://hotfixv4.microsoft.com/Windows%207/Windows%20Server2008%20R2%20SP1/sp2/Fix354400/7600/free/427087_intl_x64_zip.exe
  2. http://hotfixv4.microsoft.com/Windows%207/Windows%20Server2008%20R2%20SP1/sp2/Fix402568/7600/free/447698_intl_x64_zip.exe
  3. http://hotfixv4.microsoft.com/Windows%207/Windows%20Server2008%20R2%20SP1/sp2/Fix368051/7600/free/433385_intl_x64_zip.exe
  4. http://download.microsoft.com/download/9/1/3/9138773A-505D-43E2-AC08-9A77E1E0490B/1033/x64/sqlncli.msi (http://go.microsoft.com/fwlink/?LinkId=228086)
  5. http://download.microsoft.com/download/E/7/6/E76850B8-DA6E-4FF5-8CCE-A24FC513FD16/Windows6.1-KB2506143-x64.msu (http://go.microsoft.com/fwlink/?LinkId=233187)
  6. http://download.microsoft.com/download/b/a/4/ba4a7e71-2906-4b2d-a0e1-80cf16844f5f/dotnetfx45_full_x86_x64.exe (http://go.microsoft.com/fwlink/?LinkId=225702)
  7. http://download.microsoft.com/download/D/7/2/D72FD747-69B6-40B7-875B-C2B40A6B2BDD/Windows6.1-KB974405-x64.msu (http://go.microsoft.com/fwlink/?LinkId=226830)
  8. http://download.microsoft.com/download/0/1/D/01D06854-CA0C-46F1-ADBA-EBF86010DCC6/rtm/MicrosoftIdentityExtensions-64.msi (http://go.microsoft.com/fwlink/?LinkId=252368)
  9. http://download.microsoft.com/download/E/0/0/E0060D8F-2354-4871-9596-DC78538799CC/Synchronization.msi (http://go.microsoft.com/fwlink/?LinkId=224449)
  10. http://download.microsoft.com/download/A/6/7/A678AB47-496B-4907-B3D4-0A2D280A13C0/WindowsServerAppFabricSetup_x64.exe (http://go.microsoft.com/fwlink/?LinkId=235496)
  11. http://download.microsoft.com/download/7/B/5/7B51D8D1-20FD-4BF0-87C7-4714F5A1C313/AppFabric1.1-RTM-KB2671763-x64-ENU.exe (http://go.microsoft.com/fwlink/?LinkId=251471)
  12. http://download.microsoft.com/download/9/1/D/91DA8796-BE1D-46AF-8489-663AB7811517/setup_msipc_x64.msi (http://go.microsoft.com/fwlink/?LinkId=219568)
  13. http://download.microsoft.com/download/8/F/9/8F93DBBD-896B-4760-AC81-646F61363A6D/WcfDataServices.exe (http://go.microsoft.com/fwlink/?LinkId=247921)

Files I add to my SP2013 binaries for an Offline install

Rather use the new tool "AutoSourceCodeBuilder"

My slipstreamed SharePoint 2013 binaries
 Update 07 November 2012: For my Windows 2008 R2 SP1 OS installation, the WCFDataServices.exe prerequisite will look for trusted certificates on the Server, if it can't find them it will try get them from the Internet.  I downloaded "Rootsupd.exe" (I'm not sure about support for "Update for Root Certificates For Windows XP [April 2012] (KB931125)" for my Windows 2008R2 SP1OS install from Microsoft).
The PowerShell to install the certificates is (this can be incorprated into your autobuild scripts if you need it or just run it (be warned there is not feedback on the install)):
PS> & "c:\rootsupd.exe"

Update 15 July 2013: Below are the latest pre-requisites I downloaded for SP2013 using AutoSPSourceBuilder.


Note:  I like to have a large disk for my c rive for the system files and also the Windows "page file", when calculating my disk space for my c drive assuming my page file is going to my c drive, I add 3 times the possible memort upgrade per machine.  So it is common to start with 32GB on a SQL box, when their is a bottleneck, it is often SQL and memory is key to SQL performance.  So my page file portion of my c drive would by on 64 GB multiplied by 3.  So My c drive in this case would be 64GM x3 plus program files, so at least 250 GB.  I'd probably go for 300GB.  this is my preference and I'm sure I'm going overkill but in controlled wel managed environments this will aloow for growth.

More Info:
WCFDataService install issue: http://schoennie.blogspot.co.uk/2012/10/installing-sharepoint-2013-preview.html

Friday, 26 October 2012

SQL 2012 Slipstreamed Installation

Overview:  I like automation.  I use AutoSPInstaller for SharePoint even on developer VM's and taking this further I want to automated SQL installations.  This post explains how to installed SQL Server 2012 on a domain controller.  Sure it's not a good idea but I want a standalone development machine for SharePoint 2013 Preview.

 Once SQL Server 2012 is installed via the PowerShell completing, verify SQL is accessible.
 Thanks to Wayne Senior for the PowerShell scripts.

Thursday, 25 October 2012

Installing SharePoint 2013 RTM - a first look

Overview: I'm installing SharePoint 2013 for a developer machine, more precisely I'm using 2 virtual machines as I want AD off my development Virtual Machine (VM) (also Azure Workflows can't be installed on the DC). This is a basic developer machine and in this post I stop once SP2013 is installed.  My setup is: SharePoint 2013 logo

  • Laptop: 32GB RAM running Windows 8 Enterprise.  I am using VMware workstation 9 for virtualisation.
  • Virtualisation: VMware workstation 9 that will host 2 VM's.  Both VM's run on Windows 2008 R2 x64.  They are fully patched/updated to today 24 Oct 2012.
  • VM1:  This is my domain controller (DC), gave the VM a static IP and performed dcpromo. Installed ADFS and rebooted the VM.  Assign 1GB RAM & 1 CPU to the VM. 
  • VM2: Created a new machine based on my patched VM windows 2008 R2image.  Renamed the VM and joined the VM onto my domain (my domain is demo.dev, I also made the IP address static).  Checked the VM can connect to the Internet.  16GB RAM 4 virtual CPU's.  100GB c drive.  BGInfo for VM2 is shown below:

Preparation for SP2013 Install:
  1. Install SQL Server 2012 on VM2 I slipstreamed with #CU2 but the current version today is #CU4.  I manual full install of SQL 2012 is perfect.  As the Cumulative Updates (CU) are aggregated/cumulative and large, only install the latest 1 that covers all the previous CU fixes
  2. Download SharePoint 2013 from TechNet or MSDN to your laptop/host.  Load the iso image for installation (includes SP1 that is needed for SP2013).  .

SharePoint 2013 Prerequisites:
1.> Run the SharePoint 2013 Enterprise RTM by running "splash.hta" to run the install wizards.
2.> On the Splash screen >Click on "Install software prerequisites".  This installs the 11 prerequisites, reboot to complete the SP2013 prerequisites install.

3.> After a reboot, you will continue to complete the SP2013 prerequisite install.  Once the install is complete you will see the confirmation shown below:
4.> Click "Finish" and allow the VM to reboot.

SP2013 Installation:

1.> On the Splash installation screen click > "Install SharePoint Server".  You will be prompted to enter SharePoint's licence key.
2.> Accept Microsoft's terms and conditions.  And Choose to perform the "complete" install (As per SP2010 don't install the standalone version - it's too restrictive).
3.> Close the installation wizard once the install is completed.  Select the check box "Run the SharePoint Products Configuration Wizard now" (default).

Run the SharePoint 2013 Configuration Wizard:
Follow the screen shots below through to configure the SP2013 farm on the VM.







Initial Farm Config Wizard:
1.> Select the services you want.  I took the default services which is nearly all of them so it takes awhile to provision.
2.> Ensure the Central Administration (CA) portal is accessible.
3.> Create a Site Collection (I create a Team Site on the default Web Application created during the configuration setup).

4.> Ensure the site is working.

Fin.

Summary:
This machine is perfect for looking at SP2013 features or continue building into a fully fledged developer rig (Add VS2010 and tools to build an ideal dev VM rig).  This is a simple install to get you going, for production or DTAP, you need to plan your builds to meet your needs, use multiple managed accounts and preferably script your install (gives you a documented, repeatable system setup, databases can be named clearly, far greater install control.  I'd wait for Brian Lala AutoSPInstaller to build DTAP environments if possible - AutoSPInstaller is awesome as lots of SP2010 bruised folks know.)

More Info:
Hardware & Software requirements for SP2013: http://technet.microsoft.com/en-us/library/cc262485(v=office.15).aspx
How to: Set up an on-premises development environment for apps for SharePoint: http://msdn.microsoft.com/en-us/library/fp179923(v=office.15).aspx
Must read: http://www.microsoft.com/en-us/download/details.aspx?id=30384
SP2013 Prerequisites

 

Wednesday, 24 October 2012

SharePoint 2013 release on MSDN


SharePoint 2013 Enterprise edition is available to download through MSDN.  I was not expecting the release but on my MSDN Subscription is SharePoint 2013 for download.


All the Office 2013 products are also available.

I created a post documenting setting up SharePoint 2013 for dev/play.  This is a very basic install but shows the screens and a very simple easy setup.

Thursday, 4 October 2012

VMWare workstation setup

Problem:  Occasionally I need to setup VM's on VMware workstation for development environments and I always forget the steps so this post aims to record a basic set of steps to get multiple VM's on VMware workstation 7 on a corporate network.  It works the same way for VMware 8.  This is not my area of expertise but it will hopefully help me in future and any other SharePoint dev.  This post expinas the networking when using VMware workstation 7.

Architecture Overview:  I have Windows 7 x64 on my host physical workstation with 16 GB of RAM.  I have 3 VM's in my dev environment to host VS, SP2010 & FAST.
VM1: Windows 2008 R2 that is my domain controller (1 CPU & 1GB RAM)
VM2:  Windows 2008 R2 with SQL Server 2012 Developer edition, VS 2010 SP1 Ultimate with VS SP SDK, Azure tools version 1.7, SP2010 SP1 with CU's (4 CPU's & 10 GB RAM)
VM3: Windows 2008 R2 with FAST (2 CPU's & 3GB RAM).
This architecture is good as all dev can use the clones and merely need the PC/laptop making them agnostic of the clients architecture.

Networking Summary:
(The internal networked VM's work together in a private network, the VM's can reach out to the Internet & the last step is to add access to the SharePoint websites via the network editor.

Steps:
1.> Install VMware 8 I am using version 7 as that is what my licence is (about £150) on the host.  I then built the machines explained in my "Architecture Overview" section. 
2.> Edit the network setting on VM1 (My DC).  Set the networking to NAT.
3.> Open the "Virtual Network Editor" (Hint: this is in you program files under the VMware folder).
Select the NAT networking type and click the "NAT Settings.." button.
4.> In the "NAT Settings" dialog popup window record the Gateway IP (you will use this on the VM network card IP4 network settings to give you Internet access).
5.> Power up the VM (in my scenario this is VM1 - DC) from the VMware Workstation client console.
6.> Remote into VM1.  Edit the network adaptor settings as shown below (note: that the Default gateway is the ip adr stored from the look at the "VMware network editor" in step 4.  (Hint: I use the 192.168.1.* for my IP numbers but use as you see appropriate).
7.> Open IE on VM1 and check networking is working.
8.> Optional hint:  You may need to enter proxy details on the VM.  To do this get you proxy setting from IE on the host machine.  Check you can ping the proxy (if you can't you'll need to add a hosts entry on VM1).  Open IE > Internet options > Connections tab >Lan Setting > add the proxy details.  At this powering also bypass the local urls for the proxy server (Advanced button), this allows you to access the local web sites.
9.> Repeat the same steps on the other VM's.

Setup http & rdp access fromt he corprate network.
1.> Open the "Virtual Network Editor" on the host machine.
2.> Select the NAT networking type and click the "NAT Settings.." Button.
3.> Add "Port Forwarding" setting.  The entry highlighted does http passthru to VM2 (my SharePoint VM).  You will need to also add port forward for rdp access (also ensure the VM allows remote access).

4.> Open the RDP client tool and enter the IP of the host machine and the port number you will be going to the host on (editor with translate the port)

Note: Only 1 port can be used on the host, so if you have multiple IIS instances on different VM's you can't access them simultaneously.