Version 0.1 - 2008-05-07
Version 0.2 - 2008-06-24
Version 0.3 - 2009-06-24 (SP2, CU, IIS7, SQL2K8)

Vorbedingungen:

* Betriebssystem und alles weitere Software ist in der Hauptsprache Englisch       * OS und Software ist 64-Bit       * Alle Server haben min. 4 GB RAM       * Der Datenbankserver hat 8 GB RAM und min. 2 CPU's mit 2 Cores       * Min. 2 Partitionen mit zwei getrennten Plattensystemen       * PowerShell auf allen Sharepoint Servern für Scripting   

Über die Punkte oben kann man streiten, aber das Sizing ist für mich min. wenn ein Kunde ein Farm mit zwei SharePoint und einem DB Server aufbaut. Die Hardware ist so oder so 64-bit fähig und 8 GB RAM sind heute günstig zu erwerben. Der Erfolg einer SharePoint Anwendung steht und fällt mit der Performance des SQL Servers. Also sind das meine Wunschrahmenparameter. Beim SQL mache ich nur Zugeständnisse, was die Platten angeht. Für alle Datentypen (SystemDB’s, tempdb, Datafiles und Logfiles) eigene getrennte Plattensystem zu haben, ist wünschenswert, aber das kann heute gerade bei großen Datenmengen teuer werden, besonders, da ich bisher auch nur wenige schnelle SAN Implementierungen gesehen habe :-)

image3

1. Deaktivierung der Virenscanner für die Installation = Beschleunigung des Setup (besonders wichtig beim Ausführen von PSCONFIG)       2. IIS Default Site stoppen und IIS Logsettings (Pfad und Details) konfigurieren       3. Installation <strike>MS SQL Server 2005 SP2</strike> MS SQL Server 2008 SP1                  1. Konfiguration der Default Datenbankpfade auf die entsprechenden Laufwerke             2. Einstellung für ein sinnvolle Defaultgröße (min. 100 MB Daten und 50 MB Log)             3. Wachstumsraten anpassen (min. 100 MB Daten und 50 MB Log)             4. Die Größen richten Sich nach dem geschätzten Volumen, je mehr man ausgeben darf desto besser. Ich habe auch schon Konfigurationen mit 20 GB (ja GB) Initialgröße gemacht, so verhindert man die Fragmentation auf der Platte und erhöht die Wahrscheinlichkeit, die Anwendung schnell zu halten               4. Installation MOSS 2007 mit SP1       5. Installation Language Packs falls notwendig                 1. Install WSS Language Pack (e.g. x64, German)            2. Install MOSS Language Pack (e.g. x64, German)            3. <strike>Installation WSS/MOSS SP1 Language Packs </strike>              6. <strike>Installation Post SP1 Rollups (</strike>[<strike>http://www.harbar.net/articles/postsp1.aspx</strike>](http://www.harbar.net/articles/postsp1.aspx)<strike>)          

Installation SP2 (siehe auch mein SP2 Artikel) 1. WSS SP2 + WSS Language Pack SP2 2. MOSS SP2 + MOSS Language Pack SP2 7. Installation des letzten Cumulative Update (CU) 8. IIS Logverzichnis von Laufwerk C um konfigurieren auf ein anderes Laufwerk 9. (Optional) Für weitere Server in der Farm alle Schritte bis hier her wiederholen 10. DNS einrichten 1. Portal: portal.domain.local 2. MySite: my.domain.local 3. SSP: moss-prod-ssp.domain.local 4. Admin: moss-prod-admin.domain.local 11. Einrichten der Service Accounts 1. Farm: svcMossProd 2. SQL: svcMossProdSql 3. Crawl: svcMossProdCrawl 4. Content Access: svcMossProdContentAccess (Achtung: Innerhalb von SharePoint mur dann der Netbiosname verwendet werden, also die ersten 20 Zeichen = svcMossProdContentAc) 5. SSP: svcMossProdSsp 6. MySite + Portal: svcMossProdApp 12. Einrichten der Security Gruppen 1. Farm Admins: sec-MossProdFarmAdmin
Alle User die Sharepoint administrieren sollen 2. Service Accounts: sec-MossProdSvcAccounts
Alle Service Accounts svcMossProd* 13. Konfiguration der DCOM Config für alle AppPool und Service Accounts (sec-MossProdSvcAccounts) mit “Local Launch” und “Local Activation” für “IIS WAMREG admin service” und “OSearch” auf allen Servern (ohne SQL) 14. (Optional) Service Principal Names (SPN) und Delegation pflegen 1. Entscheidung für oder gegen IIS7 Kernelmode Authentication (Wenn NLB für die WFE geplant ist, dann auf jeden Fall gegen Kernelmode AUth entscheiden) 2. Setzen der SPN’s auf die Maschine(n) oder die Service Accounts (Kernelmode Auth = Off) 15. Erstellen einer Farm auf dem Applikationsserver (Crawl, Central Admin) 16. Joinen der Server (1 WebFrontEnd Server oder zwei bei Load Balancing bevorzugt Windows NLB) 17. Konfiguration der Rollen (WFE = WebApplication, Query / APP = CentralAmin, Index) 18. Konfiguration des Shared Service Provider 1. Anlegen einer eigene Applikation für den SSP (moss-ssp.domain.local) 2. Anlegen einer eigene Applikation für die MySite (my.domain.local) 3. Alle Applikationen bekommen einen eigene extra Domain User als AppPool Account (falls wir Kerberos machen wollen) 4. Alle Anwendungen werden mit HostHeader angelegt (unterstützt den Einsatz von Kerberos und vermeidet kryptische URL’s mit Port am Ende) 19. Alle Datenbanken, die angelegt werden, bekommen eindeutige Namen. Ausnahmen sind ConfigDB (bleibt beim Standard) und ContentDB der Central Administration (weil -> keine Relation zu Aufwand und Nutzen). In der Regel Kennzeichnung des Systembetriebs im Namen (MOSS_PROD_Portal_00). 20. Konfiguration des Operations Tab. Wichtige Optionen: 1. “Diagnostic logging”: Pfad vom Standard auf C umbiegen auf ein anderes Laufwerk. Wichtig: Dieses Setting wird in der Farm genutzt und alle beteiligten Server die SharePoint Software installiert haben, müssen über das Laufwerk und den Ordner verfügen. Es kann sonst zu unverständlichen Fehlern wie “Access Denied” kommen. 2. “Update farm administrator’s group”: Farm Administrators durch eine AD Gruppe für die MOSS Administration erweitern. Diese Gruppe verwenden wir auch weiter, da der Setup Account sonst der einzige ist der alle Rechte hat und die Pflege so sehr umständlich wird. 21. Konfiguration des Application Management Tabs. Wichtige Optionen: 1. “Create or extend Web application”: Erstellen er Anwendung für die Portal Applikation. Auch hier HostHeader für die URL, eigener AppPool Account (Alternative: Pool der MySite mitbenutzen), Pfad auf anderes Verzeichnis als C setzen, DB Namen vergeben. 2. “Web application general settings”: Einstellen der default Zeitzone für MySite und Portal 3. “Content databases”: Bei Anwendungen mit hohen userzahlen und vielen SiteCollection (MySite -> User = SiteCollection) erzeuge ich eine sinnvolle Anzahl an Datenbanken. Beim Anlegen von SiteCollections kannverteilt sich so die Datenmenge auf x Datenbanken was für Backup- und Restore Operatione gut ist. Es kann auch sinnvoll sein, dass wir die Portal CM S SiteCollection in eine eigene Content DB legen, diese dann offline nehmen, damit wir in der Datenbank nur eine SiteCollection haben. Der Rest an SiteCollections verteilt sich dann entsprechend. 4. “Self-service site management”: Für MySite einschalten 5. “Policy for Web application”: An dieser Stelle mache ich es so, dass ich auf alle Applications die Farm Administrator Group (sec-MossProdFarmAdmins) aus de AD mit Full Control berechtige. Es sollten sowieso nur hoch previligierte Accounts enthalten sein. 22. Konfiguration des Shared Service Provider. Wichtige Punkte: 1. “Site Settings - Advanced permissions”: Farm Admin AD Gruppe mit Full Control berechtigen (ist zwar per Policy auch schon drin, aber der Vollständigkeit halber sollte das pasieren) 2. “Personalization services permissions”: Farm Admin AD Gruppe auf alle Optionen berechtigen (ist bisher nicht durch Policy abgedeckt) 3. “User profiles and properties”: Import und Schedule konfigurieren 4. “Search settings”: Schedule konfigurieren 23. SQL Datenbanksettings 1. Check der MOSS Datenbanken auf: Initialgrösse, Wachstumsraten, Recovery Model (Simple oder Full) 2. Backup der Datenbanken. Wichtig: Bei Recovery Full müssen die Logs gebackuped werden, sonst läuft die Platte voll 3. Wartungsplan: Index Rebuild/Reorg nach MS Whitepapaer und Anforderungen 24. Backupscripte für IIS Metabase Schedulen 25. 12 Hive - BIN in den Enviroment Variables in den Pfad aufnehmen 26. STSADM PowerShell Kombi für Speichern der Ergebnisse von STSADM - o enumsites -URL <portal + mysite url> für Restore und Reportingzwecke 27. Screenshots nicht vergessen :-) Zur Orientierung: Bei mir wird es in der Regel ein Dokument mit ca. 150 Screenshots 28. (Optional) Bierchen trinken, Frau anrufen, dass es später geworden ist und tief Luft holen

Ciao Marco