Merhabalar,
Bu yazımızda kurulum sonrası temel bileşenlerin ayarları ile ilgili ilk yapılandırmaları gerçekleştireceğiz.
İlk olarak sp_setup kullanıcısı ile sunucumuzda oturum açalım. Sonra PowerSehll ISE programını Yönetici olarak açalım.
Ardından aşağıdaki kod bloğunu çalıştıralım.
[code language=”powershell”]
# Based on scripts at http://www.toddklindt.com/Slides/SP2013Webinar
# Thanks Todd!
Add-PSSnapin microsoft.sharepoint.powershell -ErrorAction SilentlyContinue
# Verify that PowerShell is running as an Admin
if ( -not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] “Administrator”))
{
Write-Output “This PowerShell prompt is not elevated”
write-output “Please start PowerShell with the Admin token and try again”
return
}
$credPassword = ConvertTo-SecureString ‘p455w0rd’ -AsPlainText -Force
# Create Managed Accounts
#$password = ConvertTo-SecureString ‘password’ -AsPlainText -Force
$password = $credPassword
# create sp_webapps
$account = New-Object system.management.automation.pscredential ‘hasankoroglu\sp_pool’, $password
New-SPManagedAccount $account
# create sp_serviceapps
$account = New-Object system.management.automation.pscredential ‘hasankoroglu\sp_services’, $password
New-SPManagedAccount $account
# Create the Service App Pool
New-SPServiceApplicationPool -Name “Default SharePoint Service App Pool” -Account hasankoroglu\sp_services
$apppool = Get-SPServiceApplicationPool “Default SharePoint Service App Pool”
# Set the default database server
$configdb = Get-SPDatabase | where type -EQ “Configuration Database”
$dbserver = $configdb.NormalizedDataSource
# Let’s create some service apps
# Create new State Service
New-SPStateServiceApplication -Name “State Service”
Get-SPStateServiceApplication | New-SPStateServiceApplicationProxy -defaultproxygroup
Get-SPStateServiceApplication | New-SPStateServiceDatabase -Name “State_Service_DB” -Databaseserver $dbserver
Get-spdatabase | where-object {$_.type -eq “Microsoft.Office.Server.Administration.StateDatabase”} | initialize-spstateservicedatabase
# Create new Usage Service
New-SPUsageApplication -Name “Usage and Health Data Collection”
$proxy = Get-SPServiceApplicationProxy | where {$_.TypeName -eq “Usage and Health Data Collection Proxy”}
$proxy.Provision()
# Create Managed Metadata Service app
New-SPMetadataServiceApplication -Name “Managed Metadata Service” -ApplicationPool $apppool -DatabaseServer $dbserver -DatabaseName “Metadata_Service_DB”
New-SPMetadataServiceApplicationProxy -Name “Managed Metadata Service Proxy” -DefaultProxyGroup -ServiceApplication “Managed Metadata Service” -DefaultSiteCollectionTaxonomy
Get-SPServiceInstance | where-object {$_.TypeName -eq “Managed Metadata Web Service”} | Start-SPServiceInstance
# Create Secure Store
New-SPSecureStoreServiceApplication -ApplicationPool $apppool -AuditingEnabled:$false -DatabaseServer $dbserver -DatabaseName “Secure_Store_DB”-Name “Secure Store Service”
Get-SPServiceApplication | Where-Object {$_.typename -eq “Secure Store Service Application”} | New-SPSecureStoreServiceApplicationProxy -Name “Secure Store Service”
Get-SPServiceInstance | Where-Object { $_.TypeName -eq “Secure Store Service” } | Start-SPServiceInstance
# Create Business Connectivity Services
$BDCS = New-SPBusinessDataCatalogServiceApplication -ApplicationPool $apppool -DatabaseName “Business_Connectivity_Services_DB” -DatabaseServer $dbserver -Name “Business Connectivity Services”
New-SPBusinessDataCatalogServiceApplicationProxy -Name “Business Connectivity Services Proxy” -ServiceApplication $BDCS
Get-SPServiceInstance | Where-Object { $_.TypeName -eq “Business Data Connectivity Service” } | Start-SPServiceInstance
# Create the Application Management Service
$appname = “App Management Service”
$dbname = “AppManagement_DB”
# Create the App Management service and start its service instance
$sa = New-SPAppManagementServiceApplication -ApplicationPool $apppool -Name $appname -DatabaseName $dbname
New-SPAppManagementServiceApplicationProxy -ServiceApplication $sa -Name “$appname Proxy”
Get-SPServiceInstance | Where-Object { $_.typename -eq “App Management Service” } | Start-SPServiceInstance
# Create the Subscription Settings service and start its service instance
$sa = New-SPSubscriptionSettingsServiceApplication -ApplicationPool $appPool -Name “Subscription Settings Service” -DatabaseName “Subscription_Settings_Service_DB”
New-SPSubscriptionSettingsServiceApplicationProxy -ServiceApplication $sa
Get-SPServiceInstance | where{$_.TypeName -eq “Microsoft SharePoint Foundation Subscription Settings Service”} | Start-SPServiceInstance
# Create Access Services 2010 Service Application
New-SPAccessServiceApplication -ApplicationPool $apppool -Name “Access Service 2010”
# Create Access Services Service Application
# Start a bunch of service instances
Get-SPServiceInstance | Where-Object { $_.typename -eq “Access Services” } | Start-SPServiceInstance
Get-SPServiceInstance | Where-Object { $_.typename -eq “Business Data Connectivity Service” } | Start-SPServiceInstance
Get-SPServiceInstance | Where-Object { $_.typename -eq “Excel Calculation Services” } | Start-SPServiceInstance
Get-SPServiceInstance | Where-Object { $_.typename -eq “Machine Translation Service” } | Start-SPServiceInstance
Get-SPServiceInstance | Where-Object { $_.typename -eq “Managed Metadata Web Service” } | Start-SPServiceInstance
Get-SPServiceInstance | Where-Object { $_.typename -eq “Secure Store Service” } | Start-SPServiceInstance
Get-SPServiceInstance | Where-Object { $_.typename -eq “Visio Graphics Service” } | Start-SPServiceInstance
#Let’s Create Search Service App
# Based on scripts at http://www.harbar.net/articles/sp2013mt.aspx
# Thanks Spence!
# Get App Pool
$saAppPoolName = “Default SharePoint Service App Pool”
# Search Specifics, we are single server farm
$searchServerName = (Get-ChildItem env:computername).value
$serviceAppName = “Search Service Application”
$searchDBName = “SearchService_DB”
# Grab the Appplication Pool for Service Application Endpoint
$saAppPool = Get-SPServiceApplicationPool $saAppPoolName
# Start Search Service Instances
Write-Host “Starting Search Service Instances…”
Start-SPEnterpriseSearchServiceInstance $searchServerName
Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $searchServerName
# Create the Search Service Application and Proxy
Write-Host “Creating Search Service Application and Proxy…”
$searchServiceApp = New-SPEnterpriseSearchServiceApplication -Name $serviceAppName -ApplicationPool $saAppPoolName -DatabaseName $searchDBName
$searchProxy = New-SPEnterpriseSearchServiceApplicationProxy -Name “$serviceAppName Proxy” -SearchApplication $searchServiceApp
# Clone the default Topology (which is empty) and create a new one and then activate it
Write-Host “Configuring Search Component Topology…”
$clone = $searchServiceApp.ActiveTopology.Clone()
$searchServiceInstance = Get-SPEnterpriseSearchServiceInstance
New-SPEnterpriseSearchAdminComponent –SearchTopology $clone -SearchServiceInstance $searchServiceInstance
New-SPEnterpriseSearchContentProcessingComponent –SearchTopology $clone -SearchServiceInstance $searchServiceInstance
New-SPEnterpriseSearchAnalyticsProcessingComponent –SearchTopology $clone -SearchServiceInstance $searchServiceInstance
New-SPEnterpriseSearchCrawlComponent –SearchTopology $clone -SearchServiceInstance $searchServiceInstance
New-SPEnterpriseSearchIndexComponent –SearchTopology $clone -SearchServiceInstance $searchServiceInstance
New-SPEnterpriseSearchQueryProcessingComponent –SearchTopology $clone -SearchServiceInstance $searchServiceInstance
$clone.Activate()
Write-Host “Search Done!”
[/code]
Bu script dosyasını bu adresten indirebilirsiniz. Yalnız dikkat etmeniz gereken husus, script içerisinde tanımlanmış olan servis hesaplarını ve parolalarınızı kendi sisteminize göre değiştirmeniz gerekmektedir.
İlk yapılandırma bittikten sonra aşağıdaki servisleri kurmuş oluyorsunuz. Bu servislere Central Administration \ Manage Service Applications bölümünden nbakabilirsiniz.
Bu işlem bittikten sonra Sunucumuzda oturumu kapatıp sp_farm kullanıcısı ile oturum açmamız gerekmektedir.
Oturum açtıktan sonra PowerShell ISE’yi yönetici olarak çalıştırıp aşağıdaki kod parçacığını çalıştırmamız gerekmektedir. Kod parçacığını bu adresten indirebilirsiniz.
[code language=”powershell”]
Add-PSSnapin microsoft.sharepoint.powershell -ErrorAction SilentlyContinue
# Verify that PowerShell is running as an Admin
if ( -not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] “Administrator”))
{
Write-Output “This PowerShell prompt is not elevated”
write-output “Please start PowerShell with the Admin token and try again”
return
}
##
#This script will Create the User Profile Service Application
#This script also ensures all dependent services are started
#
#Domain level settings may need to be changed, follow this documentation prior to running this script:
#http://technet.microsoft.com/en-us/library/hh296982.aspx
#
#Current configuration of this script requires you to log onto the server using the farm account, and run the script in PowerShell
#To work around this limitation, see the following blog
#http://www.harbar.net/archive/2010/10/30/avoiding-the-default-schema-issue-when-creating-the-user-profile.aspx
##
##
#Load Functions
##
function PollService
{
sleep 5
}
##
#Set Script Variables
##
Write-Progress -Activity “Provisioning User Profile Service Application” -Status “Creating Script Variables”
#This is the server where the user profile sync service runs
$ProfileSyncServer = “SP01”
#This is the display name of the User Profile Database
$UserProfileDB = “HK_Profile_DB”
#This is the display name of the User Profile Sync Database
$UserProfileSyncDB = “HK_Profile_Sync_DB”
#This is the display name of the User Profile Social Database
$UserProfileSocialDB = “HK_Profile_Social_DB”
#This is the User Name of the User Profile Service Application App Pool
$UserProfileApplicationPoolManagedAccount = “hasankoroglu\sp_services”
#This is the Password of the User Profile Service Application App Pool Account
$UserProfileApplicationPoolPassword = “p455w0rd”
#This is the User Name of the Server Farm Account
$SPFarmAccount = “hasankoroglu\sp_farm”
#This Is the Password of the Server Farm Account
$FarmAccountPassword = “p455w0rd”
#This Is the Display name for the User Profile Service Application, The Application Pool Name has been set to match, for simplicity purposes
$UserProfileServiceName = “Default User Profile Service”
##
#Begin Script
##
##
#Convert the UserNames and Passwords ProvidedIinto Credentials
##
$UserProfileAppPoolCredential = New-Object System.Management.Automation.PSCredential $UserProfileApplicationPoolManagedAccount, (ConvertTo-SecureString $UserProfileApplicationPoolPassword -AsPlainText -Force)
##
#Create A Managed Account For The User Profile Account, if it does not exist
#Retrieve the SharePoint Farm Account for the User Profile Sync Account
##
Write-Progress -Activity “Provisioning User Profile Service Application” -Status “Creating Managed Account if Required”
#Check to see if the User Profile Service Application App Pool Account is alrady a managed account. If not, create it.
if (get-spmanagedaccount $UserProfileApplicationPoolManagedAccount -EA 0)
{
Write-Host “Managed Account Exists, No Need to Create a Managed Account” -foregroundcolor “Yellow”
$UserProfileServiceAccount = Get-SPManagedAccount $UserProfileApplicationPoolManagedAccount
}
else
{
$UserProfileServiceAccount = New-SPManagedAccount -Credential $UserProfileAppPoolCredential
}
#Retrieve the SP Farm account, use that for the User Profile Synchronization
$UserProfileSyncAccount = Get-SPManagedAccount $SPFarmAccount
##
#Create The Service Application Application Pool
##
Write-Progress -Activity “Provisioning User Profile Service Application” -Status “Creating Application Pool”
$UserProfileServiceApplicationAppPool = New-SPServiceApplicationPool -Name $UserProfileServiceName -Account $UserProfileServiceAccount
##
#Retrieve the Service Instances You Wish to Start, Start the User Profile Service Instance
#The User Profile Synchrinization Service cannot be started until a User Profile Service Application has been created and associated with the service instance.
##
Write-Progress -Activity “Provisioning User Profile Service Application” -Status “Starting User Profile Service”
$UPSI = get-spserviceinstance | where {$_.server -like “*” + $ProfileSyncServer -and $_.Typename -eq “User Profile Service”} | Start-SPServiceInstance
$UserProfileSyncServiceInstance = get-spserviceinstance | where {$_.server -like “*” + $ProfileSyncServer -and $_.Typename -eq “User Profile Synchronization Service”}
##
#Create the User Profile Service Application
##
Write-Progress -Activity “Provisioning User Profile Service Application” -Status “Creating User Profile Service Application”
$UserProfileSA = New-SPProfileServiceApplication -Name $UserProfileServiceName -ApplicationPool $UserProfileServiceApplicationAppPool -ProfileDBName $UserProfileDB -ProfileSyncDBName $UserProfileSyncDB -SocialDBName $UserProfileSocialDB
##
#Set Some of the User Profile Service Application Properties
##
Write-Progress -Activity “Provisioning User Profile Service Application” -Status “Setting User Profile Service Application Properties”
$SPUserprofileMachine = get-spserver $ProfileSyncServer
$UserProfileSA.SetSynchronizationMachine($ProfileSyncServer, $UserProfileSyncServiceInstance.id, $UserProfileSyncAccount.username, $FarmAccountPassword)
##
#Create the User Profile Service Application Proxy
##
Write-Progress -Activity “Provisioning User Profile Service Application” -Status “Creating User Profile Service Application Proxy”
New-SPProfileServiceApplicationProxy -Name ($UserProfileServiceName + ” Proxy”) -ServiceApplication $UserProfileSA -DefaultProxyGroup
##
#Start the User Profile Synchronization Service
##
Write-Progress -Activity “Provisioning User Profile Service Application” -Status “Starting User Profile Synchronization Service”
Start-SPServiceInstance $UserProfileSyncServiceInstance
##
#Perform an IISReset. Skipping this step may result in not being able to manage your User Profile Service Application through SharePoint Central Administration
##
while ($UserProfileSyncServiceInstance.status -ne “online”)
{
pollservice
Write-Progress -Activity “Provisioning User Profile Service Application” -Status “Waiting for User Profile Synchronization Service to Start”
$UserProfileSyncServiceInstance = get-spserviceinstance | where {$_.server -like “*” + $ProfileSyncServer -and $_.Typename -eq “User Profile Synchronization Service”}
}
Write-Host “Resetting IIS”
cmd.exe /c “iisreset $ProfileSyncServer /noforce”
[/code]
Yine bu script içerisindeki hesapları ve parolaları kendinize göre değiştrmeniz gerekmektedir.
Bu script içerisinde User Profile Synchronization Service ‘in başlaması 5-6 dakika kadar sürmektedir. Servis durumunu Central Administration \ Manage Services On Server kısmında kontrol edebilirsiniz.
Script sonunda IIS yeniden başlatılır.
Bu işlemlerden sonra Application Management kısmından Manage Web Applications kısmından yeni Web uygulaması oluşturmamız gerekmektedir. Burada dikkat etmeniz Pool için sp_pool servis hesabını kullanmanız gerekmektedir.
Web uygulamamızı kurduktan sonra Bu uygulama altında yeni bir site collection oluşturmamız gerekmektedir. Aşağıdaki bilgilere göre sizlerde kendi ayarlarını yapabilirsiniz.
Site Collection kurulum sonrası ilgili sitemizi açabiliriz. Benim sistemime göre adres http://sp01
Portali açtıktan sonra sağ üst köşede yer alan çark işaretinden Site Settings kısmını açalım.
Site Settings kısmından Users and Permissions bölümünden People and Groups’u seçelim.
Bu ekranda sağ taraftan Visitors’ı seçelim.
Bu ekranda yeni kullanıcı ekleyelim ve bu ekrana NT AUTHORITY\authenticated users ı ekleyelim.
Artık portalimiz ilk kullanıma hazırdır.
Bir sonraki yazımızda görüşmek üzere…