PowerShellを使ったCommerce Serverサイトのセットアップ
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
以前は、Commerce Serverサイトの作成、リソースの追加、および環境間でのデータの移動を行うには、PuPパッケージが唯一の方法でした。これで、一連のPowerShell CmdLetを使用してサイトを管理できるようになりました。これらのCmdLetは、手動で行う必要があった多くのタスクを実行します。
たとえば、以前はReference Storefrontをセットアップするには、次のことが必要でした。
-
SolutionStorefront.pupをUnPuPします。
-
Commerce Serverのリソースを保護します。
-
Webサービスのセキュリティ タイプを設定します。
-
AzManファイルにユーザーを追加します。
-
Catalog AzManファイルの書き込みアクセス許可を設定します。
-
各WebサービスとWebサイトのCommerce Serverデータベースをセキュリティで保護します。
-
Webサイト アプリ プール ユーザーのDCOMアクセス許可を設定します。
-
-
カタログとインベントリのデータをインポートします。
-
プロファイルスキーマをインポートし、SQLファイルを使用してデータベーススキーマを調整します。
-
配送方法と支払い方法をSQLファイルでインポートします。
-
割引は、PuPパッケージを介してのみインポートできます。
これらの手順に加えて、各アプリケーション プールに適用する適切なセキュリティ アクセス許可を決定する必要があります。
現在、CmdLetsを使用すると、プロセスはより合理化されます。
-
PowerShellウィンドウを開き、Sitecore Webサイト フォルダーを参照してから、次のCmdLetを実行します。
-
初期化-CSSite
-
-
Desktop Business ToolsのWebサービスを設定する場合は、PowerShellから次のコマンドを実行します。
-
Commerce.Storefront.ProfileDatabase.dacpacパッケージをSQL Serverにインポートして、プロファイルのデータベース スキーマを更新します
PuPパッケージ、データのインポート、SQLファイル、データベースのセキュリティ、AzManセキュリティ、Webサービスセキュリティ、DCOMセキュリティなどは、もはや問題ではありません。新しいCmdLetは、規則とベスト プラクティスに基づいてこれらのタスクを処理します。既定の動作は、省略可能なパラメーターまたはより詳細なCmdLetを使用してオーバーライドできますが、前の手順は、運用環境以外のケースの大部分で機能します。
Initialize-CSSite CmdLetは、Commerce Server構成セクションを含むWebサイト フォルダをスキャンしてファイルを探します。最初にWebsite\App_Config\CommerceServer.Core.configスキャンし、次に \Website\web.configスキャンします。構成セクションが見つかると、CmdLetは構成xmlを分析して、必要なCommerce Serverサイトの名前と必要なリソースを確認します。要件が決定されると、CmdLetはその名前のCommerce Serverサイトをスキャンします。サイトが存在しない場合は、CmdLetによって作成されます。その後、CmdLetは必要なすべてのリソースをループ処理し、サイトにリソースがまだない場合はそれらのリソースを作成します。
必要なCommerce Serverサイトとリソースが作成されたので、CmdLetsは各サブシステムのデータ ファイルとスキーマxmlファイルのインポートを試みます。既定では、CmdLetは \Website\SitecoreCommerce\Data\というディレクトリをスキャンし、そのディレクトリ内でCommerce Serverサイトの下に存在するサブシステムの名前と一致するディレクトリを探します。存在するリソース ディレクトリごとに、CmdLetはそのサブシステムのデータをインポートします。つまり、Sitecoreパッケージを使用して、シード データをサイトと一緒に移動できるようになりました。これは、開発サイトや小規模なデモ サイトではうまく機能しますが、非常に大きなカタログがあるシナリオではうまく機能しません。
Commerce Serverサイトとリソースが作成され、データがインポートされると、CmdLetは配置をセキュリティで保護しようとします。CmdLetは、Sitecoreサイトが実行されているアプリケーション プールのユーザー名を取得し、そのユーザーを、サイトで使用されているリソースによって決定される適切なデータベースとDCOMロールに追加します。デフォルトでは、このユーザーには、サイトで使用可能なサブシステムに対する管理レベルの権限が付与されます。たとえば、このユーザーはカタログ内のアイテムを編集できます。
New-CSWebService CmdLetは、指定されたIISサイトに要求されたサブシステムWebサービスを作成します。以前のリリースとは異なり、WebサービスはCommerce Serverのインストール ディレクトリ内にあるVisual Studio Web配置パッケージを使用してセットアップされます。AzureなどのリモートIISインスタンスがある場合は、Web配置パッケージを取得し、CmdLetsを使用せずに手動でIISにデプロイできます。
このCmdLetは、Windows認証の有効化や匿名認証の無効化など、一般的なWebサービス タスクも処理します。ユーザー IDは、各Webサービスの管理者Azmanロールにも追加されるため、CmdLetの実行が終了するとすぐに、それを使用するアクセス許可が付与されます。最後に、カタログWebサービスのアプリケーション プール ユーザーには、そのAzManファイルへの書き込みアクセス権が付与されます。
New-CSWebService CmdLetは、アプリケーション プール ユーザーにデータベース セキュリティを適用しません。これを行うには、Webサービス フォルダでInitialize-CSSiteを実行するか、Grant-CSCatalogManagementPermissionsなどのGrant-CS*ManagementPermissions CmdLetの1つを使用します。