Pregunta

He creado una nueva aplicación web en el puerto 8080 con la intención de tener toda la creación de sitios personales (es decir,Mis sitios) almacenados en una base de datos WSS_Content dedicada (es decir,una recomendación de mejores prácticas).

He seguido todos los pasos necesarios, creo:

  • creado Colección MisSitios usando Plantilla empresarial "Host de mi sitio" en la raíz de http://SPstaff:8080 y este sitio de nivel superior fue creado exitosamente
  • Se habilitó la creación de sitios de autoservicio para la aplicación web (se cambió el botón de opción a ACTIVADO).Conseguí un Advertencia:La creación de sitios de autoservicio creará sitios con un nombre de host compartido que no entendí (¿tal vez relevante?)
  • Se agregó una ruta administrada /mis sitios a esta aplicación web
  • Configure los ajustes de Mi sitio para la aplicación del servicio de perfil de usuario haciendo clic en Configurar mis sitios tal que Anfitrión de mi sitio ajustado a http://spstaff:8080/ y Ubicación del sitio personal establecido en mis sitios.

Cuando intenté navegar por primera vez a SPstaff:8080/mysites/ recibí un error razonable en el Registro de eventos de Windows:

Cannot open database "WSS_Content_SPSTAFFMySites" requested by the login. The login failed. Login failed for user 'CBMIWEB\spAppPool'

Entonces agregué este usuario a esta base de datos recién creada y ya no recibo ese error.

En cambio, recibo errores como esta secuencia:

El primer error es el ID del evento:6141 Categoría de tarea:Topología

The site /mysites/joanc could not be created.  The following exception occurred: Attempted to perform an unauthorized operation

La siguiente entrada en el Registro de la aplicación es el ID del evento:5187 Categoría de tarea:Administración

My Site creation failure for user 'CBMIWEB\joanc' for site url `'http://spstaff:8080/mysites/joanc'`. 
The exception was: Microsoft.Office.Server.UserProfiles.PersonalSiteCreateException: A failure was encountered while attempting to create the site. ---> System.UnauthorizedAccessException: Attempted to perform an unauthorized operation.
at Microsoft.SharePoint.SPSecurableObject.CheckPermissions(SPBasePermissions permissionMask)
at Microsoft.SharePoint.SPSecurity.ValidateSecurityOnOperation(SPOperationCode code, SPSecurableObject obj)
at Microsoft.SharePoint.SPFeature.AddRowToFeaturesTable(SPFeaturePropertyCollection props, SPSite site, SPWeb web, Boolean fForce)
at Microsoft.SharePoint.SPFeature.Activate(SPSite siteParent, SPWeb webParent, SPFeaturePropertyCollection props, Boolean fForce)
at Microsoft.SharePoint.SPFeatureCollection.AddInternal(SPFeatureDefinition featdef, Version version, SPFeaturePropertyCollection properties, Boolean force, Boolean fMarkOnly)
at Microsoft.SharePoint.SPFeatureCollection.AddInternalWithName(Guid featureId, String featureName, Version version, SPFeaturePropertyCollection properties, Boolean force, Boolean fMarkOnly, SPFeatureDefinitionScope featdefScope)
at Microsoft.SharePoint.SPFeatureManager.EnsureFeaturesActivatedCore(SPSite site, SPWeb web, String sFeatures, Boolean fMarkOnly)
at Microsoft.SharePoint.SPFeatureManager.<>c__DisplayClassa.<EnsureFeaturesActivatedAtSite>b__9()
at Microsoft.SharePoint.SPSecurity.RunAsUser(SPUserToken userToken, Boolean bResetContext, WaitCallback code, Object param)
at Microsoft.SharePoint.SPFeatureManager.EnsureFeaturesActivatedAtSite(Byte[]& userToken, Guid& tranLockerId, Int32 nZone, Guid databaseid, Guid siteid, String sFeatures)
at Microsoft.SharePoint.Library.SPRequest.SscCreateSite(Guid gApplicationId, String bstrUrl, String bstrServerRelativeUrl, Int32 lZone, Guid gSiteId, Guid gDatabaseId, String bstrDatabaseServer, String bstrDatabaseName, String bstrDatabaseUsername, String bstrDatabasePassword, String bstrTitle, String bstrDescription, UInt32 nLCID, String bstrOwnerLogin, String bstrOwnerUserKey, String bstrOwnerName, String bstrOwnerEmail, String bstrSecondaryContactLogin, String bstrSecondaryContactUserKey, String bstrSecondaryContactName, String bstrSecondaryContactEmail, Boolean bADAccountMode, Boolean bHostHeaderIsSiteName, Int32 iDatabaseVersionMajor, Int32 iDatabaseVersionMinor, Int32 iDatabaseVersionBuild, Int32 iDatabaseVersionRevision)
at Microsoft.SharePoint.Administration.SPSiteCollection.Add(SPContentDatabase database, SPSiteSubscription siteSubscription, String siteUrl, String title, String description, UInt32 nLCID, String webTemplate, String ownerLogin, String ownerName, String ownerEmail, String secondaryContactLogin, String secondaryContactName, String secondaryContactEmail, String quotaTemplate, String sscRootWebUrl, Boolean useHostHeaderAsSiteName)
at Microsoft.SharePoint.SPSite.SelfServiceCreateSite(String siteUrl, String title, String description, UInt32 nLCID, String webTemplate, String ownerLogin, String ownerName, String ownerEmail, String contactLogin, String contactName, String contactEmail, String quotaTemplate, SPSiteSubscription siteSubscription)
at Microsoft.Office.Server.UserProfiles.UserProfile.<>c__DisplayClass2.<CreateSite>b__0()
--- End of inner exception stack trace ---
at Microsoft.Office.Server.UserProfiles.UserProfile.<>c__DisplayClass2.<CreateSite>b__0()
at Microsoft.SharePoint.SPSecurity.<>c__DisplayClass4.<RunWithElevatedPrivileges>b__2()
at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode)
at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param)
at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated secureCode)
at Microsoft.Office.Server.UserProfiles.UserProfile.CreateSite(String strRequestUrl, Boolean bCollision, Int32 lcid)

Otros síntomas al utilizar mi inicio de sesión personal navegando hacia http://spstaff:8080/mysites/johna son los inútiles "Internet Explorer no puede mostrar la página web".

No estoy seguro que está mal.

¿Fue útil?

Solución

  • Mi configuración para esto fue generalmente correcta, pero mis elecciones para la nueva aplicación web introdujeron la necesidad de "encabezados de host" y un puerto arbitrario de 8080.
  • El nombre que requería "encabezados de host" requirió complicaciones innecesarias, por lo que se eliminó toda la aplicación web.
  • Esta nueva aplicación web aún falla (incluso después de tomar todos los pasos adecuados)
  • El tráfico HTTP capturado con Fiddler2 y los errores me llevaron a sospechar de las reglas del firewall
  • En última instancia, el Firewall de Windows en nuestro servidor Sharepoint necesitaba agregar una nueva regla para el tráfico entrante (para permitir el puerto 81)..

Entonces, el objetivo se logró, pero me pregunto si podría haber evitado usar un número de puerto diferente.¿Podría haber agregado una segunda aplicación web (para lograr la separación del contenido en una base de datos diferente) que también usara el puerto 80?¿Podría haber sido suficiente una ruta administrada con comodines para mis sitios en la raíz de esta segunda aplicación web?

Licenciado bajo: CC-BY-SA con atribución
scroll top