「concrete5」をXREA/CORESERVERへインストール(PHPのセーフモード対応)!

新たな手法でサイトを作成・管理するCMS「concrete5」の日本語版が公開されていましたので、試しにインストールしてみました。
実際に使ってみると、「あ、ブログじゃないんだ」。一般的なWEBサイトを作るCMSです。しかし、さまざまなフォームを作成することもでき、(Googleフォームが内蔵されてる感じ)送信されたデータは管理画面でわかりやすく管理できる。
サイトコンテンツを追加するには、表示されてるサイト上の編集したい箇所にカーソルをあわせて「編集」とするとその場で編集・保存が出来ます。「Jimdo」に似たような感じです。それらのシステムパッケージを自前のサーバーで運用できる時代です。さぁやってみよう!!
concrete5 – サンプル設置 – (後に削除予定)

今回はCORESERVERへのインストールということで「WordPress」同様、PHPのセーフモードの動作がかなりのネックになりました。

ここに注意点をまとめてみます。

1. 新規データベースを準備する

まず、新規MySQLデータベースを「UNICODE」で作成します。

(注:現在、concrete5 バージョン5.3ではprefixに対応していませんので新規データベース作成の必要があります。詳しくは、「よくあるインストール時の問題」をご参照ください。)

2. データベース文字コードを確認する

データベース作成後、少し時間をおき、「phpMyAdmin」にログインします。

そして、MySQLの接続照合順序を「utf8_general_ci」にします。

データベースの準備は以上です。

3. concrete5をサーバーの該当フォルダーにアップロード

ダウンロードしたファイルを解凍し、解凍したファイルをFTPソフトウエア等を使ってサーバ上へアップデートして下さい。

*XREA及びcoreserverでは、SSHを使用し、ZIPファイルを素早くサーバー上で解凍する事もでき、便利です。SSHを使用するには、あらかじめ管理画面で「ホスト情報」から「SSH登録」をして運用します。

4. パーミッションの変更

あらかじめ、3つのディレクトリのパーミッションを書き込み可能にしておく必要があります。

インストールディレクトリ直下の、

  • /config ディレクトリ
  • /files ディレクトリ
  • /packages ディレクトリ
  • /themes ディレクトリ
  • /updates ディレクトリー(*バージョン5.4.0以降)

です。また/concrete/libraries/3rdparty/htmldiff.py

のファイルを実行可能「705」にされると、編集差分履歴のチェックが出来るようになります。

5. 「.htaccess」と「php.ini」ファイルの設置

XREA及びcoreserverでは、phpがセーフモード有効になっているなどの制限があるので、そのままインストールしようとすると多数のエラーが発生します。

それを回避するため、「.htaccess」と「php.ini」の二つのファイルを作成し、concrete5をインストールしたディレクトリ直下に設置します。

まず、「.htaccess」には、


AddHandler application/x-httpd-phpcgi .php
 mod_gzip_on Off

の2行を記述します。

また、「php.ini」には、


cgi.fix_pathinfo = 0
session.use_cookies = On
session.use_trans_sid = Off
session.save_path = /virtual/<strong>[ご自分のID名]</strong>/tmp/
default_charset = UTF-8
mbstring.language = neutral
mbstring.internal_encoding = UTF-8

の7行を記述します。(尚、「ご自分のID」がわからない方は、以下の画像にあるように、サーバ管理画面左サイドバーの「管理メニュー」右に書いてあります。)

そして、インストールディレクトリにアップロードします。

(注:coreserver・XREA上で、concrete5の下位ディレクトリに他CMS・SNSなどのPHPプログラムを設置する場合、concrete5用の.htaccessの影響でそれらの動作が不安定になる可能性があります。そこで、coreserver・XREA上でconcrete5を運用する際には、public_html/直下ではなく、public_html/配下の下位ディレクトリに単体でインストールすることをお勧めします。
もしconcrete5配下のディレクトリに別のPHPプログラムを設置する場合は、 ”AddHandler application/x-httpd-php php” を記述した.htaccessをそのディレクトリに設置すると、CGIモードを解除出来ます。)

(注2:前述したように.htaccessを設置してCGIモードにしてもなお、下記の5つのディレクトリの所有者がapacheとなってしまい、正常にインストールできないケースをご報告いただいております。

files/onstates
files/cache
files/trash
files/avatars
files/thumbnails

その解決策としては、予め上記の5ディレクトリをFTPもしくはSSHにて作成し、書き込み権限を与えておくことで正常にインストールがなされます。)

6. /tmp ディレクトリーを作成

前述のphp.iniで、ログイン情報等を保存するディレクトリーを「tmp」内で行う指定をしたので、ファイルマネージャーやFTP、SSHソフト等で、「public_html」と同じ階層(/virtual/[ご自分のID]/)に「tmp」ディレクトリーを作成し、書き込み可能(「705」等 )にしてください。

7. インストール情報の入力

1~5までの準備が整ったら、concrete5をインストールするサイトアドレスにアクセスします。

すると、以下のような画面が表示されますので、必要な情報を入力していきます。(もし「サーバの必須機能を確認」に赤いチェックが入っていたら、「?」マークのヒントを手掛かりに、その項目の問題を先に解決してください。)

MySQLデータベース情報は、、

  • 「サーバアドレス」に「localhost」と入力。
  • 「MySQLユーザー名」および「データベース名」の両方に、作成したデータベース名を入力。(例では「test_c5」。)
  • 「MySQLパスワード」には、データベース作成時のパスワードを入力。

のように設定します。

これらを入力し終わったら、「concrete5をインストール」のボタンをクリックしてください。

すると、以下のような画面が出て、インストール完了です!

お疲れさまでした!

8. 補足(パスワードの変更)

管理画面にログインするには、パスワードが必要ですが、最初に自動的に割り振られたパスワードを、自分の好きなものに変えることができます。

「管理画面」の「ユーザー・グループ管理」から「ユーザーID」で「Admin」を選択し、新しいパスワードを入力して完了です。

9. 記事ブロックの不具合解決方法

5.3.3.1 より、XREA/CORESERVERのみで、以下のエラーが発生するようになりました。

  • 記事ブロック使用時、ファイルを読み込んでいる事を示す画像が表示される
  • そのローディング画像が消えずにのこり続ける
  • 記事ブロックの編集が正常に出来ない

対処方法は

  • /concrete/blocks/content/ フォルダーに
  • テキストエディタで、「auto.js」という空のテキストファイルを作成
  • サーバーにアップロード

これで、解決するはずです。

情報源:http://concrete5-japan.org/help/new_help_pages/coreserver/