MilkyStep Official Community

メルマガ・ステップメール配信ソフトMilkyStep利用者のコミュニティです。

エックスサーバX10プランにおいてLightからProfessionalへの自動バージョンアップの不具合について

■問題の状況
Milkystep ver 0.96をエックスサーバX10プランにインストールし動作確認ができ、自動バージョンアップにも対応しているということで、Professional版を購入しました。

指定の方法でバージョンアップキーを取得し、共通設定メニューのバージョンアップから、最新バージョンである1.87のバージョンアップ実行をしました。キーを入力し、実行を押すと、下記のエラーが発生し、自動バージョンアップが正常に完了しません。

■ブラウザでのエラーメッセージ
バージョンアップ中です。ブラウザを終了しないでください

古いバージョンアップファイルを削除中・・・完了
バージョンアップファイルを取得中・・・
Software error

■サーバ
エックスサーバX10プラン

■サーバ情報
サーバOS: linux
Perlのバージョン: 5.8.8
Perlのパス: 不明

【必須モジュールのインストール状況】
Digest::MD5…
  [ O K ] あなたの使用しているサーバには、Digest::MD5モジュールがインストールされています。
    (バージョン 2.36)
CGI…
  [ O K ] あなたの使用しているサーバには、CGIモジュールがインストールされています。
    (バージョン 3.15)
CGI::Cookie…
  [ O K ] あなたの使用しているサーバには、CGI::Cookieモジュールがインストールされています。
    (バージョン 1.26)
DBI…
  [ O K ] あなたの使用しているサーバには、DBIモジュールがインストールされています。
    (バージョン 1.621)
DBD::mysql…
  [ O K ] あなたの使用しているサーバには、DBD::mysqlモジュールがインストールされています。
    (バージョン 3.0007)
Scalar::Util…
  [ O K ] あなたの使用しているサーバには、Scalar::Utilモジュールがインストールされています。
    (バージョン 1.21)

【オプションモジュールのインストール状況】

Archive::Zip…
  [ O K ] あなたの使用しているサーバには、Archive::Zipモジュールがインストールされています。
    (バージョン 1.16)
LWP::UserAgent…
  [ O K ] あなたの使用しているサーバには、LWP::UserAgentモジュールがインストールされています。
    (バージョン 2.033)
HTTP::Request::Common…
  [ O K ] あなたの使用しているサーバには、HTTP::Request::Commonモジュールがインストールされています。
    (バージョン 1.26)
HTTP::Cookies…
  [ O K ] あなたの使用しているサーバには、HTTP::Cookiesモジュールがインストールされています。
    (バージョン 1.39)
IO::Socket::SSL…
  [ O K ] あなたの使用しているサーバには、IO::Socket::SSLモジュールがインストールされています。
    (バージョン 1.01)
Authen::SASL…
  [ N G ] あなたの使用しているサーバには、Authen::SASL モジュールがインストールされていません。
SMTPサーバを指定してのメール送信時、SMTP認証を行う場合に必要です。
Net::SSLeay…
  [ O K ] あなたの使用しているサーバには、Net::SSLeayモジュールがインストールされています。
    (バージョン 1.30)
Crypt::SSLeay…
  [ O K ] あなたの使用しているサーバには、Crypt::SSLeayモジュールがインストールされています。
    (バージョン 0.51)
GD…
  [ O K ] あなたの使用しているサーバには、GDモジュールがインストールされています。
    (バージョン 2.45)

■エラーログ
エラーログの状況は下記のとおりです。

[Thu Aug 11 06:42:17 2016] [error] [client 60.97.110.62] [Thu Aug 11 06:42:17 2016] index.cgi: Can’t locate object method “new” via package “LWP::UserAgent” (perhaps you forgot to load “LWP::UserAgent”?) at ./lib/get.pl line 4692., referer: http://example.com/milkystep/index.cgi?mode=show_ready_vup&vup_type=system&latest_ver=1.87&old_ver=0.96&fir_time=1

■対策について
エラーメッセージにある lib/get.pl の 4692行目を確認したところ、下記のようにソースは記述されています。

 lib/get.pl の 4692行目
 my $ua = LWP::UserAgent->new;

インストールや検証に相応の時間を使っておりますし、今後の運用を考えると、手動アップデートではなく自動バージョンアップで行いたいと思っています。ソースコードにパッチを充てるなどでも構わないので、本環境下におけるLightからProfessionalへの自動バージョンアップの方法を教えて下さい。

どうぞよろしくお願いいたします。

木, 8月 11 2016 » トラブル

3 Responses

  1. zeroalgo 8月 11 2016 @ 8:02 AM

    記事投稿をした者です。
    とりあえず、下記の対策で自動バージョンアップが完了したので、追記しておきます。

    ■対策
    lib/get.gl の行頭に下記の2行を追加。

     use LWP::UserAgent;
     use HTTP::Request::Common;

    ■バージョンアップメッセージ
    再度、自動バージョンアップを実行。

    古いバージョンアップファイルを削除中・・・完了
    バージョンアップファイルを取得中・・・完了
    ファイルを展開中・・・完了
    ファイルを更新中・・・完了
    ファイルチェックおよびアクセス権限を更新中・・・完了
    不要ファイルを削除中・・・完了
    データベースを再構築中・・・完了
    一時ファイルを削除中・・・完了
    履歴を保存中・・・完了
    バージョンアップが正常に完了しました。

    「O K」を押した後、画面のレイアウトが崩れている場合は「F5」キーを押すかブラウザを再読み込みしてください。

    と表示され、Professional版に切り替わりました。
    一応これでバージョンアップができたように見えますが、何か問題等があればご指摘下さい。

  2. Igreks.Inc 8月 11 2016 @ 6:52 PM

    zeroalgo様

    平素はMilkyStepをご利用いただきありがとうございます。

    この度は、貴重なご意見ならびに詳細な検証報告をいただきまして、誠にありがとうございます。

    モジュール呼び出し処理の2行を追記して、正常にオンラインバージョンアップが完了した旨、了解いたしました。

    理論上は、Pro版もLight版も、オンラインバージョンアップのロジックは同一で、バージョンアップファイル取得までの過程は同様の処理になるため、いずれか一方で失敗することは考えにくい状況ではございますが、今回のご意見を参考に、処理の不備などがないか、今後鋭調査させていただく所存です。

    なおバージョンアップ完了に伴い、オンラインバージョンアップを行うプログラム部分も、便宜上更新されておりますので、取り急ぎは、Pro版にバージョンアップ後も、再度Ver1.87にオンラインバージョンアップをお試しいただき、正常に完了するかをご確認いただければ幸いです。

  3. zeroalgo 8月 11 2016 @ 8:12 PM

    Igreks.Incさま

    迅速なご返信、ありがとうございます。

    > Pro版にバージョンアップ後も、再度Ver1.87にオンラインバージョンアップをお試しいただき、正常に完了するかをご確認いただければ幸いです。

    こちら確認しました。
    ブラウザから、Professional Version 1.87環境にて、再度Version 1.87にバージョンアップをしたところ、正常に処理が完了しました。
    ロジックがLightとProで同一なのであれば、原因の切り分けも難しいと思いますが、今後のご参考になれば幸いです。

    どうもありがとうございました。
    今後の開発も期待しております。

Login