martes, 25 de octubre de 2016

Instalando SharePoint Server Enterprise 2016 En Premisas Parte IV

Ahora vamos a instalar el servidor Office Online Server para que los usuarios puedan ver y editar los documentos desde el portal de SharePoint.


Este servidor solo requiere que tengas instalado Windows Server 2012 en adelante y los requisitos de hardware son los mismos para un servidor de SharePoint Server 2016 con rol de Front-End.

Referencia MS: https://technet.microsoft.com/es-es/library/jj219455(v=office.16).aspx

Los prerequisitos es lo que vamos a instalar de primero.  Para ello vamos a ejecutar el sigueinte commando de Windows powershell (Recuerde este servidor no tiene mas de Windows Server instalado):  

Add-WindowsFeature Web-Server,Web-Mgmt-Tools,Web-Mgmt-Console,Web-WebServer,Web-Common-Http,Web-Default-Doc,Web-Static-Content,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Security,Web-Filtering,Web-Windows-Auth,Web-App-Dev,Web-Net-Ext45,Web-Asp-Net45,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Includes,InkandHandwritingServices,NET-Framework-Features,NET-Framework-Core,NET-HTTP-Activation,NET-Non-HTTP-Activ,NET-WCF-HTTP-Activation45,Windows-Identity-Foundation 

Nos desplegará una pantalla como la que sigue:


Y al finalizar le solicitará que reinicie el servidor


Después de reiniciar el servidor deberá instalar los siguientes componentes:

.NET FRAMEWORK 4.5.2
Visual C++ Redistributable for VS 2015
MicrosoftIdentityModelExtension.dll

Si lo instalas sobre un Windows Server 2012 r2, solo necesitarias instalar las extensiones y Visual C++ Redistributable.

Para instalar Visual C++ Redistributable for VS 2015 haz lo siguiente:

http://go.microsoft.com/fwlink/p/?LinkId=620071

Haz clic en el enlace y te llevará a la siguiente pantalla:


Selecciona la versión y haz clic en el botón Next.


Presiona el botón Install y espera a que termine. 


Para instalar la IndentityModelExtension haz lo siguiente:

 así que dale clic al siguiente enlace para que lo descargue e inicies la instalación del mismo.

http://go.microsoft.com/fwlink/p/?LinkId=620072

Sino te funciona lo puede consultar en el siguiente enlace: 

https://technet.microsoft.com/es-es/library/jj219455(v=office.16).aspx#Prepare servers to run Office Online Server


Presiona el botón Install y espera a que termine.

Para instalar Office Online Server debemos de seguir los pasos descritos a continuación:


  1. Descargar Office Online Server desde el Centro de Servicios de Licencias por volumen (VLSC). La descarga se encuentra debajo de los productos de Office en el VLSC portal.
  2. Ejecute Setup.exe.
  3. En la lectura de la página Términos de licencia del software de Microsoft, seleccione Acepto los términos de este acuerdo y haga clic en Continuar.
  4. En la página Elegir una ubicación de archivo, seleccione la carpeta donde desea que el servidor de archivos de Office Online para ser instalado (por ejemplo, C:\Archivos de programa\Microsoft Office Web Apps) y seleccione Instalar ahora. Si la carpeta especificada no existe, el programa de instalación crea para usted.
  5. Cuando la instalación termine de instalar Office en el servidor en línea, elija Cerrar.

Le recomendamos que instale Office Online Server en la unidad del sistema Operativo.


Para configurar OOS haga lo siguiente:

Ejecute las siguientes líneas de comando:

Import-Module OfficeWebApps

New-OfficeWebAppsFarm -InternalUrl "<HTTPS Url>" -ExternalUrl "<HTTPS Url>" -SSLOffloaded –EditingEnabled

Donde -InternalUrl es la url del servidor OOS es decir donde esta instalando OOS.  Si desea instalar sobre http aunque no es recomendado para servidor de producción, puede especificar el comando de la siguiente forma:

PS C:\Windows\system32> New-OfficeWebAppsFarm -InternalURL http://OOServerHostName  -AllowHttp -ClipartEnabled -TranslationEnabled -EditingEnabled -ExcelWorkbookSizeMax 2000 –AllowHttpSecureStoreConnections –Verbose


Luego ejecute la siguiente línea de comando en powershell:

Set-Service -Name C2WTS -startuptype "automatic"
Start-Service -Name C2WTS


Luego debemos de validar que el servicio Web nos responda.   Escriba en el navegador la siguiente dirección;

http://hostname/hosting/discovery

Donde hostname es el nombre del servidor donde instaló OOS.  Deberá mostrarle una página similar a la que le muestro abajo:

Luego ejecutar la siguiente línea de comando:

Set-OfficeWebAppsFarm –OpenFromURLEnabled 


Le desplegará la siguiente información:


Ahora vamos a validar la WopiZone como http de la siguiente forma desde la ventana de PowerShell:

PS C:\Users\SPAdmin> Get-SPWOPIZone
internal-http
PS C:\Users\SPAdmin> Set-SPWopiZone -zone "internal-http"


Ahora  desde el Servidor de Applicación donde esta instalado el Central Administration ejecutar desde SharePoint Management Shell la siguiente línea de comando;

New-SPWOPIBinding -ServerName -AllowHTTP


Desplegará la siguiente línea de comando:


Luego ejecutaremos las suguientes líneas:

PS C:\Users\SPAdmin> Set-SPWOPIZone internal-http
PS C:\Users\SPAdmin> $config = (Get-SPSecurityTokenServiceConfig)
PS C:\Users\SPAdmin> $config.AllowOAuthOverHttp = $true

PS C:\Users\SPAdmin> $config.Update()

Luego desde el mismo servidor podemos ejecutar la siguiente prueba desde el navegador de Internet Explorer:

http://hostnameOOS/x/_vti_bin/ExcelServiceInternal.asmx

Deberá mostrar los métodos disponibles para Excel Service:



Y luego podemos subir un documento de excel, word y powerpoint. y visualizarlo y editarlo desde la web.

Prueba de Excel:

Prueba de PowerPoint:


Prueba de Word:


Y eso es todo por este artículo donde vimos como instalar Office Online Server en la granaja de SharePoitn 2016.

Nos vemos en una próxima donde veremos como configurar los servicios de SharePoint Server 2016.

Hasta la próxima,

Juan Manuel Herrera Ocheita

Instalando SharePoint Server Enterprise 2016 En Premisas Parte III

En esta tercera parte vamos a instalar el servidor Front-End con la opción MinRole que es nueva opción que Microsoft entrega en este versión de SharePoint 2016 para garantizar la optimización en cuanto a los servicios que deben de correrse en el servidor para dicho rol.



Siempre que instalamos SharePoint necesitamos antes instalar los prerequisitos esto lo podemos hacer en línea o fuera de línea si los servidores por temas de políticas de seguridad no tienen acceso a Internet entonces tendrás que hacerlo fuera de línea.

Asegurese de conectarse al servidor donde va hacer la instalación del front-end que sea la misma cuenta conque instaló el primer servidor normalmente se nombra esta cuenta spadmin, spinstall o spsetup.   Esta cuenta debe de tener permisos de administrador local en el servidor donde vamos a realizar la instalación.  Favor no utilice la cuenta Domain Admin no es aconsejable por temas de seguridad.  Cree cuentas para cada servicio de SharePoint y para realizar esta instalación.

Para más información vea el siguiente enlace:


Ejecutamos la página splash.html  nos despliega la siguiente pantalla:


Luego seleccionamos la opción Install software prerequisites


Nos pedirá que reiniciemos una vez por lo menos y luego finalizará


Luego de finalizar exitosamente nos mostrará una pantalla para iniciar el asistente.  Para continuar presionamos el botón Close.


Página de bienvenida, presionamos el botón Next


Luego nos pregunta si vamos a crear una nueva granja o conectarnos a una existente.  Como ya hemos creado una en la parte II de esta serie vamos a indicar que deseamos conectarnos a un servidor de granja existente (Connect to an existing server farm). Para continuar presionamos el botón Next.


Ahora especificamos el nombre del servidor de SQL Server y la base de datos de configuración de la granja que habitualmente se llama SharePont_Config.  Podemos presionar el botón Retreive Database  Names y nos traerá las base de datos.  Si no nos da ninguna información deberemos de verificar el nombre del servidor y su instancia de base de datos, tambien la cuenta que estamos conectados al servidor debería ser la cuenta spadmin o la cuenta con que instalamos el primer servidor. Para continuar presionamos el botón Next.


Luego nos pedirá que ingresemos la frase de la granja que escribimos cuando instalamos el primer servidor de Aplicación en la Parte II. Para continuar presionamos el botón Next.


Ahora vamos a especificar el MinRole que para este servidor será Front-end.  Para continuar presionamos el botón Next.


Ahora nos muestra la pantalla de completación del asistente, para una ultima revisión.Para continuar presionamos el botón Finish.


Iniciará el proceso  de instalación


Si todo salió bien mostrará la pantalla de Configuración exitosa.  A veces nos da error y muy probablemente es porque la cuenta que utilizamos no tiene suficientes permisos en el servidor de base de datos o bien no hay abierto un puerto que utiliza para configurar SharePoint  se revisa el error del log y se actua conforme a la información que nos muestra.


Presionamos el botón de Finish. Y  ya hemos instalado el segundo servidor de la granja con el MinRole de Front-End.

Si vemos en el Central Administration podemos ver la diferencia de los servicios que se activan en el Font.-End Comparado con el de aplicación.

MinRole: Front-End a continuación:

Custom Role para servidor de Aplicación:


Listo!.   

En el próximo artículo relacionado veremos  como instalar el Office Online Server .

SharePoint4Fun!,


Juan Manuel Herrera Ocheita

viernes, 14 de octubre de 2016

Error al ingresar a la navegación luego de habilitar las características de publicación de SharePoint 2013



Pueda que te enfrentes a este error al momento de intentar modificar la navegación que se habilita cuando se activan las features de publicación de SharePoint Server 2013 y te muestra el siguiente error:

EL ERROR

  Error: String was not recognized as a valid DateTime.


 Debug:    at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)
 Microsoft.SharePoint.Publishing.PublishingPage.GetEffectivePageCacheProfileId(Boolean anonUserProfile)     at Microsoft.SharePoint.Publishing.CachedPage..ctor(PublishingPage page, SPListItem altItem, String id, String parentId, CachedUserResource title, String url, CachedUserResource description, CachedObjectFactory factory, List`1& fieldInfo)    at Microsoft.SharePoint.Publishing.CachedPage.CreateCachedPage(PublishingPage page, SPListItem altItem, CachedObjectFactory factory, List`1& fieldInfo)     at Microsoft.SharePoint.Publishing.CachedListItem.CreateCachedListItem(SPListItem item, SPListItem alternateItem, Boolean parentIsWeb, CachedObjectFactory factory, List`1& fieldInfo)     at Microsoft.SharePoint.Publishing.CachedObjectFactory.CreateWrappedObject(SPListItem superUserVersion, SPListItem superReaderVersion, List`1& fieldInfo)     at Microsoft.SharePoint.Publishing.CachedArea.GetChildForListByQuery(String listName, SPQuery query, SPWeb contextWeb, Boolean onlyPopulateCache, Boolean skipIfThrottled, List`1& itemsFetched)     at 


LA SOLUCIÓN

Si este es el error o similiar el problema se resuelve de forma sencilla, tienes un problema con la región.  Revisa que este colocada la región de tu país o del servidor de windows, con ello el problema se resuelve.

Las instrucciones son las siguientes:

Site Settings
Site Administration
REgional Settings
Locale: Tu País, para mi caso fue Spanish(Guatemala)

Presiona el botón Aceptar


SharePoint4Fun!,

Juan Manuel Herrera Ocheita

domingo, 9 de octubre de 2016

Script poderoso para crear colecciones de sitios y activar features en SharePoint 2016

Creación colecciones de sitios en SharePoint es una buena forma de distribuir el contenido, en especial si por cada colección de sitios creamos una base de datos de contenido por separado. De esta forma la copia de respaldo y la recuperación de las bases de datos de contenido pueden aislarse y administrar por separado.   

Aunque este script se ejecutó para SharePoint 2016, muy probablemente funciona para SP2013 y con algunos ajustes en 2010.

El problema
Tenemos 25 colecciones de sitios y debemos crearlas con sus bases de datos de contenido por separado ademas debemos de aplicar un master page personalizada y estilos.  

La solución
Hacer este problema vía Central Administration, demoraría mucho tiempo, por lo que se realizará un script en PowerShell para hacer las siguientes acciones:


  1. Crear una base de contenido con el nombre corto de la colección de sitios
  2. Crear una colección de sitios en esta nueva base de datos de contenido
  3. Habilitar la característica de publicación  a nivel de la colección de sitio
  4. Habilitar la característica de publicación a nivel de sitio primario
  5. Habilitar la característica de la solución personalizada  a nivel de colección de sitios

Utilizaremos dos archivos:


  1. Archivo CSV que tiene la información de la colección de sitio a crear
  2. Archivo PS1 que tiene los comandos de PowerShell para SharePoint para crearlas


El Formato del archivo CSV

Será el siguiente:

titulo, url, Sufijo

Título: Donde título es el título de la colección de sitios.

Url: Es la dirección url absoluta de la colección de sitios

Sufijo: El sufijo para la base de datos de contenido WSS_Content_[Sufijo]

Por ejemplo el archivo csv se vería así.

<# INICIO ARCHIVO NUEVASCOLECCIONES.CSV #>

titulo,url,Sufijo
RecursosHumanos,http://miportal/sitios/RRHH,RRHH
IT,http://miportal/sitios/IT,IT

<# FIN DE ARCHIVO NUEVASCOLECCIONES,CSV #>



El Script

El Script para crear las colecciones de sitios es el siguiente:

<# Script CreacionColecciones.ps1 inicia aquí  #>

#Importacion del contenido del archivo csv
$Colecciones = Import-Csv E:\Infoware\Scripts\ColeccionesNuevas.csv

#url de la WebApplication
$url = "http://miportal"

#recorre cada fila del contenido del archivo CSV
foreach($row in $Colecciones){
    
    Write-Host $row.Url $row.titulo $row.Sufijo
    
    #Construiyendo el nombre de la base de datos de contenido
    $Contentdb = "WSS_Content_"+$row.Sufijo
    
    #Creación de la base de datos de contenido para la nueva colección de sitios por crear
    New-SPContentDatabase -Name $Contentdb -WebApplication $url

    #Creación de la nueva colección de sitios con plantilla de Equipo en la nueva base de datos de contenido
    New-SPSite $row.Url -OwnerAlias "DOMINIO\spadmin" -Template "STS#0" -ContentDatabase $Contentdb -Name $row.titulo

    #Habilitación del característica de publicación a nivel de colección de sitios
    Enable-SPFeature "PublishingSite" -url $row.url

    #Habilitación de la caracteristica de publicación a nivel de sitio web primario y subsitios
    Get-SPWeb -Site $row.url -Limit all | % {Enable-SPFeature "PublishingWeb" -url $_.url}

    #Habilitación de la característica personalizada para aplicar una master page y estilos personalizados
    Enable-SPFeature -identity a830970f-9ef1-4712-8b45-f41a746d7fda -URL $row.url
}

<# FIN DEL ARCHIVO CREARCOLECCIONES.PS1 #>

Eso es  todo amigos, los dejo con las referencias bibliográficas del sitio de Technet por si les interesa conocer mas de los comandos ejecutados en este script.

New-SPContentDatabase "MyDatabase" -DatabaseServer "MyServer" -WebApplication http://sitename

New-SPSite http://www.contoso.com -OwnerAlias "DOMAIN\jdow" -HostHeaderWebApplication $w -Name "Contoso" -Template "STS#0"

Get-SPWeb -Site "http://rootWebUrl" -Limit all | % {Enable-SPFeature "PublishingWeb" -url $_.url}

Enable-SPFeature -identity "MyCustom" -URL http://somesite



SharePoint4Fun!,

Juan Manuel Herrera Ocheita