Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
News

Use Powershell to Install IIS for RAD Server EMS production environment [JAPAN]

pastedimage1544501576576v1-8421522RAD Server が提供する機能のうち、中間サーバの機能は IIS または Apache で動作します。このインストールですが、運用環境向けのインストール手順を見ると docwiki には IIS のインストール手順が以下のように掲載されています。

  1. [コントロール パネル|プログラムと機能|Windows の機能の有効化または無効化]を選択します。
    メモ: これには特権モードが必要です。
  2. [Windows の機能]ダイアログ ボックスの[インターネット インフォメーション サービス]ノードを展開し、以下を行います。

    • [Web 管理ツール]の[IIS 管理コンソール]のチェックをオンにします。
    • [World Wide Web サービス]の[アプリケーション開発機能]を展開し、[ISAPI 拡張機能]と[ISAPI フィルタ]のチェックをオンにします。
    • [World Wide Web サービス]の[HTTP 共通機能]を展開し、同様に[既定のドキュメント]、[ディレクトリの参照]、[HTTP エラー]、[静的コンテンツ]のチェックがオンになっているか確認します。
  3. [OK]をクリックして、インストールを開始します。

http://docwiki.embarcadero.com/RADStudio/Seattle/ja/運用環境への_EMS_サーバーまたは_EMS_コンソール_サーバーのインストール


これは大した作業じゃないけど、こういうのをOS標準のGUIで作業するのはあんまり楽しくないです。せめて RAD Studio の IDE でコンポーネントやプロパティを探すときのようにインクリメンタルサーチができるならずいぶん違うんですけどね。あるいは Linux なら yum install や apt-get install とかでサクッと終わらせる作業ですよ。

というわけで、GUIでやらずにCUIでコピー&ペーストでやってしまいましょう。管理者権限でPowerShell を起動して、以下のように実行すればよいのです。なお、この作業は Windows Server 2012R2 で検証したものを掲載しています。

PS C:Windowssystem32> Add-WindowsFeature Web-Server,Web-Mgmt-Console,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-Static-Content

Success Restart Needed Exit Code      Feature Result
------- -------------- ---------      --------------
True    No             Success        {アプリケーション開発, HTTP 共通機能, 既定...


PS C:Windowssystem32>

これでインストール完了ですね。インストールは正常に完了し、OSの再起動は不要というステータスになっています。なお、Add-WindowsFeatures は指定する名前を間違えていると以下のようにエラーとなります。だからインストールのコマンドに間違いがあればすぐに分かります

PS C:\Windows\system32> Add-WindowsFeature Web-Server,Web-Mgmt-Console,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-Static-Conten
Add-WindowsFeature : ArgumentNotValid: 役割、役割サービス、または機能名が無効です: 'Web-Static-Conten'。名前が見つかりませんでした。
発生場所 行:1 文字:1
+ Add-WindowsFeature Web-Server,Web-Mgmt-Console,Web-ISAPI-Ext,Web-ISAPI-Filter,We ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (Web-Static-Conten:String) [Install-WindowsFeature]、Exception
    + FullyQualifiedErrorId : NameDoesNotExist,Microsoft.Windows.ServerManager.Commands.AddWindowsFeatureCommand

Success Restart Needed Exit Code      Feature Result
------- -------------- ---------      --------------
False   No             InvalidArgs    {}

さて、エラーが出ていなければインストールには問題は無いはずですが、念のためにインストール済みの機能を確認してみましょう

PS C:\Windows\system32> Get-WindowsFeature -Name Web-Server,Web-Mgmt-Console,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-Static-Content

Display Name                                            Name                       Install State
------------                                            ----                       -------------
[X] Web サーバー (IIS)                                  Web-Server                     Installed
            [X] HTTP エラー                             Web-Http-Errors                Installed
            [X] ディレクトリの参照                      Web-Dir-Browsing               Installed
            [X] 既定のドキュメント                      Web-Default-Doc                Installed
            [X] 静的なコンテンツ                        Web-Static-Content             Installed
            [X] ISAPI フィルター                        Web-ISAPI-Filter               Installed
            [X] ISAPI 拡張                              Web-ISAPI-Ext                  Installed
        [X] IIS 管理コンソール                          Web-Mgmt-Console               Installed

大丈夫のようですね。

なお、IIS関連の機能のインストール状況を一覧で確認したい場合は、”Get-WindowsFeature -Name Web-*” のように実行します

PS C:Windowssystem32>  Get-WindowsFeature -Name Web-*

Display Name                                            Name                       Install State
------------                                            ----                       -------------
[X] Web サーバー (IIS)                                  Web-Server                     Installed
    [X] Web サーバー                                    Web-WebServer                  Installed
        [X] HTTP 共通機能                               Web-Common-Http                Installed
            [X] HTTP エラー                             Web-Http-Errors                Installed
            [X] ディレクトリの参照                      Web-Dir-Browsing               Installed
            [X] 既定のドキュメント                      Web-Default-Doc                Installed
            [X] 静的なコンテンツ                        Web-Static-Content             Installed
            [ ] HTTP リダイレクト                       Web-Http-Redirect              Available
            [ ] WebDAV 発行                             Web-DAV-Publishing             Available
        [X] セキュリティ                                Web-Security                   Installed
            [X] 要求フィルター                          Web-Filtering                  Installed
            [ ] IIS クライアント証明書マッピング認証    Web-Cert-Auth                  Available
            [ ] IP およびドメインの制限                 Web-IP-Security                Available
            [ ] SSL 証明書の集中サポート                Web-CertProvider               Available
            [ ] URL 承認                                Web-Url-Auth                   Available
            [ ] Windows 認証                            Web-Windows-Auth               Available
            [ ] クライアント証明書マッピング認証        Web-Client-Auth                Available
            [ ] ダイジェスト認証                        Web-Digest-Auth                Available
            [ ] 基本認証                                Web-Basic-Auth                 Available
        [X] パフォーマンス                              Web-Performance                Installed
            [X] 静的なコンテンツの圧縮                  Web-Stat-Compression           Installed
            [ ] 動的なコンテンツの圧縮                  Web-Dyn-Compression            Available
        [X] 状態と診断                                  Web-Health                     Installed
            [X] HTTP ログ                               Web-Http-Logging               Installed
            [ ] ODBC ログ                               Web-ODBC-Logging               Available
            [ ] カスタム ログ                           Web-Custom-Logging             Available
            [ ] トレース                                Web-Http-Tracing               Available
            [ ] ログ ツール                             Web-Log-Libraries              Available
            [ ] 要求の監視                              Web-Request-Monitor            Available
        [X] アプリケーション開発                        Web-App-Dev                    Installed
            [ ] .NET 拡張機能 3.5                       Web-Net-Ext                    Available
            [ ] .NET 拡張機能 4.5                       Web-Net-Ext45                  Available
            [ ] Application Initialization              Web-AppInit                    Available
            [ ] ASP                                     Web-ASP                        Available
            [ ] ASP.NET 3.5                             Web-Asp-Net                    Available
            [ ] ASP.NET 4.5                             Web-Asp-Net45                  Available
            [ ] CGI                                     Web-CGI                        Available
            [X] ISAPI フィルター                        Web-ISAPI-Filter               Installed
            [X] ISAPI 拡張                              Web-ISAPI-Ext                  Installed
            [ ] WebSocket プロトコル                    Web-WebSockets                 Available
            [ ] サーバー側インクルード                  Web-Includes                   Available
    [ ] FTP サーバー                                    Web-Ftp-Server                 Available
        [ ] FTP サービス                                Web-Ftp-Service                Available
        [ ] FTP 拡張                                    Web-Ftp-Ext                    Available
    [X] 管理ツール                                      Web-Mgmt-Tools                 Installed
        [X] IIS 管理コンソール                          Web-Mgmt-Console               Installed
        [ ] IIS 6 管理互換                              Web-Mgmt-Compat                Available
            [ ] IIS 6 メタベース互換                    Web-Metabase                   Available
            [ ] IIS 6 WMI 互換                          Web-WMI                        Available
            [ ] IIS 6 スクリプト ツール                 Web-Lgcy-Scripting             Available
            [ ] IIS 6 管理コンソール                    Web-Lgcy-Mgmt-Console          Available
        [ ] IIS 管理スクリプトおよびツール              Web-Scripting-Tools            Available
        [ ] 管理サービス                                Web-Mgmt-Service               Available
    [ ] Web アプリケーション プロキシ                   Web-Application-Proxy          Available
[ ] IIS ホスト可能な Web コア                           Web-WHC                        Available

PS C:Windowssystem32>

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

IN THE ARTICLES