動作条件
サーバー必要条件
必要ソフトウェア
- PHP 8.1 〜 8.4.x
- MySQL 5.0.0以上 or MariaDB
- Webサーバー (Apache2.0以上 or Nginx)
- ionCube Loader 4.6.2以上 *Ver. 3.0 以上の場合不要
MySQL5.6以上を利用すると、パフォーマンスが良くなるようカスタマイズされています。利用可能なら MySQL5.6以上をご利用ください。
Webサーバ2台以上で冗長化構成をしている場合、プロフェッショナル以上のライセンスが必要となります。
archive, media, storage, cache, private, themes ディレクトリやルートディレクトリには、Apache 用の .htaccess によるアクセス制限 が含まれています。
これらの設定は Apache 専用であり、nginx などのサーバーでは無効です。
重要:これらのディレクトリにはバックアップファイルや一時ファイルなど、第三者に知られてはならない情報が含まれる可能性があります。
Apache 以外の環境で .htaccess の内容を適切に反映しないと、認証不要で機密ファイルがダウンロード可能となるなどの重大なセキュリティリスクが発生します。
Apache以外の環境の場合、必ず .htaccess のアクセス制限に相当する設定をで手動で行ってください。
URLの書き換え
URLの書き換えができる必要があります。
Apache
- RewriteEngineの有効化
- .htaccessの利用許可(AllowOverride)
- UserDirディレクティブを使った場所では動きません(例: http://example.com/~hoge/)
Nginx
- /index.php にリライトされるようにRewrite設定を行う
- ルートディレクトリおよび、archive, media, storage, cache, private, themesディレクトリにある .htaccess の内容をNginx側で設定を行う
PHP Extensions
必須
オプション
- ImageMagick - GDではなくImageMagickを利用したい場合(config.system.yaml => image_magick : on)
- Gettext - 管理画面を多言語化したい場合
- SimpleXML - 外部API系モジュールを利用したい場合
- OPcache - PHPの中間コードのキャッシュをしたい場合
a-blog cms Ver. 3.0 以上の場合は以下も利用可能です
- APC User Cache - CMSの内部キャッシュとして使用したい場合
- PhpRedis - キャッシュサーバーとしてRedisを使用したい場合
データベース必須ユーザー権限
- SELECT
- INSERT
- DELETE
- UPDATE
- CREATE
- ALTER
- INDEX
- DROP
メール送信
a-blog cms ではメール送信をするために2種類の方法があります。 両方法とも「symfony/mailer」ライブラリを使用して送信しています。
方式 | 必要な作業 |
---|---|
Sendmail | サーバーにSendmailがインストールされており、PHPがSendmailにアクセスできるように設定されている必要があります。 SMTP設定をしていない場合、デフォルトでsendmailで送信しようとします。 |
SMTP | SMTP経由で送信します。別途SMTPサーバーを用意する必要があります。 認証方式はパスワード認証と、GmailのSMTPサーバー専用 OAuth認証( Ver. 3.1.19以降 )があります。 |
送信元メールアドレスのドメインがwebサーバーと違う場合は、メールアドレスのドメインと同じSMTPサーバーと利用するか、SPFレコード(DNS)を設定して「なりすましメール」の防止を行ってください。
管理画面対応ブラウザ
a-blog cmsの管理画面を動作させるためのブラウザ環境です。すべてのブラウザで最新版を推奨しています。
- Google Chrome
- Mozilla Firefox
- Safari
- Microsoft Edge
- iOS Safari
- モバイル版 Google Chrome
PHPバージョン対応表
PHPバージョン | 対応 a-blog cms バージョン |
---|---|
5.3.29 | 2.11.x | 2.10.x | 2.9.x | 2.8.x | 2.7.x | 2.6.x | 2.5.x | 2.1.x | 2.0.x | 1.7.x |
5.4.x | 2.11.x | 2.10.x | 2.9.x | 2.8.x | 2.7.x | 2.6.x | 2.5.x | 2.1.x |
5.5.x | 2.11.x | 2.10.x | 2.9.x | 2.8.x | 2.7.x | 2.6.x | 2.5.x | 2.1.x |
5.6.x | 2.11.x | 2.10.x | 2.9.x | 2.8.x | 2.7.x | 2.6.x |
7.0.x | 2.11.x | 2.10.x | 2.9.x | 2.8.x | 2.7.x |
7.1.x | 2.11.x | 2.10.x | 2.9.x | 2.8.x |
7.2.x | 2.11.x | 2.10.x | 2.9.x | 2.8.x |
7.2.5 | 3.1.0 ~ 3.1.6 | 3.0.x | 2.11.x | 2.10.x | 2.9.x | 2.8.x |
7.3.x | 3.1.x | 3.0.x | 2.11.x | 2.10.8 ~ |
7.4.x | 3.1.x | 3.0.x | 2.11.15 ~ |
8.0.x | 3.1.x | 3.0.x |
8.1.x | 3.2.x | 3.1.x | 3.0.12 ~ |
8.2.x | 3.2.x | 3.1.14 ~ |
8.3.x | 3.2.x | 3.1.14 ~ |
8.4.x | 3.2.x |
データベースバージョン対応表
MySQL バージョン | MariaDB バージョン | 対応 a-blog cms バージョン |
---|---|---|
5.0.x ~ 5.5.x | 5.1.x ~ 5.5.x | 3.1.x | 3.0.x | 2.11.x | 2.10.x | 2.9.x | 2.8.x | 2.7.x | 2.6.x | 2.5.x | 2.1.x | 2.0.x |
5.6.x ~ 5.7.x | 10.0.x ~ 10.3.x | 3.1.x | 3.0.x | 2.11.x | 2.10.x | 2.9.x | 2.8.x | 2.7.x | 2.6.x | 2.5.x | 2.1.x | 2.0.x |
8.0.x | 10.4.x ~ 11.0.x | 3.2.x | 3.1.x | 3.0.x | 2.11.x | 2.10.x | 2.9.x |
8.4.x | 10.4.x ~ 11.0.x | 3.2.x | 3.1.x | 3.0.x | 2.11.x | 2.10.x | 2.9.x |
設定できるドメイン
- IPアドレス
- localhost
- ドットが1つ以上あるドメイン
* localhost を除くドットなしドメインはご利用いただけません。
サブドメイン・別ドメイン を子ブログに設定
インストールしたシステムの子ブログに、サブドメインや別ドメインを設定することも可能です。
その際には、サーバー側の設定で hoge.com と fuga.hoge.com などのドキュメントルートを同じディレクトリに設定する必要があります。また、ライセンスによって利用が制限されていますので、詳しくはライセンスページをご覧ください。
接続元IPアドレス
CMSで接続元IPアドレスを使用して、ログや制限を設ける機能があります。ただし、リバースプロキシやCDN、ロードバランサーなどが入っていると、正しく接続元IPアドレスが取得できません。
リバースプロキシなどが入っている環境でも正しく接続元IPアドレスを取得するには「config.server.php」の「TRUSTED_PROXY_LIST」に信頼できるプロキシのIPアドレスを設定ください。
複数ある場合はカンマで区切って指定します。
define('TRUSTED_PROXY_LIST', 'xxx.xxx.xxx.xxx,yyy.yyy.yyy.yyy');
これは「X-Forwarded-For」HTTPヘッダーから接続元IPアドレスを取得するときに、偽装された接続元IPアドレスを取得しないようにするためになります。 (「X-Forwarded-For」は簡単に偽装できるため)
常時TLS/SSL対応
CMS機能を使った、常時TLS/SSL対応には、CMSがhttpsでのアクセスか判定できる必要があります。 a-blog cmsでは下記のパラメーターをみてhttpsのリクエストか判定しています。この判定がうまくいかない場合、リダイレクトループなど正常でない動作になる場合がありますのでご注意ください。
どれかに1つでも当てはまる場合にhttpsのリクエストとして判定
- $_SERVER['HTTPS'] に値がセットされている場合
- $_SERVER['SERVER_PORT'] === '443' の場合
- $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' の場合
BASIC認証
管理ページ > コンフィグ > アクセス設定 の BASIC認証を利用するためには、下記パラメーターがPHPで取得できる必要があります。
- $_SERVER['PHP_AUTH_USER']
- $_SERVER['PHP_AUTH_PW']
このパラメーターが取れない場合は、.htaccessなどでCMSの機能を使わず設定ください。
画像のロスレス圧縮(可逆圧縮)
画像をロスレス圧縮することにより、画像サイズを小さくすることができ、サイトのパフォーマンスも向上します。 CMSで画像のロスレス圧縮をする場合は、以下対応ライブラリをインストールする必要があります。全てインストールするのではなく、各拡張子で必要なライブラリをどれか1つあれば動作します。
a-blog cms Training Camp 2019 Autumn を開催しました
11月22日(金)、23日(土)に、 a-blog cms Training Camp 2019 Autumn を開催しました。a-blog cms Training Camp は年に2回行われている a-blog cms の最大規模の勉強会です。 ご参加いただいたみなさま、ありがとうございました。
1日目
1日目は、名古屋国際センタービルにて開発スタッフとa-blog cmsユーザー様からのセッションと役割別ミーティングを行いました。 アイスブレイクでは、「a-blog cms 連想ゲーム」を行いました。
セッション
- 「a-blog cms を使ったサイト制作ガイドラインを作ってみた」有限会社アップルップル菅原 彩
- 「旅行ツアーサイト構築で工夫したところ」株式会社にいがた三昧 制作部 部長 保坂 聖一さん
- 「子ブログで多言語サイトを構築する」mintcode 笠谷 亜貴子さん
- 「今を生きるScheduleモジュール」株式会社ルーコ 鈴木 孝明さん
アイスブレイク
アイスブレイクでは、a-blog cmsに関わるものをお題に、出題者が絵だけで回答者にヒントを出し回答してもらう、「a-blog cms 連想ゲーム」を行いました。
役割別ミーティング
ディレクション・エンジニアリング・デザインの3種類の役割に分かれ、それぞれの役割ごとのテーブルでミーティングを行いました。普段の制作での疑問に思っていることや、トレンドの共有、業務上のあるある話で盛り上がるなど、同じ職種の皆さんで親睦を深めました。
2日目
2日目は、ベースキャンプ名古屋にて開発スタッフセッションとユーザーセッション、ハンズオンとAdobe XDワークショップ、ディレクターズミーティング、開発勉強会を行いました。
セッション
- 「ランディングページ用テーマ『zeroichi_lp』の次期バージョン」ウェビングスタジオ 口田 聖子さん
- 「a-blog cms のパフォーマンスチューニングのすすめ」有限会社アップルップル伊藤 淳
- 「拡張アプリ『Form2Entry』を使ってユーザ参加型のコンテンツをつくる」株式会社ヘルツ 筒井 志信さん
- 「子ブログで多言語サイトを構築する」株式会社データファーム 勝又 孝幸さん
Adobe XDワークショップ
a-blog cms 公式テーマ「site2019」のXDファイルの配布に伴い、このファイルの使用方法の解説を行いました。また、XDの基本的な使い方と、最新バージョンの変更点についても取り上げ、実際に「site2019」のXDファイルを使用し、ワークショップを行いました。
ハンズオン
スタンプラリー形式で、6種類のハンズオン課題に挑戦しました。
- 開発環境が整ったテーマ「Develop」を触ってみよう
- エントリーの一括変更機能をマスターしよう!
- Ver. 2.11 で追加された機能を使ってパフォーマンス改善してみよう
- 組み込みJS Yahoo! Map Cluster を使ってピンが集まった場所をまとめよう
- Form2Entryでお問い合わせ管理システムを作ろう
- PaperEditor でブロックを増やそう
次回開催について
みなさま a-blog cms Training Camp 2019 Autumn 2日間お疲れ様でした。 a-blog cms Training Camp 2020 Spring は2020年5月17日(金)、18日(土) 名古屋にて開催予定です。 プログラム詳細については開催が近づきましたらお知らせいたします。