にしし ふぁくとりー:西村文宏 個人サイト

「TegUp」 : Update Log

  • 2024年08月05日 Ver 1.0.0 公開: 正式リリース。作業ログをファイルに出力できるオプションを追加。
  • 2023年10月24日 Ver 0.9.0 公開: 試験公開サイトで初公開。
  • 2023年10月03日 開発開始。

TegUpの紹介

たった1つのボタンを押すだけで、てがろぐ本体をバージョンアップできる!

てがろぐCGIの本体ファイルを1クリックだけで最新版にバージョンアップできるPHPスクリプト「TegUp」を作りました!

下図のように、たった1つのボタンを押すだけでバージョンアップできます!(※黄色矢印の先)

既に最新版が稼働している場合には、上図の緑色矢印のように「既に最新版ですよ」という案内を表示するだけなので、無駄にファイルを書き換えたりはしません。

この「TegUp」が設置されていさえすれば、あとは何の準備も不要の1クリック(1タップ)だけで済みますから、スマートフォンのような小型モバイル端末からでも簡単にバージョンアップができます。

※現状では、正式版へのバージョンアップだけをサポートしています。β版へのバージョンアップは(今の時点では)できません。
※「いま稼働しているβ版」を「次の正式版」へバージョンアップする用途には使えます

手動でのバージョンアップの面倒さと不安を解消

てがろぐCGIを手動でバージョンアップするには、単に tegalog.cgifumycts.pl2ファイルを上書きアップロードして頂ければ良いのですが、そうは言っても、手動でそれをするには、以下のような問題というか不安点というか、面倒さがありますよね。

  • 《面倒》ZIPを落としてきて、展開して、2ファイルだけを抜き出す手間が要る。
  • 《面倒》tegalog.cgi を別名に変更して使っているなら、その変更の手間が要る。
  • 《面倒》tegalog.cgi ソース冒頭付近に直接記述する設定項目を変更しているなら、新ファイルを同様に書き換えなければならない手間が要る。
  • 《不安》2ファイル以外のファイルを誤って上書きしてしまうことで、投稿データが消えてしまったり、設定が初期化されてしまったり、パスワードが破棄されてしまったりする点に気をつけなければならない不安がある。

……というような、上記の面倒さと不安を解消するのが、この「TegUp」です。

てがろぐ本体(tegalog.cgi)の設置してあるディレクトリに、この「TegUp」の本体である tegup.php ファイル1つを置くだけでセットアップは完了します。 一度設置すれば、以後ずっと使えます。 詳しくは後述しますが、てがろぐの管理画面HOMEから直接TegUpに移動できます。

ボタンを押して、1~2秒でバージョンアップ完了

バージョンアップ処理は、たいてい1~2秒くらいで完了します。

具体的には、この「TegUp」は、だいたい以下のような作業を全自動で実行します。

  • 新バージョンのZIPファイルを自動で(作者サイトから)ダウンロードしてきます。
  • そのZIPを展開して、てがろぐ本体ファイルだけを抜き出します。
  • いま稼働中のてがろぐ構成ファイルを念のためにZIPにバックアップ圧縮しておきます。
  • いま稼働中のソース1行目にある Perlパス(=シバン行)を抜き出して、新ファイルに適用します。
  • いま稼働中のソース冒頭にある13個の設定値も抜き出して、新ファイルに適用します。
  • その書き換えた新ファイルを、稼働中のてがろぐ本体ファイルに上書きコピーします。
  • それらのファイルを、今まで稼働していたてがろぐ構成ファイルと同じパーミッション値に再設定します。

……というわけで、必要な作業は全部PHP側がやってしまうので、手動で操作する必要があるのは「ボタン1クリックだけ」です。

※バージョンアップ作業を開始する前には、念のために『いま稼働中のてがろぐ』の構成ファイルをZIPに圧縮してバックアップしておく仕様になっています。もし何らかの問題が発生して正しく動かなくなった場合でも、そのZIPを展開して上書きすれば、元のバージョンに戻せます。 (TegUpが過去に生成したバックアップZIPは、次にTegUpがバージョンアップ作業をする際には自動で削除されます。なので、放置していても無駄にZIPファイルが蓄積されることはありません。)

てがろぐ管理画面HOMEから実行できる

バージョンアップ版が存在するとき、てがろぐの管理画面HOMEにアクセスすると、下図のように「バージョンアップして下さい」ボタンが見えます。 TegUpを設置している場合は、このボタンを押すと、TegUpに移動できます。 (※TegUpが設置されていない場合は、このボタンのリンク先は、公式ドキュメントのバージョンアップ方法案内区画になっています。)

直接 tegup.php にアクセスする方法でもバージョンアップは可能です。

▼通常は、てがろぐ側のログインが必要:
しかし、標準設定では(たとえ tegup.php に直接アクセスしても)てがろぐにログインしている状態でないと実行できないようになっています。(第三者が勝手にバージョンアップすることはありません。)

▼ログイン不要で実行できるように設定も可能:
しかし、TegUp側の設定で「ログインしていなくても実行を許可」の値に設定しておくこともできますから、(ローカルで稼働しているとか、Basic認証の影響下で使用しているなどで、第三者がアクセスする可能性がないと確実に言える場所に設置しているなら)非ログイン状態でも直接バージョンアップ可能なようにもできます。

詳しくは、オプション設定項目をご覧下さい。

てがろぐ本体(tegalog.cgi)に直接記述する設定変更にも対応・ファイル名の変更にも対応

上記の作業ログにも出てきますが、この TegUp では以下のように「いま稼働中の tegalog.cgi ソース」から各種設定値を抽出して、新しくダウンロードしてきた新バージョンの tegalog.cgi に同じ設定値を書き込みます。 なので、CGIソース中に記述するタイプの設定値を変更している場合でも、その設定値を維持してバージョンアップができます。

tegalog.cgi のファイル名を例えば index.cgi 等に変更して稼働させている方もいらっしゃると思いますが、その場合でもちゃんと下図のように「変更後のファイル名」で上書きします。(※ただし、どんなファイル名に変更しているのかを最初にTegUp側に設定しておいて頂く必要はあります。)

簡単設置:てがろぐ本体と同じディレクトリに置くだけ!

  • わずか1個のPHPファイルを、てがろぐ本体と同一のディレクトリにアップロードすれば使えます。(※TegUpを設置している場合は、てがろぐの新バージョンが公開されると、てがろぐ管理画面からTegUpへ直接移動できるようになります。)
  • このスクリプトは、(てがろぐ本体とは異なり)PHPで記述されています。PHP 5.2以上が使えるサーバでなら使えます。詳しくは後述の設置方法項目をご覧下さい。

※注:てがろぐCGIが動作しているサーバでも、PHPが使えないサーバなら、TegUpは動作しません。

TegUpのダウンロード

TegUpは以下のリンクからダウンロード頂けます。ZIP形式で圧縮していますので、ダウンロード後に展開して下さい。 セットアップ方法は後述の「設置方法」をご参照下さい。
TegUpそのものをバージョンアップする場合は、単に tegup.php ファイルを上書きすれば良いだけです。

[Version] 1.0.0 [File] tegup.zip [Size] 24.8KB [Date] 2024/08/05.
最新版 Ver 1.0.0 をダウンロードする

以下は、旧バージョンです。特に問題がない限りは、上記の最新版をダウンロードしてご使用下さい。

[Version] 0.9.0 [File] tegup-090.zip [Size] 20.8KB [Date] 2023/10/24.
旧版 Ver 0.9.0 をダウンロードする

特に問題がない限りは最新のバージョンをダウンロードしてお使い下さい。

TegUpの動作要件・設置方法・オプション設定

ほぼ説明することはない感じなんですけども。^^;
要は、PHPファイル1つを、てがろぐ設置位置と同じ場所に置けば良いだけです!(以上!)

以下は、さらに詳しく知りたい場合にご参照下さい。

動作要件

TegUpの最低動作要件は、下記の通りです。動作には 最近の環境なら問題ないでしょう。

  • PHP 5.2.0 以上が必要です。
  • ZipArchiveクラスが使える必要があります。(※ZipArchiveクラスは、明示的に使用を禁止されない限り標準で使えるハズなのでたいていのサーバでは問題ないでしょう。)

※PHP 7、PHP 8 でも動作します。

お使いのサーバでPHP自体が使えない場合は動きません。(レンタルサーバだと滅多にありませんが、無料サーバだとPHPが使えないケースはあります。)

設置方法

TegUpの設置は極めて簡単で、
PHPファイル1つ(tegup.php)を、
てがろぐ本体(tegalog.cgi)の存在するディレクトリに置くだけ!
です。

PHPなので、ファイルのパーミッション値はデフォルトのままで問題ないと思います。
もし、お使いのサーバで「PHPにはこのパーミッション値を指定するように」という指示がある場合は、それに従って下さい。(※とりあえずアップロードしてみて、動けばそのまま使えば問題ないと思います。)

あとは、ブラウザで tegup.php にアクセスしたときに、下図のような画面が表示されれば設置に成功しています。 (自動的にバージョンを調べて、バージョンアップが可能ならバージョンアップ用のボタンが現れますし、既に最新版が稼働しているならその旨が表示されます。)

上図のような画面にならず、PHPのソースコードがそのまま見えてしまう場合は、お使いのサーバではPHPが使えません。(その環境では、TegUpは動きません。)

※TegUpが動作しないことが分かった場合は、 tegup.php ファイルはサーバから削除して下さい。tegup.phpを置いたまま放置すると、てがろぐの管理画面HOMEに表示されるバージョンアップボタンは(動作しない)tegup.phpへのリンクになってしまいますので。 tegup.phpファイルを消しておけば、てがろぐの管理画面HOMEに表示されるバージョンアップボタンを押したときには、公式サイトのバージョンアップ案内ページに飛ぶように動作します。

オプション設定

ほぼ設定は不要ですが、tegup.php をテキストエディタで開いて頂くと、下図のようにソース冒頭に設定項目が5つだけあります。(tegalog.cgiのファイル名を変更せずに使っているなら、何も設定しないままでただUPすれば使えます。)

▼てがろぐ本体(tegalog.cgi)のファイル名を変更している場合は設定が必要

上図の黄色矢印で示した箇所は、てがろぐ本体のファイル名を設定する箇所です。
tegalog.cgi のままでご使用の場合には何も変更する必要はありません。しかし、例えば index.cgi 等に変更して使っている場合は、そのファイル名に書き換えて下さい。

※ファイル名を書き換える必要があるのはこの1点だけです。(くれぐれもテキストエディタの一括置換機能を使わないようご注意下さい。このPHPソース内には 「tegalog.cgi」の名称が複数出てきますが、それらも書き換えてしまうと正しく処理ができなくなります。)

▼TegUpを使用可能なユーザ権限レベルを変更可能

上図の水色矢印で示した箇所は、TegUpの使用権限をどこまで割り振るかの設定箇所です。

初期設定では「てがろぐに管理者権限のあるIDでログインしている」人だけが使用可能な設定になっています。
その場合、権限が不足しているユーザがアクセスしても、下図のように表示されるので、バージョンアップ処理は実行されません。
また、その設定状態なら、てがろぐにログインしていない状態でアクセスすると、下図のように表示されます。(なので、第三者がTegUpのURLに直接アクセスしても、勝手にバージョンアップされることはありません。)

※ローカルで稼働しているとか、Basic認証の影響下で使用しているなどで、第三者がアクセスする可能性がない場所に設置しているなら、TegUp側の設定で「ログインしていなくても実行を許可」の値に設定しておくことで、非ログイン状態でも直接バージョンアップさせられます。

▼作業ログをファイルにも出力したい場合(トラブルシューティングのため)

55行目付近にある $outputLogToFile = 0;$outputLogToFile = 1; のように書き換えると、作業ログを(画面に表示するだけではなく)tegup.log というファイルにも出力するようになります。

動作がうまくいかない場合で、作業ログを画面上で確認できない場合には、この設定を試してみて下さい。すると、サーバ上に生成される tegup.log の中身を見ることで、(本来は画面に表示されていたハズの)作業ログを閲覧できます。 その情報を見ると、「TegUpがどこまで作業を進められたのか」が分かります。その情報を作者までお知らせ頂ければ、何らかの解決策を提示できるかもしれません。

問題が解決した後は、ここの値を 0 に戻して、ログファイル tegup.log を削除して下さい。

バージョンアップ方法

サーバ上にある tegup.php を上書きアップロードするだけです。

もし、tegup.php のソース冒頭の設定を修正している場合は、上書きアップロードする前に、まずその設定値を新tegup.phpファイルに書いておく必要がある点を忘れないようご注意下さい。

※TegUpを使って、TegUpそのものをバージョンアップすることはできません。^^;

TegUpの使用方法

ほぼ説明することもないとは思うんですが、一応語っておきます。^^;

てがろぐ管理画面HOMEに表示されるボタンからTegUpに移動できる

バージョンアップ版が存在するとき、てがろぐの管理画面HOMEにアクセスすると、下図のように「バージョンアップして下さい」ボタンが見えます。 TegUpを設置している場合は、このボタンを押すと、TegUpに移動できます。 (※TegUpが設置されていない場合は、このボタンのリンク先は、公式ドキュメントのバージョンアップ方法案内区画になっています。)

TegUpは、てがろぐ側の設定を読んだ上で動作しますから、上図のように「てがろぐ管理画面のカラーテーマ」がTegUp側にもそのまま反映されて表示されます。(いや、まあどうでも良い機能ですが。^^;)

もちろん、ブラウザのアドレス欄に直接 tegup.php のファイル名を打ってもアクセスできます。
その場合でも、(標準設定では)てがろぐ側に「管理者権限のあるID」でログインしていない限りは使えません。詳しくは、「TegUpを使用可能なユーザ権限レベルを変更可能」項目をご覧下さい。

「最新版にバージョンアップする」ボタンを押すだけ!

TegUpの使い方は簡単で、画面上に見えている「最新版にバージョンアップする」ボタンを押すだけです!(※黄色矢印の先)

※既に最新版が稼働している場合には、上図の緑色矢印のように「既に最新版ですよ」という案内を表示するだけで、ボタンは表示されません。

以上!(終わり)

現状では、正式版へのバージョンアップのみに対応しています。β版へのバージョンアップには今のところは非対応です。(既に稼働しているβ版を次の正式版にバージョンアップする用途には使用可能です。)

バージョンアップが完了すると、下図のように作業ログを表示します。別に作業ログを読んで頂く必要は全然ないんですが。「どんな処理がなされたのかが気になる」という場合には眺めて頂ければ良いと思います。(何らかのエラーが発生した場合には、ここに表示されますので、解決の参考になるでしょう。)

バージョンアップ直前まで稼働していたファイルは、BackupTegalogXXX(YYYYMMDD)RANDOM.zip のようなファイル名でZIPに圧縮バックアップされています。 もし動作に問題がある場合は、このZIPファイルの中身を展開して上書きすることで、前のバージョンに戻せます。 ファイル名の XXX は、前のバージョン番号(例:433)で、 YYYYMMDD は、バージョンアップ処理を実行した日付(例:20240801)で、 RANDOM は、ランダムな文字列です。ランダムな文字列を付加しているのは、赤の他人にバックアップZIPの所在を推測されるのを防ぐためです。
なお、古いバックアップZIP(生成から2日以上が経過しているZIP)は、次回のバージョンアップ実行時に自動的に削除されます。したがって、バックアップZIPを放置していても、無限に増え続けることはありません。 (バックアップZIPは生成しないように設定することもできます。)

エラーメッセージが出た場合

TegUpにアクセスしたとき、または動作中にエラーメッセージが出る場合があります。
処理を続行できないくらいのエラーになった場合は、下図のように赤枠の画面が表示されます。その場合は、そこに書かれている情報を読んで判断して下さい。

例えば、作者サイト(= www.nishishi.com ドメイン)が落ちている場合には、TegUpは動作できません。(上図がその場合の表示です。)

解決方法が不明な場合で、しばらく時間をおいてから試しても同じエラーが出る場合には、作者までお問い合わせ下さい。

作者サイトが落ちている場合などのように「通信がうまくいかない場合」は、接続のタイムアウトを待ってからエラー画面が表示されるため、上図のような画面が現れるまでに数十秒くらいかかる可能性があります。

更新履歴

[Ver 0.9.0 → Ver 1.0.0] (2024/08/05)
正式リリース。作業ログをファイルに出力できるオプションを追加。

[Ver 0.9.0] (2023/10/24)
試験公開サイトで初公開。

[Ver 0.0.0] (2023/10/03)
開発開始。

▼もっと読む▼

著作権と免責

  • このCGIの著作権は、西村文宏(にしし)にあります。
  • このCGIを使用した結果、使用者や使用環境等にいかなる損害を与えたとしても、製作者および公開者は、その責を一切負いません。使用者個人の責任でご使用下さい。

使用条件(ライセンス)

■てがろぐ本体と同じ
てがろぐ本体の使用条件と同じ条件でご使用頂けます。
てがろぐ本体とセットでご使用下さい。

フィードバックのお願い(ご感想・ご要望歓迎)

ご要望には(作者の興味が続いている限り)できるだけ応じたいと考えています。
設置された報告だけでも歓迎です。本当に歓迎です。すさまじく歓迎です。
活用されていることが分かると、開発の励みになりますので(^-^)、ぜひよろしくお願い致します。

ご要望・ご質問の送り先は

ご要望やご質問・不具合報告等は、下記へお気軽にお送り下さい。

どちらでも構いませんが、他者にも役立つと思われるご質問の場合は、後者を採用して頂けるとありがたいです。 どちらにせよ、お気軽にどうぞ。

開発検討中の機能

TegUpへの追加を検討している機能リスト(抜粋・順不同)です。

  • β版へもバージョンアップできる機能。
  • てがろぐ管理画面からアクセスした場合には、1クリックすら必要とせずに、すぐにバージョンアップを試行する機能。
  • 作業ログを静的ファイルに書き出す機能。 → Ver 1.0.0で搭載

その他、ご要望の機能がありましたら、お気軽にお知らせ下さい

--- 当サイト内を検索 ---