concrete5 を利用した Web サイトの構築

早川正人
工学系技術支援室

情報通信技術系概要
Web サイトの構築にコンテンツマネージメントシステム（CMS）を導入する事で、管理・更新に専門的なスキルを意識する事なく、ページを見たまま直感的に編集するだけで更新ができ、リアルタイムでの情報発信が可能になる。また、掲載情報の鮮度の向上やレスポンシブ Web デザインに対応するなど、運営サイトの評価やサイト利用者の満足度が向上する事が期待できる。
このような事例の一つとして、市販のホームページ作成ソフトの利便さと、Web サーバ上で誰もが手軽にコンテンツを編集管理できる CMS の利点を併せ持ち、PHP + MySQL（MariaDB）などで動作するオープンソースソフトウェアの CMS である、concrete5（コンクリートファイブ）を利用した Web サイトの構築について紹介する。

1

はじめに今年度、業務を担当する専攻で改組が行われ、専攻のサーバ更新と Web サイトを一新する事に決まった。
その議論の中で問題の一つとなったのが、ホームページコンテンツの更新頻度が低く、古い情報が掲載されたままになっている事だった。現状のホームページコンテンツを更新できるのは、管理を担当している技術職員と極少数の担当教員だけであり、その原因となっているのが、更新作業を行うのに知識や技術が必要な事と手間がかかる事であった。この問題を解決するため、新規の Web サイト構築に CMS の導入を決定した。

2CMS（Content Management System）について

Web サイトの構築や運営を容易にするシステム、またはそれを可能にするソフトウェアの事で、ホームページを構成するコンテンツやレイアウト、リンクなどの要素を分離する事により、それぞれの変更、更新、追加作業が他の要素に影響を及ぼさずに、複数ページや Web サイト全体を一元的に管理できる。
サイトの構造が複雑でも、全体に共通性をもたせた見やすい Web サイトを構築することが可能で、ユーザに HTML や CSS（cascading style sheets）などの専門知識がなくても、一般的なブラウザ上からテキストや画像、動画などのコンテンツを追加するだけでページを更新できるため、コストの削減や効率的なサイト運営が可能になる。
CMS には機能や規模に応じたさまざまな形式があり、パソコン用と携帯電話やスマートフォン向けの Webサイトを統合的に管理する、マルチデバイス対応機能が重要視されるようになっている。

3concrete5 について使いやすさとカスタマイズ性、両方のニーズを満たす CMS を目指して開発された concrete5 は、2003 年に開発された有償の CMS パッケージ concrete CMS が前身となっており、2008 年に concrete5 と改名しライセンスがオープンソースに改められ、MIT ライセンス（マサチューセッツ工科大学を起源とした、オープンソースの中でも最も制限の緩いライセンス）に従って無償で利用できるようになった。
3.1

機能一覧

豊富に揃った Web サイトを構築・運用するのに必要な機能の紹介。

3.2x

直感的な「編集モード」でページを見たままに編集できるx

分かりやすいツリー形式のページ管理でウェブサイトの全体像を一目で把握できるx

プラグインなしに即運用開始できる豊富なブロックx

細かい権限機能と未来プレビュー機能が搭載され組織での利用やマーケティングに最適x

コンテンツのバージョン管理とロールバックにより安心して作業を行えるx

担当者がチェックしてからコンテンツを公開できるワークフロー機能xレスポンシブ・グリッド・フレームワーク対応

x

ログインユーザーごとにインターフェースの表示言語を選択できる

システム動作要件

concrete5.7 とそれ以降のバージョンの動作には下記の環境が必要となる。
x

Apache，Nginx などの Web サーバ（Apache2.4 を推奨）

x

PHP 5.5.9 以上（PHP 5.6 または 7 を推奨）

x

PHP モジュールMySQL(PDO エクステンション)、DOM、SimpleXML、iconv、GD Library with Freetype、Fileinfo、Mbstring、CURL、Mcrypt、ZipArchivex

PHP 設定max_file_uploads = 20
post_max_size & upload_max_filesize は 8MB 以上（ アップロードを許可したい容量）
memory_limit は 128MB 以上（アップグレード時などは、より多くのメモリが必要な場合がある）
default_charset = UTF-8
mbstring.language = neutral
mbstring.internal_encoding = UTF-8x

PHP セーフモードはオフ

xMariaDB もしくは MySQL 5.1.5 以降で、空のデータベース 1 個
MySQL 5.5 以降の場合は、接続照合順序を utf8mb4 に設定する

x

MySQL InnoDB テーブルサポートx

下記の各フォルダーは、Web サーバプロセスから書き込み可能に設定する"application/config/","application/files","application/themes","packages","updates"x

予約フォルダープリティーURL 機能が有効の場合、application, concrete, packages, updates, dashboard などが concrete5のフォルダーやシステムファイルが存在しているため、使うことができない。

x

ブラウザ環境最新のブラウザ（Internet Explorer, Firefox, Chrome, Safari）を使用する
Internet Explorer 6 ~ 8 は非対応で、編集作業ができない

4

基本設定とインストール

4.1

4.2

Web サーバの仕様
xOS：CentOS 7.4x

Web サーバ：Apache 2.4.6x

データベース管理システム：MariaDB 5.5.56

x

PHP：php 5.5.33x

concrete5 の最新バージョン：concrete5 8.3.2( DocumentRoot：/var/www/html )基本設定１） concrete5 をダウンロード ( https://concrete5-japan.org/about/download/ )# curl -L http://www.concrete5.org/download_file/-/view/90125/ -o concrete5-8.3.2.zip
２） ダウンロードした zip ファイルを解凍# nuzip concrete5-8.3.2.zip
３） 解凍して作成されたディレクトリの中身をドキュメントルートへ移動# mv concrete5.7.5.9/* /var/www/html# chown -R www:apache /var/www/html
４） "application/config/","application/files","application/themes","packages","updates"の各ディレクトリをWeb サーバプロセス( apache )から書き込み可能に設定# cd /var/www/html# chmod 775 application/config application/files application/themes packages updates５） MySQL ユーザアカウントを作成し、空のデータベースを 1 個作成
ユーザ名：conc5

パスワード：concpass

データベース名：concrete5＊データベースユーザ(conc5)を作成# mysql -u root –pMariaDB > grant all privileges on concrete5.* to conc@localhost identified by 'concpass'; select user ¥from mysql.user where user='conc5';
MariaDB > ¥q
＊ユーザ(conc5)でデータベース(concrete5)を作成# mysql -u conc5 -pconcpass
MariaDB > create database concrete5 charactse set 'utf8' collate utf8_general_ci;
MariaDB > ¥q
4.3

インストール１） ブラウザで構築する Web サイトにアクセスする（FQDN：www2.eess.prv）
http://www2.eess.prv/
２） 図 1 のインストール画面が表示される。
ここで言語を選択(japanese)して、動作要件のチェック画面に移動する

図 1. インストール画面

３） 図 2 の動作要件のチェック画面に移動し、問題がなければサイトの基本情報とデータベースの接続情報を入力する画面に移動する

図 2. 動作要件のチェック

図 3. 基本情報とデータベースの接続情報入力

４） 図 3 の画面で、サイト情報、管理者情報、データベース情報の入力とサンプルコンテンツを選択しインストールを開始する（図 4）
インストールが終了すると、図 5 のインストール完了画面が表示される

図 4. インストール実行中

4.4

図 5. インストール完了

アップデートconcrete5 を新しいバージョンにアップデートするのは、特定のバージョンからのアップデートになる。
x

8.0 => 先に 5.7.5.13 にアップデートが必要

x8.3.2 => 先に 8.2.1 にアップデートが必要「管理画面」=>「システムと設定」=>「concrete5 をアップデート」ページにアクセスし、アップデートファイルをダウンロードすると、新バージョンは updates/ ディレクトリに展開され、アップデートの実行を選択できるようになる。（図 6）「更新をインストール」をクリックして実行する。

図 6. アップデート実行

5

コンテンツの編集モード
１） concrete5 にログインする（図 7）
http://サーバの FQDN/index.php/login
２） 編集したいページにアクセスして、編集ツールバーの鉛筆アイコンをクリックすると、ページが編集モードになり鉛筆アイコンが緑色に変わる（図 8）３） 編集が終わったら、もう一度鉛筆アイコンをクリックして編集モードを抜ける
４） 作業が全て終了したら、concrete5 からログアウトする

図 7. ログイン画面

6

図 8. ページ編集モード

サイトのバックアップ方法

concrete5 サイトのバックアップは、データベースのバックアップとルートディレクトリ内ファイルのバックアップを取得する。
１） データベースのバックアップ
SQL フォーマットのバックアップファイル（conc5.sql）を作成# mysqldump -u conc5 -pconcpass --default-character-set=utf8 concrete5 > conc5.sql２） ルートディレクトリ内のファイルとディレクトリをバックアップアーカイブファイル（site_bak.tar.gz）を作成する# tar czfv site_bak.tar.gz html/

7

おわりに

今回、Web コンテンツの編集管理の容易さを重要視して、Web サイトの構築に concrete5 を利用したが、Web サイトにとって最も重大な懸念事項の一つにセキュリティ問題が挙げられる。
静的 Web ページと比べて、concrete5 などの CMS を利用した動的 Web ページでは、常にバージョンアップを行わないと、既知の脆弱性を攻撃されたり、パスワードの適切な管理を行わないと、ありふれたパスワードによって不正ログインを受けたりする可能性がある。
これらを踏まえ、セキュリティ対策には十分な配慮を行うと共に、インシデントの発生などに備えサイトのバックアップを定期的に取得するなどの万全な対応で、Web サイトの運用を行う必要がある。

参考文献

[1]

concrete5 Japan 日本語公式サイト(https://concrete5-japan.org/)[2]

CMS とは - コトバンク（https://kotobank.jp/word/CMS-3878）[3]

Wikipedia（https://ja.wikipedia.org/wiki/）