sábado, 16 de julio de 2016

Parte 2–Sharepoint 2016 creando la granja

Indice de Instalación de Sharepoint 2016

Ingresar al Application Server “Custom” con una cuenta con privilegios de sysadmin sobre el SQL Server. Mi recomendación es ingresar con la cuenta de Farm para evitar problemas futuros.

Prueba la conexión al SQL Server, mediante un archivo .udl https://blogs.technet.microsoft.com/michaelgriswold/2014/01/06/the-easy-way-to-test-sql-connectivity/

image

image

Ejecuta una consola de PowerShell_ISE como ADMINISTRADOR

%windir%\system32\WindowsPowerShell\v1.0\PowerShell_ISE.exe

Recomendacion: agregar un break al inicio, e ir step by step ejecutando el script, así valida los valores en ejecución. En amarrillo algunas secciones importantes del script.

Para este script se definieron 3 cuentas de servicios, durante pasos posteriores se irán definiendo otras cuentas de servicio (Sharepoint SuperReader, Sharepoint SuperUser, Sharepoint Search Services, Sharepoint Claim-Kerberos, etc ):

  • svcspfarm: Sharepoint Server Farm Account, cuenta de identidad para el timer y central administration
  • svcspwapp: Sharepoint Web Application Account, cuenta de identidad para ejecutar los application pools del IIS
  • svcspsvcapps: Sharepoint Services Apps Account, cuenta de identidad para ejecutar los applications pools de los servicios.

Estas cuentas deben tener las siguientes local policies configuradas en cada servidor:

  • Adjust memory quotas for a process
  • Allow log on locally
  • Impersonate a client after authentication
  • Log on as a batch job
  • Log on as a service
  • Replace a process level token

Cuando te lance la pantalla de configuración de alias (x86, x64), habilita todos los protocolos

image

Descargar Script (validen los datos, tales como Host de SQL Server, cuentas, etc)

############################################################
#    Crear un farm de SharePoint 2016
#    Creado por Christian Azcon
############################################################
$ver = $host | select version
if ($ver.Version.Major -gt 1)  {$Host.Runspace.ThreadOptions = "ReuseThread"}
Add-PsSnapin Microsoft.SharePoint.PowerShell

########################################
# Defino Settings #
########################################

#SQL Alias
$AliasName = "SQLSP2016" 
# Cambia el nombre por el del SQL--> FQDN
$ServerName = "HostNameSQLServer.contoso.net"

$configPassphrase = 'SeguridadFraseSharepoint2016'

# Service accounts
$DOMAIN = "CONTOSO"

Write-Output "Defino las cuentas de usuario"
$accounts = @{}
$accounts.Add("svcspfarm", @{"username" = "svcspfarm"; "password" = 'xxxxxxxxxxx'})
$accounts.Add("svcspwapp", @{"username" = "svcspwapp"; "password" = 'xxxxxxxxxxx'})
$accounts.Add("svcspsvcapps", @{"username" = "svcspsvcapps"; "password" = 'xxxxxxxxxxx'})
 
Foreach ($account in $accounts.keys) {
    $accounts.$account.Add("credential", (New-Object System.Management.Automation.PSCredential ($DOMAIN + "\" + $accounts.$account.username),  (ConvertTo-SecureString -String $accounts.$account.password -AsPlainText -Force)))
}
Write-Output "Se inician las cuentas de usuario"

########################################
# Creo the SQL Alias
########################################

$x86 = "HKLM:\Software\Microsoft\MSSQLServer\Client\ConnectTo"
$x64 = "HKLM:\Software\Wow6432Node\Microsoft\MSSQLServer\Client\ConnectTo"
 
#Verifico si la clave ConnectTo ya existe, y la creo en caso contrario
if ((test-path -path $x86) -ne $True)
{
    write-host "$x86 no existe"
    New-Item $x86
}
if ((test-path -path $x64) -ne $True)
{
    write-host "$x64 no existe"
    New-Item $x64
}
 
#Defino el tipo de alias
$TCPAlias = ("DBMSSOCN," + $ServerName)
 
#Creo el TCP/IP Aliases
Write-Output "Creo los registros para el alias"   
New-ItemProperty -Path $x86 -Name $AliasName -PropertyType String -Value $TCPAlias
New-ItemProperty -Path $x64 -Name $AliasName -PropertyType String -Value $TCPAlias
Write-Output "Se crearon los alias"

# Abro cliconfig para verificar el alias
Start-Process C:\Windows\System32\cliconfg.exe
Start-Process C:\Windows\SysWOW64\cliconfg.exe 

# 30 segundos para habilitar protocolos
Write-Output "Habilite los protocolos en cliconfig"   
Start-Sleep -s 30

########################################
#    Inicio la configuracion de la granja
########################################

Write-Output "Inicio la configuracion de la granja"   
# Farm configuration
$s_configPassphrase = (ConvertTo-SecureString -String $configPassphrase -AsPlainText -force)
 
$serverDB = $AliasName
$dbConfig = "Sharepoint_Configuration"
$dbCentralAdmin = "Sharepoint_Content_CA"
 
$caPort = 9191
$caAuthProvider = "NTLM"
 
########################################
# Creo la granja
########################################

Write-Output "Creando la base de configuracion $dbConfig"

# Es recomendable que el front end tenga el host de distributed cache, por ello uso -skipRegisterAsDistributedCachehost $True
New-SPConfigurationDatabase -DatabaseName $dbConfig -DatabaseServer $serverDB -AdministrationContentDatabaseName $dbCentralAdmin -Passphrase  $s_configPassphrase -FarmCredentials $accounts.svcspfarm.credential -skipRegisterAsDistributedCachehost $True -LocalServerRole Custom


# Verifico que la granja existe y esta corriendo. Si no, termino el script
$farm = Get-SPFarm
if (!$farm -or $farm.Status -ne "Online") {
    Write-Output "La Farm no se creo o no esta ejecutandose. Fin del script. Revise los logs en la carpeta Temp"
    exit
}
 
Write-Output "Creando el site de Central Administration en el puerto $caPort"
New-SPCentralAdministration -Port $caPort -WindowsAuthProvider $caAuthProvider
 
Write-Output "Se creo correctamente el Central Administration"
 
########################################
# Ejecuto tareas de configuracion de wizard
########################################
 
Write-Output "Instalando Help Collections"
Install-SPHelpCollection -All
 
Write-Output "Inicializando security"
Initialize-SPResourceSecurity
 
Write-Output "Instalando services"
Install-SPService
 
Write-Output "Registrando features"
Install-SPFeature -AllExistingFeatures
 
Write-Output "Instalando Application Content"
Install-SPApplicationContent
 
########################################
# Add managed accounts
########################################

Write-Output "Creando managed accounts ..."
#New-SPManagedAccount -credential $accounts.svcspfarm.credential Ya se agrega sola cuando se crea la granja
New-SPManagedAccount -credential $accounts.svcspwapp.credential
New-SPManagedAccount -credential $accounts.svcspsvcapps.credential

########################################
#Start Central Administration
########################################
Write-Output "Iniciando Central Administration..."
& 'C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\BIN\psconfigui.exe' -cmd showcentraladmin

########################################
#Verifico el farm
########################################
Write-Output "Verifico la version del farm"
(get-spfarm).buildversion

Write-Output "Se completo el build del Farm correctamente!!!."

No hay comentarios:

Publicar un comentario