NC3 Tips

PuTTYによるNC3の迅速なアップデート方法

FTPクライアントソフトWinSCPに組み込まれているPuTTYを使うとNC3のアップデートを短時間で行うことができます。PuTTYが組み込まれていない場合にはPuTTYサイトから最新のPuTTYをダウンロードし、C: にインストールすると、WinSCPから使えるようになります。(PuTTY:リモートログオンターミナルクライアントソフトで、英単語putty(パテ) からの命名)

そこで、PuTTYを用いるNC3のアップデート手順を示します。

  1. アップデート対象のNC3で構築されているウェブサイトにログインし、管理 > プランイン管理において現在のバージョンを確認し、そのまま画面を開いておきます。
  2. 対象サイトのバックアップファイルを念のため取得することとし、MySQLサーバからのエキスポートsqlファイル および app>Config と app>Uploads フォルダをダウンロードしておきます。
  3. NetCommons公式サイトから、最新のNC3バージョンのzipファイルをダウンロードします。
  4. WinSCPにより、NC3最新バージョンzipファイルを、対象サイトがインストールされているサーバのフォルダと同じルートにアップロードします。
  5. WinSCPでサーバにログインしたままで、WinSCPのメニューの「コマンド」内にあるPuTTYを起動すると、図のような小ウインドウが出ます。
  6. PuTTYの画面でpassword: とプロンプトされるので、FTPサーバへのログインパスワードを入力します。ここで入力文字が表示されないのでタイプミスを起こさないよう入力します。
  7. パスワードが認証されると、図のような画面になりログインしたことが示されます。
  8. 続いて、lsコマンドを入力すると、どの階層にあるか分かります。さくらインターネットの場合には図のようにサーバの最上階層にあることが示されます。
    所望のフォルダはwww内にあるので、cd www と入力します。
  9. wwwフォルダ内に入り、再度 lsコマンドを入力し、先にアップしたNC3最新バージョンzipファイルおよび対象サイトを構成するフォルダがあることを確認します。
  10. ここで、NC3最新バージョンzipファイル(仮に、NetCommons-3.3.1.zip とする)を解凍します。入力するコマンドは次の通りです。
    unzip NetCommons-3.3.1.zip
    Enterキーを押し、解凍が過程が表示され、間もなく終了します。
  11. 再度、lsコマンドで新たに NetCommons というフォルダができており、それが解凍した結果です。
  12. 次に、この解凍されたフォルダ NetCommons を対象サイトを構成するフォルダ(仮に、Example フォルダとする)に上書きします。入力するコマンドは次の通りです。
    cp -r NetCommons/ Example/
    とし、Enterキーを押すと、上書きが開始されます。ここで、上書きの進捗状況は画面に表れず少々すると、入力を促すプロントがでたら、上書き完了です。
  13. PuTTY画面でコマンドexit と入力すると、PuTTYは終了し、WinSCPも閉じます。
  14. 第1項のログインしたままのプラグイン管理画面に戻り、そのブラウザの更新を行います。
  15. ブラウザの更新により新たな画面で、各プラグインのバージョン表示部分に、赤矢印で新バージョンがインストールされていることが示されます。
  16. 同画面の右上部に表れる「一括アップデート」ボタンを押して、一括アップデートを行います。一括アップデートが正常に終わると、「一括アップデート」ボタンが消え、バージョンアップが完了します。

なお、NetCommons公式サイトの関連ページ(https://www.netcommons.org/NetCommons3/download#!#frame-156) の「ブラウザからアップデートする方法」も参照してください。

所感:NC3最新バージョンをダウンロードしたzipファイルを解凍することなく、当該のサーバにアップし、サーバ上で解凍することで、解凍してからアップロードするのに対し、アップロード時間の大幅な短縮が可能で、さらにサーバ上での既存フォルダへの上書きも極めて短時間で行うことができるので、多くのNC3サイトのアップデート管理作業をスムースに行うことでき、楽になった。

NC3の移植方法

NetCommons 2(NC2)の場合にはサイトの復元は問題なく実行してきたが、NetCommons 3(NC3)ではソフトのフォルダ構成や細部のバグ解消がまだ落ち着いていなかったので、未経験であった。

バックアップに関しては幾つかの情報があり、例えば、
「2018年06月28日 commonsnet総会発表 NC3の困った事 あるあるの対応方法(技術者向け)牟田口満」( https://www.slideshare.net/mitsurumutaguchi/20180628-commonsnet-netcommons3?next_slideshow=1 ) によるとバックアップとして、次のファイル類が必要とされている。

  •  設定ファイル:app/Config/database.php および app/Config/application.yml
  • アップロードファイル:app/webroot/files/配下
  •  DBのdumpファイル

これを参考として、次の様にNC3のバージョン3.2.2サイトの復元を試み問題なく実行できた。

1.  復元に必要なファイル

バックアップ用のファイル類のうち、復元に際しては次のようになる。

  • 復元のためには、設定ファイルである application.ymlおよび database.php は不要である。
  • アップロードファイルとしてはバージョン3.2となってフォルダ構成が替わったので、app/webroot/files/配下 ではなく、app/Uploads/配下 となる。
  • DB(MySQL)のエキスポートファイル(sqlファイル) は必要である

 2.  復元作業

① 復元先のサーバでNC3のクリーンインストールを行う。

② システム管理者の権限で、ログインの状態にしておく。

③ 復元先のapplication.ymlをダウンロードし、4行目にある fullBaseUrl: https://xxxxxxx のURLが復元先のURLとなっていることを確認する。

④ 復元元のapp/Uploads/配下の全てをダウンロードし、復元先の同名フォルダに上書きする。

⑤ 復元元のDB(MySQL)からエキスポートした sqlファイルを復元先のDB(MySQL)へインポートする。

⑥ 復元先サイトが正常に復元動作していることを確認する。

3.  所感

NC3の復元については、当初難しいと考えていたが、NC2の復元に比べ、大変容易であった。
例えば、NC2の場合には復元元のsqlファイル内にあるURLを復元先のURLに全置換する必要があったが、NC3の場合は不要であることは特記すべき点と思われる。

NC3の復元に関し、ネット上に全く何の情報もなく困っていたが、その理由はここで記したように非常に簡単なことなので、大方は自明としているためなのだろうか?

以上