web-dev-qa-db-ja.com

IIS 7サイトを別のサーバーに移行するにはどうすればよいですか?

Webサイトを別のサーバーに移動するためのベストプラクティスは何ですか(すべての設定などとともに)。

  • 新しいサーバーでサイトを手動で再作成します(明らかな理由でメンテナンスできません)
  • ApplicationHost.config設定ファイルをコピーします
  • Appcmdを使用してバックアップと復元を行います
  • MSDeployを使用して、新しいマシンでサイトを公開します
  • サードパーティのツールを使用する

他の人の経験はどうなっているのだろうか。

95
Kalid

IISマネージャーでサーバー構成をエクスポートするとします。

  1. IIS managerで、[サーバー]ノードをクリックします
  2. 「管理」の下の共有構成に移動します
  3. 「構成のエクスポート」をクリックします。 (インターネット経由でパスワードを送信する場合、USBキーを介してパスワードを移動するだけなら、汗をかかないでください。)
  4. これらのファイルを新しいサーバーに移動します

    administration.config
    applicationHost.config
    configEncKey.key 
    
  5. 新しいサーバーで、「共有構成」セクションに戻り、「共有構成を有効にする」をオンにします。これらのファイルへの物理パスの場所を入力して適用します。

  6. 暗号化パスワード(設定した場合)の入力を求め、IISをリセットします。

バム!ビールを持って行こう!

123
chews

MSDeployは、IISチームが推奨するすべてのコンテンツ、構成などを移行できます。 http://www.iis.net/extensions/WebDeploymentTool

パッケージを作成するには、次のコマンドを実行します(既定のWebサイトをWebサイト名に置き換えます)。

msdeploy.exe -verb:sync -source:apphostconfig="Default Web Site" -dest:package=c:\dws.Zip > DWSpackage7.log

パッケージを復元するには、次のコマンドを実行します。

msdeploy.exe -verb:sync -source:package=c:\dws.Zip -dest:apphostconfig="Default Web Site" > DWSpackage7.log
22
Bill Staples

Appcmdを使用してサイト構成をエクスポート/インポートする際に役立つWebサイトを次に示します。 http://www.microsoftpro.nl/2011/01/27/exporting-and-importing-sites-and-app-pools-from-iis-7-and-7-5/

17
Roy

Microsoft Web Deploy v3は、すべてのファイル、構成設定などをエクスポートおよびインポートできます。すべてを新しいアーカイブにインポートする準備ができているZipアーカイブに入れますサーバ。 IIS(v7-v8)の新しいバージョンにアップグレードすることもできます。

http://www.iis.net/extensions/WebDeploymentTool

ツールのインストール後:IIS Management ConsoleでサーバーまたはWebサイトを右クリックし、[展開]、[アプリケーションのエクスポート]を選択します。 。 'エクスポートを実行します。

新しいサーバーで、エクスポートされたZipアーカイブを同じ方法でインポートします。

12
Zymotik

担当者がいないため、スレッドをコメントアップできません。別のコメンターは、IISの下位バージョンから上位バージョンに移行できないと述べました。これは、いくつかのファイルをマージしない場合に当てはまりますが、chewsが投稿した回答を使用して、IIS 7.5サイトをIIS 8.0に移行したときにできることです。

エクスポートが作成されると(II7.5)、IIS7.5サーバー上のリソースへの参照を持つ2つのキーファイル(administration.configおよびapplicationHost.config)があります。たとえば、DLLは、7.5に固有の公開キーとバージョンで参照されます。これらはIIS8サーバーでは同じではありません。機能の構成も異なる場合があります(私の構成が同一であることを確認しました)。 8には、7.5には存在しない新機能がいくつかあります。

2つのファイルをマージするのに十分な勇気がある場合-それは動作します。 IISを1回アンインストールする必要がありました。

私はマージツール(Beyond Compare)を使用しましたが、同等のものがなければPITAは非常に大きなものになりましたが、優れたdiffツールを使えば非常に簡単でした(5分)。

マージを行うには、インポートを試行する前に、エクスポートされた7.5ファイルに対して8.0ファイルを比較する必要があります。ほとんどの場合、8.0ファイルは、エクスポートされた7.5ファイル内のサーバー固有のものを上書きする必要がありますが、サイト/アプリプール固有のものは残します。

私はadministration.configがほとんど同一であることがわかりました、多くのエントリのバージョン情報なし。これは簡単でした。

ApplicationHost.configにはさらに多くの違いがあります。一部のエントリの順序は異なりますが、それ以外は同一であるため、それぞれの違いを選択して把握する必要があります。

マージする前に、7.5エクスポートファイルをSystem32\inetsrv\config\Exportフォルダーに配置します。

上記の両方のファイルのフォルダーSystem32\inetsrv\configをフォルダーSystem32\inetsrv\config\Exportにマージしました。サイト固有のタグ/要素(例:applicationPools、customMetadata、sites、authentication)を除くFROMファイルのすべてをプッシュしました。特筆すべき点として、サイト固有の「ロケーション」タグブロックも多く保持する必要がありましたが、新しいサーバーには、サーバー固有のデフォルトを保持する独自の「ロケーション」タグブロックがありました。

最後に、サービスアカウントを使用する場合、これらのキャッシュされたパスワードはジャンクであり、アプリプールに再入力する必要があることに注意してください。最初はどのサイトも機能していませんでしたが、必要だったのはすべてのアプリプールのパスワードを再入力するだけで、稼働していました。

コメントできる人がこの投稿をスレッドに言及している場合-おそらく、複雑な構成を持つ1つのサーバー上に多くのサイトがある私のような誰かに役立つでしょう。

よろしく、

スチュアート

3
Stuart

appcmdを使用して1つまたはすべてのサイトをエクスポートし、新しいサーバーに再インポートします。 iis7.0または7.5である可能性があります。appcmdを使用してエクスポートすると、パスワードが復号化され、再インポートされて再暗号化されます。

3
Jim

私の場合、ファイルはすでにコピーされているので、このガイドの手順に従う最も簡単な方法を見つけました: https://www.ryadel.com/en/exporting-importing-app-pools-and-websites -configuration-between-multiple-iis-instances /

AppPools/Websitesをエクスポートし、xmlファイルを宛先サーバーにコピーし、AppPoolsをインポートしてからWebsitesをインポートしました。とてもうまくいきました。これもこの質問に対する優れた選択肢です。

0
Ralph