RDPを使用しないWindows Webサーバーのセットアップ

最近では、次のWebサーバーを構成する必要がありました。 ちょうどそのころ、私はPowerShellの春の悪化を経験しました。 一般に、ちょっとした準備として、RDPなしでWebサーバーをセットアップすることにしました。



そのため、タスク:イギリスのどこかにあるWindows 2008 R2を搭載したマシンがあります。IIS、.NET 4.0をインストールし、いくつかのWebサイトをセットアップする必要があります。 これをリモートでコマンドラインから行う方法にはいくつかのオプションがありますが、今日はPowerShell Remotingがスポンサーになります。 現実を実現するには、PowerShell Remotingをかなりオンにするだけです。



サーバーでのPowerShell Remotingの構成



これが最初のファイルです。 リモートアクセス自体がない場合、リモートアクセスを有効にすることは困難です。 一般的に、ここではRDPを使用する必要があります。 PowerShellコンソール(以降、単にコンソール)で、管理者の下で、次を実行する必要があります。



Enable-PsRemoting -Confirm







すべてが順調であれば、PowerShell Remotingは常にマシン上にあります。 この時点で、RDPをオフにすることができます。 この基本的なグラフィカルインターフェイスはもう必要ありません。 次のステップは、クライアントを構成することです。



クライアントでPowerShell Remotingを構成する



私に関しては、PowerShellは妄想を書いていました。 可能と不可能のすべてを禁止しました。 そのため、サーバーへの接続も禁止されています。 これは確かに少し誇張します。 すべてが1つのドメインにある場合、すべてが透過的になります。 しかし、私の状況では、マシンはドメイン外にあり、同じネットワーク上にさえありません。 一般的に、私は注意して、婚外関係を許可することにしました。



set-item wsman:localhost\client\trustedhosts -value * -force

restart-service WinRm








だから、私たちは最も興味深いことになりました。 サーバーに接続しています。



enter-pssession -ComputerName 192.0.32.10 -Credential "WS0114\Administrator"







私がこの瞬間をどのように待っていたか想像できません。 私は緊張し、夜は眠れませんでした。 そして、バム、そして太鼓を打つことなく、私はすでに地球の反対側のどこかのマシンのコマンドラインにいます。 一般に、はい。 私たちが経験した最も神経質な段階。 私たちはリモートマシン上にいます。 そして、ほとんど残っていません。



IISのインストール



ここではすべてが簡単です:



Import-Module ServerManager

Add-WindowsFeature Web-Server








これは本当に不必要なものを大量に配置するので、get-WindowsFeatureを実行し、必要なフィッティングのみを配置することをお勧めします。



.NET 4.0をインストールする



そして、これがファイル番号2です。 .NET 4.0をインストールする簡単なコマンドはまだありません。 しかし、いくつかの難しいものがあります。 私のオプションについてはもう少し詳しく説明しますが、レポートのために、おそらくより正しいオプションについて簡単に説明します。 マイクロソフトには、あらゆる種類の「中央」リポジトリが多数あります。 そのため、WebサーバーにはWeb Platform Installerがあります。 そして、これにはコマンドラインインターフェースがあります。 WebPi Command Lineのインストールを気にしなかった場合、.NET 4.0のインストールは次のようになります。



WebpiCmdline /Products: NETFX4RTM /AcceptEula







しかし、私のバージョンに戻りましょう。 問題を真正面から解決する場合、これらは2つの簡単な手順です。 インストーラーをダウンロードして、コマンドラインから実行します。 最初のステップの主な問題。 PowerShellでは、ファイルをダウンロードする通常の手段はありません。 したがって、.NET WebClientをラップする小さなモジュールを作成しました。 確かに、新しい問題が待っていました。 PsUrlをインストールするには、ダウンロードする必要があります。 円は閉じています。 しかし、私はもう止まりませんでした(悪化)。 別の自転車を作成する自分自身の強さを感じたので、モジュールのインストーラーがあるといいと思いました。 ブームとインターネットは別のプロジェクトで補充されました



ダウンロードの問題は次のように解決されました。



 #  PsGet (new-object Net.WebClient).DownloadString("https://github.com/chaliy/psget/raw/master/GetPsGet.ps1") | Invoke-Expression #  PsUrl install-module https://github.com/chaliy/psurl/raw/master/PsUrl/PsUrl.psm1 #  .NET 4.0 get-url http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe -ToFile dotNetFx40_Full_x86_x64.exe #  .NET 4.0 start-process .\dotNetFx40_Full_x86_x64.exe -ArgumentList "/q /norestart" -Wait
      
      







ここで、PsGetとPsUrlがモジュールに含まれていますが、プロファイルの開始時にインポートされないことに注意してください。



サイトをセットアップします



必要なものをすべてインポートします。

Import-Module WebAdministration





このサーバーでは、すべてのアプリケーションが.NET 4.0の下にあるため、次のようになります。



Set-WebConfigurationProperty /system.applicationHost/applicationPools/applicationPoolDefaults -name managedRuntimeVersion -value v4.0







テストサイトを上げる:



 New-Item "C:\inetpub\example" -ItemType Directory New-WebSite Example -Port:8080 -PhysicalPath:"C:\inetpub\example" Get-Url http://example.com -ToFile "C:\inetpub\example\index.html" Get-Url http://localhost:8080/
      
      







それだけです。



Exit-PsSession







どちらかといえば、すべてを1つのスクリプト実行できます 。 全体として、このプロセスは多かれ少なかれ私を満足させました。 それほど多くのファイルはありません。 「落とし穴」はなんとか回避できました。 落とし穴といえば。 それらの多くはありますが、私はこのトピックでそれらを説明し始めませんでしたが、問題があれば、尋ねてください。



PS Springの悪化は続いています。



[うだて]



私は黙って嘘をついたことが判明した。 ごめんなさい PowerShellでのファイルのダウンロードは。 また、ダウンロード、非同期ダウンロード、ダウンロードマネージャーなどの利点もあります。 実際には、Windowsコンポーネント-BITSを使用しています。 Microsoftは伝統的に名前に遅れをとっていたため、モジュールはBitsTransferと呼ばれます。



 Import-Module BitsTransfer #  .NET 4.0 Start-BitsTransfer http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe #  .NET 4.0 start-process .\dotNetFx40_Full_x86_x64.exe -ArgumentList "/q /norestart" -Wait
      
      






All Articles