運用管理

目次

ブラウザのキャッシュ管理

クライアントのキャッシュ有効時間



サイトを閲覧している方の端末のブラウザのキャッシュの有効時間を設定します。この時間はブラウザ側のキャッシュが利用され、サーバーにはアクセスされません。

逆に言えば、ページが更新された場合に反映されないことがあります。ブラウザの再読み込みボタンを押したり、ブラウザの管理画面からキャッシュを削除しなければ変更後のページに切り替わらない可能性があります。

クライアントのキャッシュ有効時間は、管理画面では コンフィグ>機能設定のページにあります、「クライアントのキャッシュ有効時間」という項目にあたります。秒単位で入力してください。

キャッシュバスティング



キャッシュが原因でJavaScriptやCSSが本番環境で変更したはずの内容が反映されないという問題が起こることがあります。この問題を解決するのがご紹介しているキャッシュバスティングという機能になります。キャッシュバスティングが適用される対象は、外部ファイルで読み込んでいるJavaScriptとCSSファイルの2つです。

キャッシュバスティングは管理画面では コンフィグ>出力設定のページにあります、「ブラウザキャッシュ」という項目になります。設定項目は3種類用意されています。



設定項目 出力例
ファイルのタイムスタンプ ?date=20170420181854
ファイルのタイムスタンプのハッシュ ?v=a57c90cc81882fffb468818eb98a8cdd
クエリをつけない なし

デフォルトでは「ファイルのタイムスタンプ」が適用されています。もし従来のままで運用したいということがあれば、「クエリをつけない」を選択してください。

適用例:

<link rel="stylesheet" href="/themes/system/css/acms-admin.min.css?date=20170420181854">

テンプレート書き出し機能(静的ファイルとして出力)

ここでは、a-blog cmsの動的ページを静的ファイルとして出力する設定内容について説明します。

たくさんモジュールが記述してあるテンプレートのページやヘッダー、フッターなどあまり更新しないパーツに対してテンプレート書き出しを行うとページを表示するときにモジュールの実行回数を減らすことができ、パフォーマンス向上につながりますので、重いページなどあった場合は検討してみましょう。

テンプレート書き出しするページと出力先を設定する

管理画面 > テンプレート書き出し に移動。テンプレート書き出し設定は、ルートブログのみで設定できます。


[キャプチャ] 管理画面内テンプレート書き出し設定画面

テンプレート書き出し設定画面


生成元URI、出力先パスの3つの項目を入力します。

生成元URI
静的ページとして書き出しをしたいページのURIを、http:// または acms:// から入力します。
出力先パス
生成元URIの内容を、ここで指定した themes内に、指定したファイル名で出力します。
生成範囲
静的ファイルとして出力する場合は「全て」を選択します。レイアウトモジュールがあるテンプレートを書き出しする場合に「レイアウトのみ」を選択するとレイアウトモジュールだけ解決された動的テンプレートを書き出しするようになります。

テーマ設定で使用しているテーマと、出力先パスで選択するテーマは同じものとしてください。静的ファイルは選択したthemes内に、指定したファイル名で出力されます。

また、出力先のthemesには、書き込み権限を設定してください。

出力先に同名ファイルがあった場合は、新しい内容が上書きされます。ファイルの管理に、十分に気をつけて実行してください。

子ブログでのテンプレート書き出し

ルートブログより下の子ブログでは、親ブログで[直接の子ブログでのテンプレート書き出しを許可する]にチェックをすることで、テンプレート書き出しが可能になります。デフォルトでは、子ブログでのテンプレート書き出し実行は禁止されています。

これは直接の親子関係をもったブログ間でのみ有効な設定です。ブログの階層が深くなる場合はそのたびに同様の設定が必要です。

書き出しする

同ページにある、「テンプレート書き出しを実行する」ボタンを押す事で、設定されているファイルをすべて作り直します。ファイルやデータに更新があった場合に実行しましょう。

アクセス設定(ログイン可否、認証)

様々な理由によるアクセス制限

サイトに対してアクセスの制限をしたい理由は様々です。制作中のサイトにアクセスされないように、顧客にのみIDとパスワードを開示して情報を公開したい、社外からはログインできないようにしたい、などなんらかの形でアクセス制限をしたい場合もあるでしょう。

a-blog cmsでは、ブログ単位でログインの制限、ベーシック認証を行うことができます。

アクセス設定の機能は、管理画面>コンフィグ>アクセス設定の順にページを移動し、利用することができます。


(管理画面のスクリーンショット)

管理画面内アクセス設定のページ


ログインの制限


ログインの制限は、IPアドレスによる許可、または拒否の形で行われます。
IPアドレスはCIDR記法で記述し、許可リスト以外からのログインまたは拒否リストからのログインを行った場合には、正しいIDとパスワードであってもログインすることはできません。

ベーシック認証を使ったアクセス制限

ベーシック認証は、通常.htaccess と.htpasswd ファイルで設定しますが、a-blog cmsではアクセス設定のページからユーザーIDとパスワードを発行して、アクセスするために認証が必要な運用を作成できます。

また、一般には非公開(認証による制限あり)としたいが、特定のIPアドレス(例:制作環境など)からのアクセスに限り認証を行わない認証スキップの機能もあります。

モブログ機能

こちらの機能はVer. 2.7.0で廃止となりました。これにより、Ver. 2.7.0以降ではお使いいただけませんのでご注意ください。

Eメールによるエントリー投稿

モブログ機能を利用する事により、Eメールを利用してエントリーを投稿できるようになります。(テキストと画像のみ対応)携帯電話、スマートフォンなどから簡単に記事投稿できるようになるので、リアルタイム性が求められたり、PC操作が不慣れな人が運用する場合に有効です。

設定方法

モブログの設定をします。 管理ページ > モブログ に移動して「モブログの作成」を押します。


モブログ作成画面

モブログ作成画面


受信するPOPサーバを指定することで、メールを取り込みエントリーを投稿します。 以下各項目の説明です。

項目説明
ステータスこのモブログ設定が有効かどうかのステータスです。
メールアドレスモブログ投稿を受信するメールアドレスを設定します。
POPサーバーモブログ投稿を受信するPOPサーバーを指定します。
POPユーザーモブログ投稿を受信するPOPサーバーのユーザー名を指定します。
POPパスワードモブログ投稿を受信するPOPサーバーのパスワードを指定します。
メール投稿許可
アドレス
メールでの投稿を許可するメールアドレスを指定します。複数指定する場合は、改行かカンマ区切りで入力します。(ユーザー管理で登録されているユーザーは自動的に投稿許可になります。)
エントリーの
ステータス
モブログ投稿したエントリーの初期ステータスです。
画像サイズメール添付画像の長編サイズを指定します。
画像の配置メール添付画像の配置です。
テキストユニットテキストユニットのテキストタグセレクトを指定します。
ユーザーどのユーザーの投稿にするかを指定します。
カテゴリーどのカテゴリーに投稿するかを指定します。

手動で受信

モブログ機能を有効にすると管理者ボックスに「モブログ受信」というボタンが出現します。このボタンを押す事で、メールを取り込みエントリーを作成します。なのでメールを送ってもこのボタンを押すまでは、エントリーにならないので注意が必要です。


モブログ受信ボタン

モブログ受信ボタン


cronを使って自動受信

cron機能を使い自動的にメールが取り込まれるように設定します。お使いのサーバーでcron機能が実行できる必要があります。


ファイルを開く

モブログ(cron)


プログラムのダウンロード

まずは、このプログラムをダウンロードし、「private」ディレクトリの中に設置します。

また、照合ファイルのパーミッションを確認します。照合ファイル ( private/cronkey )はプログラムから書き込みする必要がありますので、パーミッションを666に設定します。


cronプログラム設置場所

cronプログラム設置場所


コンフィグ

ファイルをアップロードしたら、cron/moblog/config.php というファイルを編集します。モブログを利用しているブログのURLと、照合ファイルの場所を指定します。

<?php
$url  = 'http://www.sample.com/';
$cronkey_path  = '/var/www/html/private/cronkey';

$url : モブログを利用しているブログのURLを指定します。子ブログでモブログを利用している場合は、トップページではなく子ブログのURLを指定してください。

$cronkey_path : 照合ファイルの場所を指定します。照合ファイルはCMSがインストールされているディレクトリの private/cronkey にあります。このファイルをフルパスで指定します。

サーバー設定

最後に各サーバーで cron/moblog.sh をcronで動かすように設定ください。

エイリアス機能

エイリアス機能を使うとブログ単位で、別のURLでも同じブログを指すことができるようになります。 ここでは、実際の利用例を交えてエイリアスの使い方を紹介したいと思います。

エイリアスの作成

管理ページ > エリアス に移動し「エイリアスの作成」ボタンを押します。


エイリアス作成画面


例えば、http://example.com というサイトがあった場合に以下のようなエイリアスが設定されている場合があったとします。

  • ドメイン = example.com
  • コードネーム = en

この場合、以下2つのURLは全く同じブログを参照するようになります。

  • http://example.com
  • http://example.com/en/


項目 説明
ステータス エイリアスの有効・無効を設定
名前 管理用の名前をつけます
ドメイン エイリアスのドメインを設定します(ベースドメインと違うドメインを設定する場合は、上位ライセンス、オプションライセンスなどが必要になります。)
コードネーム URL上で表示されるディレクトリ名を指定
グローバル チェックされたエイリアスは子ブログにも受け継がれて使用される
インデキシング チェックがない場合、エイリアスの一覧を出力するモジュールで非表示

利用例-1 IPアドレスでのアクセス

公開前のサイトで、本番ドメインに切り替えた場合、DNSがまだ切り替わっていないと表示させる事ができません。(a-blog cmsでは設定されているドメインでしか表示できない為)

hostsファイルなどを設定する事により、そのマシンからは表示する事ができるようになりますが、マシンごと設定が必要です。

そこでエイリアス機能を使い、エイリアスのドメインにwebサーバのグローバルIPアドレスを設定します。 これにより、IPアドレスでもサイトが表示できるようになるので、簡単に表示確認できるようになります。

* 独自ドメインなどは、特別なライセンスがないと設定できませんが、IPアドレスはどのライセンスでも自由に設定できるようになっています。

利用例-2 多言語サイト

多言語ユニットを使いそれぞれの言語のサイトが同じブログを使う場合にエイリアス機能を利用します。 例えば、エイリアスを使って以下のようなURLを作ったとします。

  • http://example.com/ 基本URL
  • http://example.com/en/ エイリアスで作成

この2つのURLは同じブログを参照するようになります。ここで、ルール機能を結びつけます。 先ほど作成したエイリアスIDを指定してルールを作成します。ルールを作成したらそのルールのコンフィグでテーマを英語用のテーマに書き換えます。

これにより、同じブログを参照しながら別URL, 別テーマを当てる事ができるようになりました。


エイリアスIDを使ったルール


利用例-3 共有SSL/TLS

共用サーバーなどでSSL/TLS接続(https://...)を使う場合、そのサービス特有のドメインで独自ドメインが使えない場合があると思います。このような時にSSL/TLS接続用のドメインをエイリアスとして作成すれば共有SSL/TLSを使う事ができるようになります。

* a-blog cmsは基本的に最初に設定した基本ドメイン以外はエイリアスなどに設定できないようになっています。(ドメイン拡張オプションが必要)ただし、共用SSLは申請をすることにより、審査の上無料で共有SSL/TLSライセンスが手に入ります。

共有SSL/TLSドメインの例

  • secure○○.sakura.ne.jp
  • ○○.heteml.jp
  • ○○.ssl-xserver.jp

これ以外にも共有SSLなら大丈夫ですので、 a-blog cms > マイページ > ライセンス購入・申請 > 共有SSLライセンスを申請から申請ください。

利用例-4 複数台サーバーで利用

a-blog cmsを管理用のCMSサーバを1台、表示用のCMSを1台のように複数台構成で動かす事があると思います。

  • www. example.com 表示用のサーバー
  • cms. example.com 管理用のサーバー(リクエスト制限)

この2つのサーバーは同じ内容をみているのですが、ドメインが違います。なのでエイリアスを使う事により両方で表示させる事ができます。

注意点として、管理ページはエイリアスを使用していても、基本ドメインでしか表示できないので、ここでいう cms. example.comを基本ドメインにして、www. example.comをエイリアスに設定してください。

* a-blog cmsを複数台構成で動かす場合、プロフェッショナル版以上のライセンスが必要となります。

ショートカット機能

コンフィグやモジュールIDの設定画面へのショートカットが管理画面のダッシュボードに表示されるようになり、よく変更するコンフィグを登録しておくと便利に運用することができます。

権限の付与

通常、モジュールIDやコンフィグ設定は、管理者権限がないと編集が出来ません。 しかしショートカット機能を使うと、投稿者や編集者においても編集権限を付与することができます。

管理者権限で作成済みの項目について、編集範囲をカスタマイズしたい場合にご利用ください。

ショートカットによって権限付与ができる機能

  • 任意のカテゴリー
  • 任意のブログ
  • 任意のスケジュール
  • カート
  • 任意のコンフィグ管理
  • 任意のモジュールID
  • テンプレート書出し管理

さらに詳細な権限のカスタマイズをしたい場合は、プロフェッショナル・エンタープライズ版ライセンスに含まれるロール機能をご利用ください。

ショートカットの作成

ショートカットに登録できるのは、コンフィグとモジュールIDのコンフィグになります。 ショートカットに追加したいコンフィグに移動し、画面右上の「ショートカットに追加」ボタンを押します。


ショートカットに追加ボタン

ショートカットに追加ボタン


「ショートカットに追加」ボタンを押すと、以下のような画面に移動するので、設定を行い作成をします。

  • ショートカット名(任意の名前)
  • 対象ユーザー(編集権限を与えるユーザー権限を設定)

設定後「作成」ボタンを押してショートカットを作成します。


ショートカット設定画面

ショートカット設定画面


ショートカットの利用

先ほど設定した権限以上のユーザーでログインし、管理ページに移動してみます。ダッシュボードにショートカットが追加されていることが確認できると思います。このコンフィグは管理者でなくても変更できるようになっています。


編集者のダッシュボード

編集者のダッシュボード


ショートカットの管理

管理者でログインすると 管理ページ > ショートカット というメニューがあり、いままで登録したショートカットの管理をすることができるようになっています。

  • ショートカットの並び順の変更
  • ショートカット名・権限の変更
  • ショートカットの削除

ショートカット管理画面

ショートカット管理画面

サイトを静的書き出しする [プロフェッショナル以上]

静的書き出し

静的書き出し


プロフェッショナル版以上になりますが、ブログ単位でブログ全体を静的に書き出すことが出来ます。

基本仕様

  • ブログ単位による書き出し
  • バッググラウンドでの書き出し(並列処理)
  • パスの書き換え(テンプレート、CSSにあるパスとドメインを設定に沿って書き換えます)

書き出し範囲

  • ブログトップ
  • カテゴリートップ
  • カテゴリー一覧
  • エントリー詳細
  • カテゴリー一覧の2ページ以降
  • カテゴリーのアーカイブ(年月)一覧

変更されるURL

  • CMSで表示 -> /page/2/
  • 静的表示 -> /page2.html

設定

静的書き出しの設定は、 管理画面 > 静的書き出し の 設定で行います。

同時ページ生成数

並列に書き出すページ数の指定です。数値を大きくすると書き出しスピードが上がりますが、大きすぎるとサーバーに負荷がかかり遅くなる可能性があります。

書き出し先ドキュメントルート

書き出し先のドキュメントルートを指定します。webサーバーのドキュメントルートを設定してください。

オフセットディレクトリ

ドキュメントルート直下ではなく、ディレクトリの中に設置したい場合は設定します。

書き出し先ドメイン

書き出し先のドメインを指定します。実行したCMSのドメインと違う場合でも設定できます。

ページ書き出しカテゴリー

2ページ以降を用意するカテゴリーを指定します。MAXページ はページ数を限定します。

アーカイブ書き出しカテゴリー

年月のアーカイブリストを作成するカテゴリーを指定します。 開始月 を指定することにより、その月から最新までを書き出します。 月ごとのページ数は MAXページ で設定します。

キャッシュ自動生成

この機能は Ver. 3.0.0 で廃止されました。

キャッシュ自動生成機能は付加が高い処理のため、サーバーのスペックやキャッシュ生成リストの件数などによってはサーバーの応答がされない可能性がありますのでご注意ください。

ページの表示内容をキャッシュデータとして用意しておき、次回そのページにアクセスががあった場合に素早く表示を行うサーバーキャッシュの機能がa-blog cmsには用意されています。
しかし、何か記事を更新するとブログ単位でキャッシュが削除されますので、次のアクセスはキャッシュが効いていない状態で少し遅くなります。そこでキャッシュ削除時に同時に新しいキャッシュを作る仕組み(キャッシュの自動生成)について説明します。

まずは、管理ページ > コンフィグ > 機能設定:基本の中にあります[キャッシュ自動生成]を有効にします(※この項目はルートブログにのみ存在します)。[キャッシュ自動生成]を有効にすると、ダッシュボードに[キャッシュ生成リスト]の項目が追加されます。


管理ページ > コンフィグ > 機能設定


管理ページ > ダッシュボード:キャッシュファイル管理から、キャッシュ生成リストへ遷移します。

※先ほどの[キャッシュ自動生成]を有効にしても[キャッシュ生成リスト]の項目が表示されない場合は、デバッグモードをオンになっていないか、開発ライセンスのままになっていないか、をご確認ください。


管理ページ > ダッシュボード


キャッシュ生成リストのページへ移動したら、自動生成するページを登録します。キャッシュを用意したいページのURLを追加していきます。



キャッシュクリア前

キャッシュクリア、キャッシュ自動生成後


キャッシュクリアをしますとキャッシュの全体の件数が0になります。その後、[キャッシュ生成]ボタンを押下しキャッシュ自動生成を実行すると、キャッシュ生成リストに登録されているページのキャッシュが生成されます。件数で確認できます。 キャッシュ自動生成は手動でボタンを押した時以外にも、エントリーやカテゴリーが保存されたタイミングでキャッシュがクリアされ、その後にキャッシュ自動生成が行われます。

クイックサーチ(どこでも検索)

検索画面

検索画面


Ver. 2.8 よりログインしていると以下のようなポップアップが現れ、キーワード検索で色々な情報にアクセス出来るようになりました。

アクセス出来る情報

  • ブログ
  • エントリー
  • カテゴリー
  • モジュールID
  • 管理画面メニュー
  • ショットーカット(登録されているもの)
  • モジュール変数表
  • モジュールスニペット
  • グローバル変数(拡張したグローバル変数を含む)

ショートカットキー

  • Windows: Ctrl + k
  • MacOS: ⌘K

モード

フリーキーワードで検索はそのまま、キーワードを入力すればいいですが、そのほかに3つのモードが用意されています。

スニペット検索モードキーワードの最初に ;(セミコロン) を入力することにより、スニペットを検索できるようになります。
変数表検索モードキーワードの最初に :(コロン) を入力することにより、変数表を検索できるようになります。
グローバル変数検索モードキーワードの最初に %(パーセント) を入力することにより、グローバル変数を検索できるようになります。

ウェブサイトのプレビュー機能

プレビュー機能とは

a-blog cms Ver.2.9よりログインしたまま、表示側の確認ができる「プレビュー機能」が追加されました。 プレビュー機能では、スマホやタブレットなどの画面サイズを簡単に切り替えることができ、また User Agent のシミュレートも行いますので、「ルール」による設定も反映されるので確認に便利です。

Webに慣れている方は開発者ツールなどでも確認できますが、あまりWebに詳しくない方でも簡単に各デバイスの見え方を確認することができるようになります。



使い方

プレビュー機能は下の画像のアクションボックスの「プレビュー」と書かれたボタンを押していただくか、エントリーの編集画面の「プレビュー」を押していただくことでご利用いただけます。


アクションボックス内のプレビューボタン


管理画面側編集画面のプレビューボタン


デバイスの切り替え

シミュレートしたいデバイスを切り替えたい場合は下の図のようにセレクトボックスから対象のデバイスを選択します。そうすると、そのデバイスのサイズとそのデバイスに対しての「ルール」がシミュレートできます。



デバイスの向きを変更

また、以下の図の赤の枠で囲まれたボタンをクリックするとデバイスの縦向き、横向きを切り替えることができます。



以下の図は上のデバイスを横向き表示にした時の図です。


デバイスを横向きにしたプレビュー


デバイスの拡大・縮小

また、画面よりも大きなサイズのデバイスをプレビューしたい場合、デバイスが画面をはみ出してしまい、閲覧しにくいことがあります。 そういうときには、セレクトボックスよりデバイスの表示倍率を変更することができます。


iPhone6のデバイスを50%表示


プレビューの共有機能

Ver. 3.0.11 未満をご利用の方は、プロフェッショナルライセンス以上のライセンスでご利用できます。

「プレビューの共有機能」とはまだ 非公開 などの公開されていないページをログインしていない人でも閲覧出来る機能になります。

プレビューページで共有ボタンを押して、「共有URL」を取得することで、共有できるようになります。共有URLはランダムな文字列がついており簡単にわからないようになっています。また「管理ページ > コンフィグ > 機能設定 の プレビュー共有の有効期限」より共有期限を設定することも出来るようになっています。

この機能により、公開前の記事やページを承認機能を使わずに手軽に好きな連絡手段で確認することができるようになります。


共有ボタン


共有URLの生成


プレビュー機能のカスタマイズ

またプレビュー機能では、プレビューしたいデバイスをJavaScriptを使って増やすことも可能です。例えば以下のように記述することで、iPhoneXSのシミュレートができます。

ACMS.Ready(function() {
  ACMS.Config.previewDevices.push({
      name: 'iPhone XS',
      ua: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
      width: 375,
      height: 812,
      resizable: false,
      hasFrame: true
  });
});

以下、各プロパティの説明です。



プロパティ名 説明
name selectのoptionに表示されるラベル名
ua シミュレートしたいユーザーエージェント
width デバイス幅
height デバイスの高さ
resizable リサイズできるかどうか
hasFrame iPhoneのフレームもプレビュー結果に含めるかどうか

ユーザー切り替え機能

a-blog cms Ver.2.9よりユーザー切り替え機能が実装されました。これにより権限が違うユーザーに切り替えて、そのユーザーでログインした時の挙動などを簡単に調べることができるようになりました。

使い方

管理画面 > ユーザー管理 に移動すると下の画像のようにユーザーを変更するためのボタンがみつかります。



切り替え後は、管理画面上部に「元のユーザーに戻る」というボタンが表示されるのでそのボタンを押していただくことで切り替え前のユーザーに戻ることができます。



ユーザーの切り替え条件

ただ、すべてのユーザーが好きなユーザーに切り替えられるわけではありません。ユーザーを切り替えるためのデフォルトの条件は以下になります。

  • ルートブログの管理者権限ユーザーであること
  • 切り替え先のユーザーの権限が管理者でないこと

また、private/config.system.yamlを編集すればユーザーの切り替え条件を変更することも可能です。



項目 設定値 デフォルト値 説明
switch_user_enable on / off on ユーザー切り替え機能を有効化
switch_user_permission root / all root ユーザー切り替えができる管理者設定(root=ルートブログの管理者のみ, all=全ての管理者)
switch_user_same_level on / off off 管理者ユーザーへの切り替えができるかの設定

エントリーの自動補完リダイレクト機能

リニューアル時やサイト構造変更時などに、記事(エントリー)のカテゴリーやブログが変更になることはよくあることだと思います。 この時そのままだと、以前のURLが404になってしまいます。404にならなためには、.htaccessなどで旧URLから新URLへのリダイレクト処理を書く必要がありますが、記事ごとに毎回設定するのは大変です。

そこで、エントリーの自動補完リダイレクト機能を使用すれば、ブログやカテゴリーが変更になったエントリーでも自動で旧URLから新URLにリダイレクトをしてくれるようになります。

例:ある記事(entry-10.html)のカテゴリが「news」から「topics」に変更になった場合
「https://example.com/news/entry-10.html」にアクセスすると、「https://example.com/topics/entry-10.html」に自動で301リダレクトされます。

有効化の方法

「private/config.system.yaml」に以下記述を追加します。

entry_301_redirect: on

注意事項

リダイレクトは、エントリーコード(xxxx.html)をもとにデータを検索しリダイレクトをかけています。 この仕様により以下3つの注意点があります。

  • 以前のカテゴリーを削除してしまうとカテゴリーが 404 エラーになってしまいリダイレクトされません。上記の例の場合 news を残して topics を作成ください。
  • エントリーコードを変更した場合は、リダイレクトされない
  • 重複するエントリーコードがある場合、どのエントリーにリダイレクトされるかはコントロールできない