サイト公開時にチェックしておきたいポイント

管理ページの「チェックリスト」を確認する


a-blog cmsのインストール・構築ができたら、いよいよ公開です。
公開の前に、各種設定の見直しを行いましょう。

a-blog cmsの管理ページでは、設置されているライセンス、バージョン、サーバの情報や、現在の動作モード、キャッシュの状態、フォームの設定など、公開時にチェックしておきたい情報を表示しています。
公開前にはこのチェックリストを確認してみてください。


ライセンスは正規のものが入っていますか?


ライセンスがトライアル版のままになっていませんか? a-blog cms のサイトにログインしてサイト登録と購入を行い、公開するサイトの license.php をダウンロードしましょう。
この作業が行われていない場合には、管理者ボックス内のログインした時に表示されているボタン(ログアウトボタン)の横に / トライアル版 有効期限 : 2018-12-31 23:59:59 のような表示(60日の試用期間までの有効期限)がされています。
トライアル版のライセンスのまま有効期限が切れてしまうと、タイトル部分にTESTと表示がされ、情報の追加更新ができなくなります。


デバッグモードはOFFにしましたか?


インストール時はデバックモードはONになっています。公開時には、デバッグモードをOFFにするために config.server.php の define('DEBUG_MODE', 1); を 0 にしましょう。
デバッグモードがONになっている場合は「全ブログのキャッシュ機能がOFF」「HTMLソース内のコメントを表示する」という状態になります。
制作時には、行った変更を即時反映するためキャッシュ機能を使用しませんが、公開時にはキャッシュ機能を有効にすることでログインしていない時の表示速度が体感できるくらい違ってきます。


config.server.php 内の記述


// 本番運用時にDEBUG_MODEを 0 に設定して下さい
define('DEBUG_MODE', 1);

キャッシュ機能はONにしましたか?


上記のデバッグモードでも触れていますが、キャッシュ機能はブログごとにON/OFFが設定できます。必要に応じてOFFにすることもありますが、基本的には公開時にはONとしておくことでサーバの不可軽減、速度向上につながりますので、ONとすることをお勧めします。
変更する場合には、チェックリストページから各ブログごとの編集画面へ移動できます。



メールアドレスの設定は正しいですか?


チェックリストでは、フォームの一般宛・管理者宛の各メールの各宛先を一覧できます。この一覧で、テスト用に設定しているメールアドレスが残っていないか確認してください。
変更する場合には、チェックリストページから各ブログごとの編集画面へ移動できます。

テストデータは残っていませんか?

サーバ上のテスト・制作途中ファイルや、テンプレート、エントリ、ユーザにテストのデータが残っていないかも確認しましょう。


テンプレート上に制作環境のホストやパスが書き込まれていませんか?


テンプレート上に制作環境のURLが直接書かれている事もあるかもしれません。ローカルファイル上でファイルの一括検索等の機能を利用してチェックしておきましょう。

試作やバックアップのHTML・CSS・フォルダをサーバーから削除しましたか?

制作中はテスト的にテーマディレクトリ内にテスト用のファイルやディレクトリが作られることが多いかと思います。公開時には消しておきましょう。

制作用ユーザやテストエントリが残っていませんか?

制作用ユーザで作成したテストエントリがそのままになっていませんか? 必要のないエントリは削除し、公開後にも必要なエントリはエントリ管理ページからエントリのユーザーを変更しましょう。
また、必要のない制作用ユーザはエントリの所有者を変更した上で削除しましょう。

必要に応じて設定をするとよい項目

出力ソースのクリーンアップオプションは有効ですか?


a-blog cmsの 管理ページ > コンフィグ > 出力設定 に、余分な空白の削除 という設定 と HTMLコメントの削除 という設定があります。これにチェックをつける事によって、表示されなかったモジュールの空白等をツメたり、サイトのメンテナンスのために書かれているHTMLのコメントをテンプレートに書いてあっても出力しないということができます。


wwwの有無は確認していますか?


サイト登録時には www.example.com で登録しましたか? それとも example.com ですか? a-blog cms のサイトで登録したものでない方についてリダイレクトの設定を .htaccess にしておきましょう。

www.example.comで運用する場合

RewriteCond %{HTTP_HOST} ^example.com?
RewriteRule ^(.*) http://www.example.com/$1 [R=301,L]

example.comで運用する場合

RewriteCond %{HTTP_HOST} ^www.example.com?
RewriteRule ^(.*) http://example.com/$1 [R=301,L]

公開前に、最後の作業

チェックリストの確認、テストデータの整理などが終わったらいよいよ公開ですが、最後にこの作業をしておきましょう。

画像のアップロード・削除はできますか?

テストサーバで制作をされていた場合には、archives の画像ファイルなどを公開サーバアップロードします。その際にはパーミッションの変更を忘れずに行ってください。(ディレクトリは777、ファイルは666)パーミッションの設定チェックのために、画像を添付したエントリーを1つ書いてテストを必ずするようにしましょう。

制作環境のURLが含まれるようなキャッシュが残ってないですか?

制作用ドメインから公開用ドメインに変更して公開する際には、キャッシュファイルを削除しましょう。キャッシュが残ったまま公開してしまうと、ドメインの変更前の情報が表示されてしまう可能性があります。

複雑なCSVインポートをやってみる

CSVインポートを使うことにより、一度にエントリを新規作成やアップデートすることができ、便利に利用できます。
この記事では、少し複雑な項目である、画像やカスタムフィールドグループのインポートについて紹介していきます。

メディアのカスタムフィールド

メディアのIDを指定して、メディアのカスタムフィールドをインポートします。
ポイントは「フィールド名」のカラムと「フィールド名@media」のカラム両方に「メディアID」を設定することです。

"entry_title","hoge","hoge@media"
"メディアのフィールドテスト",41,41
"メディアのフィールドテスト2",36,36

画像のカスタムフィールド

画像のカスタムフィールドは archivesディレクトリに画像を別途アップロードする必要がありますが、 CSVにアップロードされたパスを書くことで、CSVインポートすることができます。

画像のカスタムフィールドには、多くの関連変数があります。すべて指定しなくてもよいですが、少なくとも「フィールド名@path」は指定しましょう。

"entry_title","hoge@path","hoge@x","hoge@y","hoge@alt"
"画像のフィールドテスト","001/202012/4e82948f2a5ce6e6a856d61bf0a1057473cf8997e3c7e7f2da9faa0019935d0e.png",300,169,"代替テキスト"
"画像のフィールドテスト2","001/202012/4e82948f2a5ce6e6a856d61bf0a1057473cf8997e3c7e7f2da9faa0019935d0e.png",300,169,"代替テキスト"

指定可能な項目



カラム名 説明
hoge@alt 代替テキストを設定します
hoge@largePath 大きいサイズの画像のパスを指定します
hoge@largeX 大きいサイズの画像の横幅を指定します(整数)
hoge@largeY 大きいサイズの画像の縦幅を指定します(整数)
hoge@largeFileSiz 大きいサイズの画像のファイルサイズをバイト数で指定します(整数)
hoge@path 画像のパスを指定します
hoge@x 画像の横幅を指定します(整数)
hoge@y 画像の縦幅を指定します(整数)
hoge@fileSize ファイルサイズをバイト数で指定します(整数)
hoge@squarePath 正方形画像のパスを指定します
hoge@squareX 正方形画像の横幅を指定します(整数)
hoge@squareY 正方形画像の縦幅を指定します(整数)
hoge@squareFileSize 正方形画像のファイルサイズをバイト数で指定します(整数)
hoge@tinyPath 小さいサイズの画像のパスを指定します
hoge@tinyX 小さいサイズの画像の横幅を指定します(整数)
hoge@tinyY 小さいサイズの画像の縦幅を指定します(整数)
hoge@tinyFileSize 小さいサイズの画像のファイルサイズをバイト数で指定します(整数)

ファイルのカスタムフィールド

ファイルのカスタムフィールドは archivesディレクトリにファイルを別途アップロードする必要がありますが、 CSVにアップロードされたパスを書くことで、CSVインポートすることができます。

ファイルのカスタムフィールドには、多くの関連変数があります。

"entry_title","hoge@path","hoge@baseName","hoge@fileSize","hoge@originalName"
"ファイルのフィールドテスト","001/202012/aaa.pdf","aaa.pdf",347794,"サンプル.pdf"
"ファイルのフィールドテスト2","001/202012/bbb.pdf","bbb.pdf","サンプル2.pdf"

指定可能な項目



カラム名 説明
hoge@path ファイルのパスを指定します
hoge@baseName ファイル名を指定します
hoge@fileSize ファイルサイズをバイト数で指定します(整数)
hoge@originalName アップロード時のファイル名を指定します

カスタムフィールドグループ

カスタムフィールドグループは、複数の値を入れないといけないので、複雑ですがCSVでインポートすることができます。
複雑なので、例をだして、それにそって説明していきます。

例の仕様

  • 「testGroup」というカスタムフィールドグループ名
  • 「testGroup」は2つのテキストフィールドを持つ(inputA, inputB)
  • 今回入力したい値は2レコードで、値は下の画像のような値をいれたい

例の仕様を満たすCSV

上記の仕様を満たすCSVは以下のようになります。

"entry_title","@testGroup[1]","@testGroup[2]","inputA[1]","inputA[2]","inputB[1]","inputB[2]"
"フィールドグループのテスト","inputA","inputB","aaaaa","AAAAAA","bbbbbb","BBBBBB"

ポイント

まず「グループ名」を @グループ名[添字] という形で、グループ内のフィールド数分用意します。
今回は、inputA と inputB の2つ なので、 "@testGroup[1]","@testGroup[2]" を追加しています。
この項目の値には、グループ内のフィールド名を指定します。今回の場合は inputA, inputB になります。

グループ名とフィールド名が指定できたら、グループ内のフィールド値を添字を使って、 レコード数分 指定していきます。 今回は、2レコードなので、"inputA[1]","inputA[2]","inputB[1]","inputB[2]" を追加しています。
この項目の値は、それぞれフィールドに入れたい値を設定することになります。

* 添字は「1」から始まるのでご注意ください。

以上になります。 今回は複雑なCSVインポートの紹介をしてみました。ぜひお試しください。

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


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

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 )へアクセスし、ドメイン名の修正を行います



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

注意点

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