簡単アップデート(手動)

基本的にはオンラインアップデートを推奨しておりますが、Ver. 2.x から 3.0.x のようなメジャーアップデートはオンラインアップデートに対応しておりませんので、手動でのアップデートをお願いします。

手動アップデートの際には簡単アップデートの利用を推奨しています。以前は、FTPソフトを利用して多くのファイルを上書きする必要がありましたが、現在では 簡単アップデート (バージョンアップ作業の簡略化をする PHP ファイル)を用意しております。このプログラムを利用することで、パッケージのダウンロードから、解凍、ファイルの更新、旧ファイルのバックアップまでを自動化できます。

1. 簡単アップデート のダウンロード

ダウンロードの簡単アップデート よりアップデート用のプログラムをダウンロードします。

2. update.php ファイルのアップロード

バージョンの指定

サーバーの最新版を自動で判定してダウンロードするようになっておりますが、サーバーによってはエラーになる環境もあります。もし、実行時にエラーになるような時には 13行目の # を外してアップデートしたいバージョンを個別に指定してください。

アップロード

バージョンアップをする a-blog cms が動作しているサーバーのディレクトリに1ファイル update.php ファイルのみ、a-blog cms の index.php が設置されている同じディレクトリにアップロードします。

#$ablogcmsVersion = "3.0.15";

3. update.php ファイルの実行

update.phpを設置したURL(例:http://domain.com/update.php)にブラウザからアクセスすると以下のような画面が表示されます。


アップデート作業の前に、以下のものの準備をお願いします。

  • CMS の管理者権限のユーザーID と パスワード
  • Ver. 2.x から Ver. 3.0 へのアップデートの場合には新しい license.php

アップデートの実行

アップデートの実行には、利用している MySQL のパスワードを入力してアップデート実行を行なってください。アップデート処理としては、具体的には以下の処理が自動で行われます。

  1. 変更するファイルのバックアップ
  2. サーバーのPHPのバージョンにあわせて a-blog cms のパッケージをダウンロード&解凍
  3. インストールファイルを置くべき場所への移動
  4. バックアップファイルから戻すべきファイルやディレクトリ( 指定したテーマ、/php/ACMS/User、/php/AAPP、/private/config.system.yaml)を移動
  5. ダウンロードした必要の無いファイルの削除

※ バップアップについては、backup_年月日時分秒 の形式のディレクトリが作成されます。

以下の表示がされたら処理が完了しますので、次のステップへ進みます。


4. メンテナンスメニュー からデータベースのアップデート

サイトにアクセスし、メンテナンス画面が表示されることを確認してください。 メンテナンス画面から管理者権限の ユーザーID もしくは メールアドレスとパスワードを入力しログインします。

システムがバージョンアップの必要だと判定された際には「メンテナンスプログラムはアップデートの必要性を検出しました」と表示され「アップデート実行画面へ」のリンクが表示されます。



5. データベースの更新

セットアップ画面の[データベースの更新処理を実行]ボタンを押します。



6. セットアップディレクトリのリネーム

アップデートプログラムの実行が終了したら、FTPソフト等を利用して setup ディレクトリを推測されない名前に変更をしてください。削除しても構いませんが、場合によってインストールされている時と同様のバージョンの setup ディレクトリをアップロードする必要がある場合があります。

setup ディレクトリが存在するまではメンテナンスページが表示されます。

7. 表示確認と公開

a-blog cmsを設置しているアドレスにアクセスします。各ページの表示を確認し、問題が無ければ公開となります。 必要に応じてデバッグモードをONにすることで、各種エラーメッセージが表示されたり、キャッシュ機能が無効となるなど、動作確認のための状態となります。 サーバ上のファイル config.server.php 内の記述 「DEBUG_MODE」の値を確認の上、変更を行う場合は再度アップロードしてください。


デバッグモードON デバッグモードOFF
define('DEBUG_MODE', 1); define('DEBUG_MODE', 0);

以上でアップデートは完了です。

アップデート方法

主なアップデート方法は以下の3種類あります。

  • オンラインアップデート
  • 簡単アップデート (手動)
  • 手動アップデート

また、各アップデート時にはテンプレート修正が必要なバージョンがありますので、アップデート時には対象のバージョンだった場合ご対応の上、アップデートをお願いいたします。

オンラインアップデート

オンラインアップデートは管理画面からマイナーバージョンと、パッチバージョンのアップデートする方法です。Ver. 2.8.0 から利用可能です。
バックアップを取ったのちアップデートを行いますので安心して利用できます。特に意図がない場合は、オンラインアップデートの利用を推奨します。

更新されるファイル

アップデートを実行すると、a-blog cms の以下のファイル・ディレクトリが置き換わります。

  • acms.js
  • index.php
  • js
  • lang
  • php
  • private/config.sytem.default.yaml
  • themes/system

オプション

管理画面 > コンフィグ > 機能設定 の 「オンラインアップデート」にオプションがあります

  • パッチバージョンのみ(デフォルト)
  • マイナーバージョンも含める
  • 更新メニューを非表示

デフォルトのパッチバージョンのみ

不具合修正のバージョンのみアップデートを行います。仕様変更などは含まれませんので、安心してアップデートできます。

マイナーバージョンも含める

Ver. 2.8 から Ver. 2.9 へのアップデートのようにマイナーバージョンアップの更新も出来るようになります。

更新メニューを非表示

管理メニューに更新メニューを出さないようにします。お客様に引き渡す時に、あまり触ってほしくない場合などに便利です。


デフォルトのパッチバージョンのみ パッチバージョン(=不具合修正のバージョン)のみアップデートを行います。パッチバージョンには仕様変更が行われたバージョンは含まれませんので、安心してアップデートできます。
マイナーバージョンも含める たとえば Ver.2.8 から Ver.2.9 へのアップデートのようにマイナーバージョンアップの更新も出来るようになります。マイナーバージョンアップには仕様変更が行われたバージョンも含まれます。
更新メニューを非表示 管理メニューに更新メニューを出さないようにします。例えば、納品後に更新者にアップデートしてほしくない場合などに便利です。

アップデートで更新しないファイルを指定する

カスタマイズする中でどうしても、a-blog cms のコアファイルをカスタマイズしてしまう場合があります。 この状態でアップデートを行なってしまうと、新バージョンのファイルで上書きされてしまい、カスタマイズした箇所が戻ってしまいます。

このような場合、private/config.system.yaml に更新しないファイルを指定することにより、アップデートによる上書きを回避できます。

system_update_ignore: [] # アップデートしないファイルを配列で指定 例: [js/config.js] カンマ区切りで指定

例)「js/config.js」と「php/ACMS/POST.php」をカスタマイズしている場合

system_update_ignore: [js/config.js,php/ACMS/POST.php] 

新しいバージョンで上書きされなくなりますので、カスタマイズ内容によっては新しいバージョンと整合性が取れず、不具合がでてしまう危険性があります。
コアファイルのカスタマイズは、この危険性を理解のうえ行なってください。

テンプレート修正が必要なバージョンとライセンス

テンプレートファイルについては自動変更されませんので、Ver. 2.11より古いバージョンでは以下を参考にテンプレートファイルの修正をお願いします。

また、上位版ライセンスをご利用の方は、以下のページもご覧ください。


テーマ内にあるテンプレートファイルについては自動変更されません。以下のドキュメントを参考にテンプレートファイルの修正をお願いします。

バージョンごとのアップデート方法


ライセンス別のアップデート方法


Ver.3.0以上へのアップデート

Ver.3.0以上へのアップデートする際に気をつけることは下記の4点です。

  • 簡単アップデートを使用する
  • 事前に新しいライセンスファイルを用意する
  • データベースのアップデートを実行する
  • すでに「api」が使われている箇所があれば変更する

簡単アップデートを使用する

Ver.3.0はメジャーバージョンです。Ver.3.0よりも低いバージョンからアップデートする時はメジャーバージョンアップをすることになります。
オンラインアップデートでは、マイナーバージョンとパッチバージョンのみに対応しているため、今回は対象外となるため利用できません。
より簡単に手動アップデートを行う方法として、「簡単アップデート」を用意しています。

詳しくは以下のドキュメントをご覧ください

事前に新しいライセンスファイルを用意する

Ver.3.0以上では、プログラムの暗号化が廃止され ionCube Loader が必要なくなりました。この変更によりライセンスファイルの内容もアップデートされ、正しく動作するには新しいライセンスファイルの適用が必要になります。
正しいライセンスファイルを適用しないと予期せぬ表示を起こすことがありますので、差し替える時間を短縮するためにアップデート作業時には事前にマイページよりダウンロードすることを推奨いたします。

ライセンスファイルをダウンロードする方法

  1. マイページにログインする
  2. 「所有ライセンス」のページへ移動する
  3. 該当するライセンスをさがし、「ライセンスDL」項目の「Ver.3.0以上」を選んでライセンスファイルをダウンロードする

「ライセンスDL」項目の「Ver.3.0以上」を選択してください


データベースのアップデートを実行する

データベースに変更があるため、データベースのアップデートを実行する必要があります。
1.テンプレートファイルのアップデート後、メンテナンスメニュー(http://ドメイン/〇〇(setupフォルダをリネームしたもの)/index.php)にアクセスしてください。アクセスするためにはログイン情報が必要です。 2.メンテナンスメニューにアクセスしたら、アップデートを実行するために「アップデート実行画面へ」のリンクをクリックします。



3.進んでいくと、削除するテーブルを聞かれますが削除するかは任意で構いません。バックアップをとっておきたい場合は選択せず、アップデートを完了してください。



4.完了画面が現れたら、setupフォルダをリネームします。


データベースの追加

手動アップデートでは、データベースの情報は更新されません。そのため、データベースに手動で一部のデータを追加する必要があります。

  1. 現在使用しているデータベースを開く(現在使用しているデータベース名は、config.server.phpのDB_NAMEに記述されています)。
  2. acms_user テーブルを開く。
  3. 「user_blog_id」という行を探し、1つ前に新しく行を追加する。名前は「user_session_data」で、型が「VARCHAR」、長さは「255」。
  4. さらに「acms_user_session」というテーブルを下記のクエリを実行して新しく追加する。
CREATE TABLE `acms_user_session` (
  `user_session_uid` int(11) NOT NULL,
  `user_session_host` varchar(128) NOT NULL,
  `user_session_address` varchar(64) NOT NULL,
  `user_session_id` varchar(255) DEFAULT NULL,
  KEY `user_session_uid` (`user_session_uid`,`user_session_host`,`user_session_address`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

すでに「api」が使われている箇所があれば変更する

API機能が新しく追加されたことにより、「api」が予約語に登録されました。
制作したサイトでテーマフォルダ内に同じ名前のディレクトリやカテゴリコードに指定していると思わぬ不具合につながりますので、リネームまたはconfig.server.phpのAPI_SEGMENTの値を「api」以外のものを指定してください。
API_SEGMENTを「api」以外のものを指定すると、API機能を使う際に「api」と指定していたものはAPI_SEGMENTで指定した値に差し替えてご使用いただくことになります。

config.server.phpのAPI_SEGMENTの設定は以下のコードになります。 define('API_SEGMENT', 'api');

アップデート完了後の確認

アップデート完了後は、念のためバージョンが正常に上がっているかダッシュボードで確認しましょう。