TubePress のアップデート
ワンクリックアップデート、手動アップデート、署名付きリリース、そして PHP バージョンガードについて解説します。
TubePress は WordPress と同じようにアップデートします。管理パネルでワンクリックするだけで、署名済みリリースを取得し、検証し、バックアップを取り、コアを入れ替えてデータベースのマイグレーションを実行します。テーマ、プラグイン、メディア、設定はそのまま保持されます。
このページでは、アップデートによって何が変わるのか、どのように適用するのか、安全を保つ方法について詳しく説明します。
アップデートの仕組み
リリースは tubepress.io から署名済みパッケージとして配布されます。TubePress がファイルに触れる前に、各パッケージは 2 回検証されます:
- SHA-256 チェックサム—不一致の場合はアップデートが中止されます。そして、
- Ed25519 署名—有効な署名がなければコアはインストールを拒否するため、改ざんまたは未署名のコアパッケージは即座に拒否されます。
アップデートは固定コアのみを置き換えます。具体的には:
src/、sql/、templates/admin/、templates/install/、および config/app.php。themes/、plugins/、public/uploads/ 内のアップロードされたメディア、データベースのコンテンツ、および設定(config/database.php を含む)。ファイルの入れ替え直前に、TubePress は現在のコアを storage/backups/ にコピーし、データベースバックアップを取得します。データベースバックアップを作成できない場合、データを守るためにコアのアップデートは中止されます。その後、ファイルはアトミックに入れ替えられ、sql/ 内の新しい番号付きマイグレーションが自動的に実行され、結果は後で確認またはロールバックできるアップデートログに書き込まれます。
ワンクリックアップデート
/admin/updates(管理者権限が必要)の管理画面 → アップデートに移動します。画面には現在のバージョンと、コア、プラグイン、テーマの利用可能なアップデートが表示されます。アップデートを確認すると、tubepress.io に対してオンデマンドで再クエリします。
項目をクリックして適用すると、TubePress はダウンロード、検証、バックアップ、入れ替え、マイグレーションを実行し—結果を記録します。その後何か問題があれば、作成したバックアップにロールバックできます。
自動アップデート
手動操作を省きたいですか?auto_update_enabled 設定を有効にします(デフォルトはオフ)。オンにすると、バックグラウンドの pseudo-cron タスクが定期的に確認し、1 日に最大 1 回の保留中のアップデートを適用します。安全のため、意図的に保守的な動作をします:
- コアと無料プラグインは自動的にアップデートされます。
- テーマは常に手動でアップデートする必要があります。無人でカスタマイズが上書きされることはありません。また、
- 有料アイテムはスキップされます—マーケットプレイスからの購入が必要です。
スケジューラーは他の場所でも使用されている同じ組み込み pseudo-cron です—メンテナンスを参照してください。
手動アップデート
ワンクリックアップデーターは、署名の検証、バックアップの作成、データベースのマイグレーション実行も行う唯一の方法であるため、推奨されるアップデート方法です。パネルが tubepress.io に接続できない場合(ファイアウォールで保護されているまたはエアギャップのホスト)、手動でアップデートできます:
- 最初にバックアップを取ります。ファイルとデータベースの完全バックアップを取ります—バックアップを参照してください。
- 公式リリースを入手します。ダウンロードページまたはお客様のアカウントから署名済み ZIP をダウンロードします。
- コアのみを置き換えます。新しいリリースから
src/、sql/、templates/admin/、templates/install/、およびconfig/app.phpを上書きします。themes/、plugins/、public/uploads/、およびconfig/database.phpはそのままにします。 - 新しいマイグレーションを適用します。
sql/内の新しい番号付きファイルをデータベースに適用します—これは通常、組み込みアップデーターが自動的に行うステップです。
PHP バージョンガード
TubePress は、アプリケーションが起動する前にすべてのエントリポイントで実行される小さなパース安全ゲート(config/php-guard.php)を搭載しています。これは意図的に旧スタイルの PHP で書かれているため、どのバージョンでもパースできます—つまり、サイトが必要な 8.2 より古い PHP に移動またはダウングレードされた場合、訪問者は生のファタルエラーの代わりにきれいな「PHP アップグレードが必要」ページを見ます。
これはアップデートに関連して重要です。新しいリリースは新しい PHP 構文を使用する可能性があるため、アップデートの前後にホストが PHP 8.2 以降(8.4 推奨)を実行していることを確認してください。詳細はメンテナンスを参照してください。
アップデート前に
アップデートは安全でリバーシブルに設計されていますが、バックアップはやはりシートベルトのようなものです:
- ファイルとデータベースをバックアップします—アップデーターは独自のバックアップを作成しますが、自分のコピーも保持してください。バックアップを参照してください。
- PHP を確認します—8.2 以降(理想的には 8.4)を使用していることを確認してください。
- カスタマイズをメモします—テーマとプラグインの変更は保持されますが、簡単なインベントリを取っておくと安心です。
- トラフィックが少ない時間にアップデートします—入れ替えはほぼ瞬時に行われますが、念のためトラフィックが少ない時間を選んでください。