今年もアドベントカレンダー完走できました!


みなさまのご協力があり、今年もアドベントカレンダー完走することができました!まことにありがとうございました。

a-blog cmsのちょっとしたコツや、アイディア、使ってみた感想など a-blog cms に関するトピックが満載ですので、ぜひご覧ください。

2020年のアドベントカレンダー

過去のアドベントカレンダー

セットアップ(メンテナンスプログラム)が動かない場合

セットアップ(メンテナンスプログラム)画面

セットアップ(メンテナンスプログラム)画面


php.iniをドキュメントルートに設置するタイプのレンタルサーバーの場合、a-blog cmsでアップデート時などセットアップ(メンテナンスプログラム)を動かそうとすると画面が真っ白になって動かない場合があります。

原因

セットアップ(メンテナンスプログラム)のディレクトリの中に、php.ini がない為、ioncube loaderがインストールされず、プログラムが動かない事が原因になります。

対策

ドキュメントルートにある php.ini ファイルをセットアップ(メンテナンスプログラム)のディレクトリの中にコピーしてください。これで、メンテナンスプログラムが動作すると思います。

テスト環境を本番サーバーへ反映させるには

Webサイト制作における流れとして、テストサーバーにてサイト構築を行い、構築が完了してから本番サーバーへ移転、公開となる場合があります。テストサーバーの内容を本番サーバーへ移設させる方法、手順を説明します。

本番サイトにa-blog cmsをインストールする

本番サイトでa-blog cmsをインストールします。テストサイトのa-blog cmsと同じバージョンのa-blog cmsをインストールしてください。このあと、データベースのインポートを実施して全てのデータを入れ直しますので、インストール時のテーマ選択は何でも構いません。本番サイトには、正式なライセンスファイルを設置してください。

本番サーバーへファイルを移動する

次のフォルダ、ファイルをテストサーバーからダウンロードし、本番サーバーへアップロードします。

archives、archives_rev、media、themes/使用テーマフォルダ、extention(Ver.2.7.x以下では 「php/ACMS/User以下」)、private/config.system.yaml 、その他カスタマイズしているファイルはアップロードしてください。

データベースのデータをテストサーバーから本番サーバーへ移動

データベースの移動方法には2通りの方法があります

方法1:管理ページのバックアップからバックアップ・リストアを行なう



テストサイトの管理ページ > バックアップ ページ にアクセスします。

バックアップ機能を使用すると、テストサーバー側のデータベース(テーブル構造からレコードまで)をバックアップできます。このとき、「アクセスログとキャッシュ以外のテーブルをzip形式でダウンロードします。」という注釈が画面内にもある通り、全てのデータではなく必要なデータのみをバックアップします。

IDの数値や値は変更されませんが、例外としてPlugin_Schedule を使用している場合は、phpMyAdminでカレンダーの年と月にある"0"のデータを年なら"0000"、月なら"00"に変更する必要があります。

データ量が大きい場合、基本設定のままでは動かない場合があります。そのときは、PHPのmax_execution_timeやmemory_limitの設定値を変更するなど、調整が必要になります。

本番サーバーで行う作業について

つぎは本番サーバーの作業となります。テストサーバーでダウンロードしたzipファイルを本番サーバーの/private/backup_database/にアップロードします。



本番サイトにアクセスし、管理ページ > バックアップ > リストアにアクセスします。 /private/backup_database/にzipファイルを設置すると「バックアップファイル」の項目にセレクトメニューが現れます。先ほど設置したzipファイル名を選択し、「リストア」ボタンをクリックしてリストアします。

リストアが完了するとテーマ設定が切り替わりサイトが表示されますが、この時点ではまだライセンス違反になっています。

方法2:phpMyAdminなどでデータベースを移動させる



テストサーバーのphpMyAdminにアクセスし、テストサイトで利用しているDBのエクスポートを実行します。ダウンロードしたエクスポートファイルを、本番サーバーのphpMyAdminへインポートを実行します。この時、既に入っているa-blog cmsのデータベースは削除、接頭辞を別にして残しておく、DBを別に作るなどいくつか方法があります。DB名や接頭辞(suffix)を変更した場合は必要に応じてconfig.server.phpを変更してください。

完了するとテーマ設定が切り替わりサイトが表示されますが、この時点ではまだライセンス違反になっています。

ドメイン名設定を変更する

本番サイトのメンテナンスメニュー( URL:http://現在の公開URL/setupフォルダを変更後の任意名/index.php )へアクセスし、ドメイン名の修正を行います



「全ブログのドメインを書き換えをする」のチェックボックスは基本的にチェックを入れてください。 ファイルの移動・データベースのコピー・ドメインの修正を実施し、移設作業は完了です。

注意点

本番公開前に、本番サイトの管理ページ>チェックリストへアクセスし、テスト環境のままの設定が本番サイトで使用されていないかを確認してください。

サーバー環境によって、ダイレクト編集ONなどに利用しているCookie情報がうまく取得できない問題が発見されました

サーバー環境によって、ダイレクト編集ONなどに利用しているCookie情報がうまく取得できず、ダイレクト編集をONにできないという不具合が確認されました。

お手数ですが、以下ページよりパッチをダウンロードしてご対応ください。
パッチダウンロード

  • Ver. 2.8.0 以上を対象にしたパッチです。
  • Ver. 2.11.25 以上では対応されていますので、対応は不要です。

この度は、ご迷惑をおかけしてしまい大変申し訳ございませんでした。
今後ともa-blog cmsをよろしくお願いいたします。

Ver. 2.11.25からのテンプレートの仕様変更について

Ver. 2.11.25 で、テンプレート周りの仕様変更がありましたので、お知らせいたします。

概要

いくつかの設定(private/config.system.yaml)をデフォルトで有効にしてあります。なのでCMSのアップデートによる影響はございません。 Ver. 2.11.25 以上を新規インストールした場合、そのままだといままでと違う動作になります。

変更内容

private/cofig.system.yaml で以下項目が追加・変更されています。

forbid_tpl_inheritance_when_path_unresolved: on # on | off パス解決に失敗した時、テンプレートを継承しないようにする
forbid_tpl_url_context: on # on | off 読者以下のURLコンテキストのtplを許可しない。(例: https://example.com/news/tpl/custom.html)
allow_tpl_path: [] # forbid_tpl_inheritance_when_path_unresolved や forbid_tpl_url_context が on の場合、除外するパスを設定します。例: [news.html,hoge/custom.html] カンマ区切りで指定

forbid_tpl_url_context

デフォルトで、tplコンテキスト を無効に設定しました。理由として tplを指定すればクライアント側で、好きなテンプレートを指定することができてしまうため、 同一コンテンツの複数のページができてしまうためになります。

forbid_tpl_inheritance_when_path_unresolved

デフォルトで、パス解決失敗時のテンプレート継承を無効にしました。理由として forbid_tpl_url_context と同様、同一コンテンツの複数のページが表示できてしまうためになります。

allow_tpl_path

上記2つの設定の例外パスを設定できます。例えばpost includeしたい箇所などは、tplコンテキストを使いたい場合があるので、 そのような時は、ここで例がテンプレートのパスを記入します。

以上3つのオプションの設定を追加・変更いたしました。バージョンアップでは影響が出ないようになっていますので、Ver. 2.11.25 以上で新規インストールする場合はお気をつけください。

forbid_tpl_inheritance_when_path_unresolvedforbid_tpl_url_contextoff に設定すれば、いままでと同じ動作になりますが、できればここの設定はONのまま、allow_tpl_path で例外設定をするようにお願いいたします。