8. コンテンツにスキップ

8. バージョンアップ

8.1 WEBAPIのバージョンアップ

現在インストールされているWEBアプリケーションのバージョンアップデートする際の手順について説明します。

8.1.1 WEBアプリケーションのアンインストール

  1. 「スタート」メニュー>「管理ツール」>「サービス」を選択し、「サービス」画面を表示します。

  2. 「Apache2.4」を右クリックし、「停止(O)」をクリックします。

  3. 旧バージョンの「Apache2.4」フォルダの名前を別名に変更します。

  4. C:\[仮想環境用のフォルダ名]\.envフォルダを削除。

  5. 下記のコマンドを実行して、旧バージョンの「Apache2.4」をアンインストール

    • コマンド
      cd△C:\[Apache2.4のインストールフォルダ]\bin
      httpd.exe -k uninstall
      

以上でWEBアプリケーションのアンインストールは終了です。

8.1.2 SSM WEBAPIのインストール

8.1.2.1 SSM WEBAPIモジュールのインストール

インストールディスクから、以下のインストーラを起動します。

64bit OS の場合 Senju Service Manager\Install\x64\2025011\SSMWEBAPI\SSMWEBAPI\ssmwebapi-2501-01-x64.exe

Info

インストーラからMicrosoft Visual C++ 2022 Redistributable Package (x64)のインストールを求められることがあります。この場合、インストール画面のメッセージに従いインストールを行ってください。

「セットアップウィザードの開始」画面が表示されるので、「次へ」をクリックします。

「ユーザー情報」画面が表示されるので、ユーザー名・会社名を入力します。

入力し終わったら、「次へ」をクリックします。

「仮想環境作成先」画面が表示されるので、仮想環境を作成するフォルダを指定します(ここで指定したフォルダをとします)。指定した後、「次 へ」をクリックします。

「Apache2.4インストール先」画面が表示されるので、Apacheをインストールするフォルダを指定します (ここで指定したフォルダをとします)。指定した後、「次 へ」をクリックします。

「接続設定」画面が表示されるので、プロトコルを選択して、Port・サーバー名を入力します。入力し終わったら、「次へ」をクリックします。

Info

SSMWEBAPIインストール先フォルダのパスは、SSMWEBによって自動的に選択されますので、手動で変更できない。

「コンポーネントの選択」画面が表示されるので、SSMWEBAPIをインストールするコンポーネントが選択されていることを確認し、「次へ」をクリックします。

選択コンポーネント:

・SSM WEBAPIサーバー

・Microsoft Visual C++ 2022 Redistributable (x64)

・httpd-2.4.58-win64-VS17.zip

「インストール準備完了」画面が表示されます。

設定情報を確認した後、「インストール」ボタンをクリックします。

「インストール状況」画面が表示されます。処理が終了するまで待ちます。

インストールが完了して、「セットアップウィザードの完了」画面が表示されるので、「すぐに再起動(Y)」が選択されていることを確認し、完了ボタンをクリックします。

以上で「INVALID REF」は終了です。

8.1.2.2 Apacheの設定(SSL通信の設定)

Info

この手順はSSLを利用した接続を行わない場合は不要です。

  1. サーバー証明書・サーバーの秘密鍵を以下の場所に配置します。

    C:\[Apacheのインストールパス]\Apache24\conf\server.key
    C:\[Apacheのインストールパス]\Apache24\conf\ssl.crt
    
  2. Apacheを再起動します。

    「スタート」メニュー>「管理ツール」>「サービス」を選択し、「サービス」画面を表示します。

    「Apache2.4」を右クリックし、「再起動(E)」をクリックします。

以上でApacheの設定(SSL通信の設定)は終了です。

8.1.3 Apache設定ファイルの上書き

  1. 新バージョンのApacheの設定ファイル(httpd.conf)を旧バージョンの記載内容を転記します。また、SSL通信利用中の場合はhttpd-ssl.confも同様に記載内容を転記します。

  2. 「スタート」メニュー>「管理ツール」>「サービス」を選択し、「サービス」画面を表示します。

  3. 「Apache2.4」を右クリックし、「再起動(E)」をクリックします。

  4. 任意のエンドポイントのAPIの実行に成功することを確認します。

  5. 別名に変更したApacheのフォルダを削除します。

以上でApacheの上書きは終了です。

8.2 Apacheのバージョンアップ

Apache のバージョンをアップデートする際の設定手順について説明します。
例として Apache 2.4.58 から Apache 2.4.66 にバージョンアップする手順を記載します。

  1. 新バージョンの zip ファイルを入手し、インストールするサーバーの C:\TEMP に格納します。
    ・ダウンロード先:https://www.apachelounge.com/download/
    ・ファイル名: httpd-2.4.66-260223-Win64-VS18.zip

  2. インストールするサーバーに管理者権限のアカウントでログインします。

  3. 「スタート」メニュー>「管理ツール」>「サービス」を選択し、「サービス」画面を表示します。

  4. 「Apache2.4」を右クリックし、「停止(O)」をクリックします。

  5. 旧バージョンの「Apache24」フォルダをバックアップするため、フォルダ名を別名に変更します。
    例:Apache24 → Apache24_2.4.58

  6. 新バージョンの zip ファイルを展開し、「Apache24」フォルダをバージョンアップ前と同じ場所に格納します。

  7. 新バージョンの Apache の設定ファイル(httpd.conf と httpd-mpm.conf)に旧バージョンの記載内容を転記します。

    1. Apache の設定ファイル(Apache24\conf\httpd.conf)をテキストエディタで開き、以下の内容を編集します。

      • Apache の インストール先を設定します。
        #Define SRVROOT "C:/Apache24"
        Define SRVROOT "[Apacheのインストールパス]"
        
      • ポート番号に旧バージョンの内容を設定します。
        例:
        #Listen 80
        Listen 49152
        
      • サーバー名に旧バージョンの内容を設定します。
        例:
        #ServerName www.example.com:80
        ServerName ssmapihost:49152
        
      • MPM 設定ファイル(httpd-mpm.conf)の Include のコメントアウトを外し有効にします。
        # Server-pool management (MPM specific)
        Include conf/extra/httpd-mpm.conf
        
      • 旧バージョンのApache の設定ファイル(httpd.conf)をテキストエディタで開き、</VirtualHost>で検索し、 VirtualHost に関する情報をコピーし、新バージョンの Apache の設定ファイルの# Virtual hostsの下にペーストします。
        ※SSL通信を利用する場合、この手順は不要です。
        例:
        # Virtual hosts
        <VirtualHost *:49152>
        DocumentRoot "C:/Program Files/CCFSP/ccfspwebapi/"
        WSGIScriptAlias / "C:/Program Files/CCFSP/ccfspwebapi/wsgi.py"
        <Directory "C:/Program Files/CCFSP/ccfspwebapi">
            Require all granted
        </Directory>
        SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
        </VirtualHost>
        #Include conf/extra/httpd-vhosts.conf
        
      • 旧バージョンのApache の設定ファイル(httpd.conf)をテキストエディタで開き、LoadFileで検索し、 利用するファイルやモジュールなどの配置情報をコピーし、新バージョンの Apache の設定ファイルの一番下にペーストします。
        ※SSL通信を利用する場合、この手順は不要です。
        例:
        LoadFile "C:/Users/Administrator/AppData/Local/Programs/Python/Python311/python311.dll"
        LoadModule wsgi_module "C:/senjusm_api_venv/.env/Lib/site-packages/mod_wsgi/server/mod_wsgi.cp311-win_amd64.pyd"
        WSGIPythonHome "C:/senjusm_api_venv/.env"
        
    2. Apache の MPM 設定ファイル「Apache24\conf\extra\httpd-mpm.conf」をテキストエディタで開き、以下の内容を編集します。

      • <IfModule mpm_winnt_module>で検索し、MaxConnectionsPerChildの下にThreadStackSize 8388608を追加します。
        # MaxConnectionsPerChild: maximum number of connections a server process serve  
        <IfModule mpm_winnt_module>
            ThreadsPerChild        150
            MaxConnectionsPerChild   0
            ThreadStackSize    8388608
        </IfModule>    
        
  8. SSLを利用して接続を行う場合は同様に新バージョンの Apache の設定ファイル(httpd.conf と httpd-ssl.conf)に旧バージョンのSSL通信設定を転記します。

    Info

    この手順は SSL を利用した接続を行わない場合は不要です。

    1. Apache の設定ファイル(httpd.conf)をテキストエディタで開き、以下の内容を編集します。

      • ポート番号(Listen)をコメントアウトし無効にします。
        例:
        #Listen 49152   
        
      • SSL モジュールの LoadModule のコメントアウトを外し有効にします。
        # LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
        # LoadModule ssl_module modules/mod_ssl.so
        LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
        LoadModule ssl_module modules/mod_ssl.so
        
      • SSL 設定ファイル(httpd-ssl.conf)の Include のコメントアウトを外し有効にします。
        #Include conf/extra/httpd-ssl.conf                                             
        Include conf/extra/httpd-ssl.conf                                              
        
    2. サーバー証明書・サーバーの秘密鍵を以下の場所に配置します。
      例:配置されたサーバー証明書・サーバーの秘密鍵は「server.crt・server.key」の場合
      ・[Apacheのインストールパス]\conf\server.key
      ・[Apacheのインストールパス]\conf\server.crt

    3. Apache の SSL 設定ファイル(httpd-ssl.conf)をテキストエディタで開き、以下の内容を編集します。

      • ポート番号に旧バージョンの内容を設定します。
        例:
        #Listen 443
        Listen 49152
        
      • サーバー名に旧バージョンの内容を設定します。
        例:
        #ServerName www.example.com:443
        ServerName ssmapihost:49152
        
      • cgi-bin のディレクトリの制御をコメントアウトし CGI の実行を許可します。
        #<Directory "${SRVROOT}/cgi-bin">                                              
        #    SSLOptions +StdEnvVars                                                    
        #</Directory>                                                                  
        
      • サーバー証明書とサーバーの秘密鍵の配置パスを設定します。
        #SSLCertificateFile "/server.crt"                                              
        SSLCertificateFile "[Apacheのインストールパス]/conf/server.crt"                
        
        #SSLCertificateKeyFile "/server.key"
        SSLCertificateKeyFile "[Apacheのインストールパス]/conf/server.key"
        
      • 旧バージョンのApache の SSL 設定ファイル(httpd-ssl.conf)をテキストエディタで開き、</VirtualHost>で検索し、 </VirtualHost>の下の内容をコピーし、新バージョンの Apache の SSL 設定ファイルの</VirtualHost>の下にペーストします。
        例:
        <VirtualHost *:49152>
         DocumentRoot "C:/Program Files/CCFSP/ccfspwebapi/"
         WSGIScriptAlias / "C:/Program Files/CCFSP/ccfspwebapi/wsgi.py"
         SSLEngine on
         SSLCertificateFile "C:/Apache24/conf/server.crt"
         SSLCertificateKeyFile "C:/Apache24/conf/server.key"
         <Directory "C:/Program Files/CCFSP/ccfspwebapi">
            Require all granted
         </Directory>
         SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
        </VirtualHost>
        LoadFile "C:/Users/Administrator/AppData/Local/Programs/Python/Python311/python311.dll"
        LoadModule wsgi_module "C:/senjusm_api_venv/.env/Lib/site-packages/mod_wsgi/server/mod_wsgi.cp311-win_amd64.pyd"
        WSGIPythonHome "C:/senjusm_api_venv/.env"
        
  9. 「スタート」メニュー>「管理ツール」>「サービス」を選択し、「サービス」画面を表示します。

  10. 「Apache2.4」を右クリックし、「開始(S)」をクリックします。

  11. コマンドプロンプトを新規に起動し、下記のコマンドを実行します。(“△” は半角スペースを示します。)

    • コマンド
      cd△[Apacheのインストールパス]\bin
      httpd -v
      
  12. バージョンアップ後のバージョンは「2.4.66」であることを確認します。

  13. 任意のエンドポイントの API の実行に成功することを確認します。

  14. 別名に変更した Apache のフォルダを削除します。

以上で Apache のバージョンアップは終了です。