Share via


クイック スタート: 分離された Hyper-V 環境に単一サーバーを展開する (SharePoint Foundation 2010)

 

適用先: SharePoint Foundation 2010

分離およびセキュリティ保護された Hyper-V 仮想マシンを使用して、SharePoint Foundation 2010 の機能と動作をテストできます。この方法では、最小限のハードウェア リソースを使用して、SharePoint Foundation 2010 のテスト システムと運用環境を分離できます。企業ネットワークおよびサーバー環境へのセキュリティの脅威の可能性をなくすために、このような分離を行うことをお勧めします。

この記事で解説する手動の手順または Windows PowerShell 2.0 コマンドを使用して、以下のいずれかのデータベースを使用する単一のサーバーに SharePoint Foundation 2010 をすばやく展開できます。

  • SharePoint Foundation に付属の SQL Server 2008 Express および SQL Server 2008 R2 Express データベース

  • Microsoft SQL Server 2005 Service Pack 3 (SP3) および累積的な更新プログラム 3

  • Microsoft SQL Server 2008 Service Pack 1 (SP1) (累積的な更新プログラム 2 を適用済み)

重要

この記事で解説する、単一サーバーでの SharePoint Foundation の展開は、評価およびテストでの使用のみを目的としたものです。運用環境では使用しないでください。

この記事の内容

  • 要件と推奨事項

  • 必要な権限

  • 展開前のタスク

  • SharePoint Foundation 2010 を手動でインストールする

  • Windows PowerShell スクリプトを使用して SharePoint Foundation 2010 を展開する

要件と推奨事項

Hyper-V 仮想化サーバー、仮想マシン、および展開環境に関する以下の要件と推奨事項は、この記事で解説する単一サーバーの展開シナリオにのみ該当します。

仮想化サーバーと仮想マシンの構成

次の表は、仮想化サーバーと仮想マシンの最小構成と推奨構成を示しています。これらの構成は、単一サーバーの展開で使用できるデータベース オプションに対応します。

リソース 最小構成 推奨構成

CPU

2 GHz のデュアル プロセッサ

2 GHz のデュアル プロセッサ

メモリ

4 GB

8 GB

ハード ドライブ

40 GB の容量固定の仮想ハード ディスク

ヒント

容量固定の仮想ハード ディスクを短時間で作成するには、最初に、ハード ディスクを容量可変の拡張ディスクとして構成します。必要なソフトウェアを (SharePoint Foundation を含めて) すべてインストールし終わったら、仮想ハード ディスクを容量固定のハード ディスクに変換します。

80 GB の容量固定の仮想ハード ディスク

ネットワーク アダプターの種類

統合

統合

ネットワークの種類

ゲストを確実に分離し、仮想化サーバーと仮想マシンの間の通信を可能にする内部ネットワーク

ヒント

必須および推奨のソフトウェアに容易にアクセスしてソフトウェアをインストールできるようにするには、外部ネットワークを使用します。SharePoint Foundation をインストールする準備ができたら、内部ネットワークを使用するように仮想マシンを構成します。

ゲストを確実に分離し、仮想化サーバーと仮想マシンの間の通信を可能にする内部ネットワーク

仮想化サーバーには以下の構成ガイダンスがあります。

  • 論理プロセッサ対仮想プロセッサ (コア) の比率をできるだけ小さくします。最適な比率は 1:1 です。

  • 論理プロセッサ対仮想プロセッサの比率を 1:1 として、仮想マシンのプロセッサの総数が物理コアの総数より少なくなるように仮想化サーバーを構成します。たとえば、4 コアの仮想化サーバーを使用している場合には、単一のプロセッサを使用する仮想マシンを 3 台作成するか、または 2 つのプロセッサを使用する仮想マシン 1 台と単一のプロセッサを使用する仮想マシン 1 台を作成するのがベスト プラクティスです。どちらの構成も、仮想化サーバーの処理用にコアが 1 つ空くことになります。

仮想マシンでの SharePoint Foundation 2010 の展開を開始する前に、上記の仮想環境の要件に加えて、「ハードウェア要件およびソフトウェア要件 (SharePoint Foundation 2010)」の記事を確認します。

展開環境

SharePoint Foundation 2010 を展開するにはドメインが必要です。

SharePoint Foundation 2010 を展開できる分離された仮想ドメインがない場合は、以下を使用するように構成された Hyper-V に仮想ドメインを作成する必要があります。

  • Active Directory ドメイン サービス (AD DS) を使用するドメイン コントローラー

  • DNS サーバーを使用するドメイン コントローラー

SharePoint Foundation はドメイン コントローラーに展開できます。しかし、いくつかの構成が必要です。[管理者として実行] のオプション付きで Windows PowerShell を起動し、以下のコマンドを実行して、ドメイン コントローラーへの展開を有効にします。

$acl = Get-Acl HKLM:\System\CurrentControlSet\Control\ComputerName 
$person = [System.Security.Principal.NTAccount]"Users" 
$access = [System.Security.AccessControl.RegistryRights]::FullControl 
$inheritance = [System.Security.AccessControl.InheritanceFlags]"ContainerInherit, ObjectInherit" 
$propagation = [System.Security.AccessControl.PropagationFlags]::None 
$type = [System.Security.AccessControl.AccessControlType]::Allow 
$rule = New-Object System.Security.AccessControl.RegistryAccessRule($person, $access, $inheritance, $propagation, $type) 
$acl.AddAccessRule($rule) 
Set-Acl HKLM:\System\CurrentControlSet\Control\ComputerName $acl

必要な権限

SharePoint Foundation 2010 をインストールするためには、仮想マシンで使用しているログオン アカウントが以下のメンバーであることが必要です。

  • 仮想マシンのローカル Administrators グループ

  • SQL Server の dbcreator 固定サーバー ロール

  • SQL Server の securityadmin サーバー ロール

詳細については、「初期展開に必要な管理アカウントとサービス アカウント (SharePoint Foundation 2010)」を参照してください。

展開前のタスク

SharePoint Foundation 2010 を展開する前に、次の作業を行います。

  • 仮想化サーバーで、SharePoint Foundation ソフトウェアを含むインストール ポイントを作成するか、仮想マシンからアクセスできるメディア (ISO イメージなど) を用意します。

  • 前の「要件と推奨事項」で示した最小要件を満たす仮想マシンを作成します。

  • 仮想マシンで、次の作業を行います。

SharePoint Foundation 2010 を手動で展開する

SharePoint Foundation 2010 を単一のサーバーに手動で展開する方法の詳細については、「組み込みデータベースを使用する単一サーバーを展開する (SharePoint Foundation 2010)」または「SQL Server を使用する単一サーバーを展開する (SharePoint Foundation 2010)」を参照してください。

Windows PowerShell スクリプトを使用して SharePoint Foundation 2010 を展開する

Windows PowerShell スクリプトを使用して、単一のサーバーに SharePoint Foundation 2010 を展開できます。

セキュリティ メモSecurity Note
署名されていないスクリプトは実行しないことをベスト プラクティスとしてお勧めします。
Windows PowerShell スクリプトへの署名の詳細については、TechNet Magazine の「Windows PowerShell: 署名をお願いします」(https://go.microsoft.com/fwlink/?linkid=160357&clcid=0x411) を参照してください。コードへの署名全般については、MSDN の「Introduction to Code Signing (英語)」(https://go.microsoft.com/fwlink/?linkid=59273&clcid=0x411) (英語) を参照してください。独自の証明機関 (CA) のセットアップの詳細については、TechNet ライブラリの「Active Directory 証明書サービス」(https://go.microsoft.com/fwlink/?linkid=136444&clcid=0x411) を参照してください。

以下のどちらかの Windows PowerShell スクリプト ファイルを作成および使用して、単一のサーバーに SharePoint Foundation を展開します。

  • simplesingleserver.ps1: 構成情報とドキュメントの格納用に組み込みのデータベースを使用して SharePoint Foundation 2010 をインストールします。

  • simplefarm.ps1: 構成情報とドキュメントの格納用に SQL Server 2005 または SQL Server 2008 を使用して SharePoint Foundation 2010 をインストールします。

simplesingleserver.ps1

このスクリプトは、組み込みのデータベースを使用する単一のサーバーに SharePoint Foundation 2010 を展開します。

次のコードをテキスト エディターにコピーし、simplesingleserver.ps1 というファイル名で任意のディレクトリに保存します。



$SetupPath         = Read-Host -Prompt "Please specify the path to the install media (D:)"
        
## Here is the script to install SharePoint Foundation 2010 with SQL Express and create Central Admin ##
& $SetupPath\PrerequisiteInstaller.exe /unattended | Write-Host
if( $lastexitcode -eq 0 ) {
    & $SetupPath\setup.exe /config $SetupPath\Files\SetupSilent\config.xml | Write-Host
    if( $lastexitcode -eq 0 ) {
        Write-Host "Install successful..."
    } else { Write-Error "ERROR: $lastexitcode" }
} else { Write-Error "ERROR: $lastexitcode" }

simplesingleserver.ps1 を実行するには

  1. [管理者として実行] のオプションを使用して Windows PowerShell 2.0 を起動します。

  2. simplesingleserver.ps1 を保存したディレクトリに移動します。

  3. Windows PowerShell コマンド プロンプトで .\simplesingleserver.ps1 を実行します。

simplefarm.ps1

このスクリプトは、SQL Server データベースを使用する単一のサーバーに SharePoint Foundation 2010 を展開します。次のコードをテキスト エディターにコピーし、simplefarm.ps1 というファイル名で任意のディレクトリに保存します。


## Settings you may want to change ##
$err = $null
$SetupPath         = Read-Host -Prompt "Please specify the path to the install media (D:)"
Write-Host "Please specify the Farm Administrator credentials"
$FarmCredential    = Get-Credential "DOMAIN\<Farm Admin>"
$DBServer          = Read-Host -Prompt "Please enter the name of your database server"
$Passphrase        = Read-Host -Prompt "Please enter the farm passphrase (optional)" -AsSecureString
$FarmName          = Read-Host -Prompt "Please enter a farm name (optional)"
$CAPort            = Read-Host -Prompt "Please enter the Central Administration port number (optional)"

if ([String]::IsNullOrEmpty($SetupPath))
{
    Write-Error "You must enter the install media path"
    return
}
if ([String]::IsNullOrEmpty($FarmCredential))
{
    Write-Error "You must enter a Farm Administrator's user name and password"
    return
}
if ([String]::IsNullOrEmpty($DBServer))
{
    Write-Error "You must enter a database server"
    return
}
if ($Passphrase.Length -eq 0)
{
    Write-Warning "You didn't enter a farm passphrase, using the Farm Administrator's password instead"
    $Passphrase = $FarmCredential.Password
}
if ([String]::IsNullOrEmpty($FarmName))
{
    Write-Warning "You didn't enter a farm name, using the machine name instead"
    $FarmName = $env:COMPUTERNAME
}
if ([String]::IsNullOrEmpty($CAPort))
{
    Write-Warning "You didn't enter a Central Administration port number, using 5000 instead"
    $CAPort = 5000
}

## Here is the script to install SharePoint Foundation 2010 and create Central Admin ##
Write-Host "[1/15] Running prerequisite installer..." 
& $SetupPath\PrerequisiteInstaller.exe /unattended | Write-Host
if( $lastexitcode -eq 0 ) {
    Write-Host "[2/15] Running silent farm binary installation... (this will take some time)" 
    & $SetupPath\setup.exe /config $SetupPath\Files\SetupFarmSilent\config.xml | Write-Host
    Write-Host "[3/15] Completed silent farm binary installation." 
    if( $lastexitcode -eq 0 ) {
        Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue
        Write-Host "[4/15] Creating new configuration database..." 
        New-SPConfigurationDatabase -DatabaseName ("{0}_SharePoint_Configuration_DB" -f $FarmName) -DatabaseServer $DBServer -AdministrationContentDatabaseName ("{0}_AdminContent_DB" -f $FarmName) -FarmCredentials $FarmCredential -Passphrase $Passphrase -ErrorVariable err
        Write-Host "[5/15] Verifying farm creation..." 
        $spfarm = get-spfarm
            if ($spfarm -ne $null) {
            Write-Host "[6/15] ACLing SharePoint Resources..." 
            Initialize-SPResourceSecurity -ErrorVariable err
            if ([String]::IsNullOrEmpty($err) -eq $true) {
                Write-Host "[7/15] Installing Services..." 
                Install-SPService -ErrorVariable err
                    if ([String]::IsNullOrEmpty($err) -eq $true) {
                    Write-Host "[8/15] Installing Features..." 
                    Install-SPFeature -AllExistingFeatures -ErrorVariable err
                    if ([String]::IsNullOrEmpty($err) -eq $true) {
                        Write-Host "[9/15] Provisioning Central Administration..." 
                        New-SPCentralAdministration -Port $CAPort -WindowsAuthProvider "NTLM" -ErrorVariable err
                        if ([String]::IsNullOrEmpty($err) -eq $true) {
                            Write-Host "[10/15] Installing Help..." 
                            Install-SPHelpCollection -All -ErrorVariable err
                            if ([String]::IsNullOrEmpty($err) -eq $true) {
                                Write-Host "[11/15] Installing Application Content..." 
                                Install-SPApplicationContent -ErrorVariable err
                                if ([String]::IsNullOrEmpty($err) -eq $true) {
                                    Write-Host "[12/15] Basic configuration completed." 
                                    $SPManagedAccount = Get-SPManagedAccount $FarmCredential.UserName
                                    Write-Host "[13/15] Creating Web Application and Application Pool..." 
                                    $webApp = New-SPWebApplication -Name "SharePoint - 80" -ApplicationPool "SharePoint - 80" -ApplicationPoolAccount $SPManagedAccount -DatabaseServer $DBServer -DatabaseName ("{0}_Content_DB" -f $FarmName) -Url "https://localhost" -ErrorVariable err
                                    if ([String]::IsNullOrEmpty($err) -eq $true) {
                                        Write-Host "[14/15] Creating site collection..." 
                                        $SPSite = New-SPSite -url "https://localhost" -OwnerAlias $FarmCredential.UserName -ErrorVariable err
                                        if ([String]::IsNullOrEmpty($err) -eq $true) {
                                            Write-Host "[15/15] Port 80 Web application and site collect created.  Browse to https://localhost to pick a template for the Web..."
                                        } else { Write-Error "ERROR: $err" }
                                    } else { Write-Error "ERROR: $err" }
                                } else { Write-Error "ERROR: $err" }
                            } else { Write-Error "ERROR: $err" }
                        } else { Write-Error "ERROR: $err" }
                    } else { Write-Error "ERROR: $err" }
                } else { Write-Error "ERROR: $err" }
            } else { Write-Error "ERROR: $err" }
        } else { Write-Error "ERROR: $err" }
    } else { Write-Error "ERROR: $lastexitcode" }
} else { Write-Error "ERROR: $lastexitcode" }
 
$exitprompt = Read-Host -Prompt "Press Enter to exit..."

simplefarm.ps1 を実行するには

  1. [管理者として実行] のオプションを使用して Windows PowerShell 2.0 を起動します。

  2. simplefarm.ps1 を保存したディレクトリに移動します。

  3. Windows PowerShell コマンド プロンプトで .\simplefarm.ps1 を実行します。