2008-11-07 CMS「concrete5」を試してみた
■[PHP][MySQL][ソフト]怖くなるくらい優秀なCMSらしい「concrete5」を試してみた。日本語つかえたよ。

moongift.jp 必見!怖くなるくらい優秀なCMS「concrete5」
らしいです。
フムフム。
なにやらよさそうなので試してみました。
日本語化ける!とかブクマされてたので日本語化対応だけついでにやろうかな〜とか思ったのだけど特に化けることは無かったです。うーむ
ダウンロードして配置する
ここからダウンロードして解答し、適当なWEBサーバー上におきます
※特にDocumentRoot直下の必要ありません
MySQLの設定をチェックする
my.ini(my.conf)に
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
の記述がある場合にはコメントアウトしておく
STRICT_TRANS_TABLESの制約に違反したSQLが吐かれるのでこれをコメントアウトしておかないとインストールできません。
※ほんとはソースの方なおしたほうがよいのだろうけどとりあえず
DB作る
※下の例はtestconcreteってDB名にしてます。
※一応DEFAULT CHARACTER SET utf8;を忘れずに。
CREATE DATABASE testconcrete DEFAULT CHARACTER SET utf8;
アクセスしてインストールを完了させる
こんな感じの画面が表示されるので
項目を全部埋めてインストールを完了させます
インストール完了
こんな感じのページが出ます
日本語テスト
新しいページの作成、ページタイトルの日本語テスト、内容の日本語テストなどひととおりざっくり試しましたが特に文字化けとかしませんでした
↑こんな感じ
感想
たしかに。すごい。
イメージ的にはWEB上で作ってけるDreamWeaverとかそんなイメージ。
なので多少WEBのこと知らないと触りにくいのかも。
定型更新でない、自由にページを増やして行きたいようなサイトだったら相当いいのではないでしょうか。
操作感は相当よさげです。
トラックバック - http://d.hatena.ne.jp/toytools/20081107
- WEB開発日記 - CMS「concrete5」を試してみた - toytools log
- CMS縲慶oncrete5縲阪′縺吶#縺?繧峨@縺
- ひとぅスクラップ - CMS「concrete5」を試してみた - toytools log
- WEB開発日記 - CMS「concrete5」を試してみた - toytools log
- 話題のCMS Concrete5をインストールする際の3つの注意点
- 11月10日 今日のWEB担当者向けニュース拾い読み
- concrete舗装開始
- 有名ビジネスソフトの無料クローンをいろいろ紹介
- 飽きたら消すよ。 - concrete5日本語化メモ
- 縺吶#縺ГMS縲擦oncrete縲
- vinylismの日記 - Concrete5 メモ
- ほげにっき - 話題のCMS、concrete5をインストールする
- 三日坊主 日記 - concrete5をインストールしてみました
- 備忘録)concrete5日本語化について
- concrete5で日本語検索。




サーチ機能は問題なく動作しておりますでしょうか?
私の環境では以下のエラーが出て、検索が動作しません。はまっています。
Unable to complete search: Utf8Num analyzer needs PCRE unicode support to be enabled.
もし解決策をご存知でしたら教えて下さい。
site.phpはどこにあるんでしょうか?
やりたいのにもどかしいです。
* Unable to connect to a database using those credentials.
Install Concrete
Concrete could not locate site.php, within the config directory. To install Concrete, please fill out the form below.
サーチは未チェックでした
帰ったら見てみます
サーチは非マルチバイトでかかれたものだと、マルチバイトで結構ネックになったりするので怪しいですね・・・
>h_kanaeさん
site.phpは動的に生成されるファイルです。
config以下に生成されます。
インストールに失敗すると、空のsite.phpが生成されたりするので、再インストールには削除してあげる必要があります
とおもってたんですがメッセージ見ると、インストール画面でしょうか?
site.phpがない(未インストール)だからフォームを埋めてインストールしてねって言ってます。
linuxとかにインストールする場合にはconfig以下に書き込み権限与えてください^^
エラーについて調べたりPCREをコンパイルし直したりしてみましたが解決策が見つかりませんでした。
http://lists.centos.org/pipermail/centos/2008-July/060100.html
https://bugzilla.redhat.com/show_bug.cgi?id=457064
http://sourceforge.net/forum/forum.php?thread_id=2414294&forum_id=814373
まだマルチランゲージをまだサポートしてないのかもしれませんね。
とくにエラーはでませんでした
ただ、日本語送信すると文字化けするので対応が必要かとおもうのと、インデクシングの処理が悪いのかうまく検索できない印象です
※ヒットしすぎたりヒットしなかったりする
なので検索部分を別のライブラリにしたり別ページに構築したりする必要があるかもしれません
concrete5は基本的に文字コードがiso-8859-1で構築されているのでメタとかをUTF-8に変えてけば文字化けはなおるとは思いますが
このエラーは、PHPが使っているPCREのビルドに原因があるようです。多く使われている(と思う)RH系のPCREは、UTF8は有効にしていますが、unicode propertiesは有効になっていません。
PCREの仕様書をみると、これは、unicodeを判別させるためなどに使う、pattern escapes \P,\pや、\Xを使うために必要なようです。
根本的な対応策は、RPMの再構築でなんとかなりますが、使用環境によってはそれができないところですと、完全なサポートは難しいかもしれません。
予断ですが、ubuntuの 8系のPCREは、標準でUnicode propertiesが有効とされているのでそちらの環境だと問題なく動作しています。
調査方法としては、shellにログオン出来るようでしたら、
%pcretest -C
とすると、PCREの構成を見ることが出来ます。
私が使用しているレンタルサーバのPHPのバージョンは4らしい。
PHP5以上でなければ動作しないようですね。
config/base.phpのLOCALEをen_US.UTF-8にした後、メンテナンスでインデックス再作成?したchache/file/lucene.pagesを、インデックス検索のサンプルプログラムからqueryを*で引いてみたのですが、CentOS5.2は、追加できてもSearchが機能せず、Ubuntu8系は、漢字以降が切り捨てられていたりなど、ディストリビューションによっての挙動が不振なような…。
これは、フレームワークの問題でしょうか〜?
挙動不審(×不振)と思えていた部分は、concrete/libraries/indexed_search.phpの、IndexedSearchクラスにある、utf8_enodeの使い方にあるようです。
$query = utf8_encode($query);
とあり、PHPのバージョン?によっては、文字列を正しく返してないようです。
少なくともPHPマニュアル上では、stringとあるので、ここはやはり、
$query = utf8_encode($query->__toString());
とするのがいいのではないかと思います。でもこのままだと、ISO-8859-1以外の漢字とか化けちゃう様なので、絶対入力は UTF-8って言い切れるなら多少強引ですが、
$query = $query->__toString();
とするのも良いかと…。
CentOS5.2はなんとか動作したのですが、でも、まだ戻りの表示は化けますね…。あと、もともが、日本語に配慮が無いので、検索時に
*漢字*
の様にワイルドカードを明示的に指定しないと上手くマッチできないようです。クエリーの作成に少し手を加えないといけないようですね。
今後の改良に期待したいです。
concrete/blocks/search/controller.php
のdo_search()にある、戻りをセットする場所での、htmlentitiesの使い方にある様です。
$this->set('query', htmlentities($q));
とある部分を、
$this->set('query', htmlentities($q,ENT_QUOTES,'UTF-8'));
としたほうがいい感じですね。でもこれも入力は、UTF-8だと言い切れる場合に限りますが…。こんなところで如何でしょうか〜。
おつかれさまです。色々な情報ありがとうございます!
Zend_Frameworkは一部の日本語対応あまり進んでないので仕方ないかもですね・・・
とくにサーチはマルチバイトが鬼門なので、そのまま使うならインデクサをさしかえないと難しそう +_+
できるとおもいますよ。
ただ、(特に海外の)レンタルサーバーだとmysqlがUTF-8に対応していないこともあるので、その場合にはどうしようもありません。
UTF-8関連の設定の資料はネットであされば色々とでてくると思います。
phpに関しては.htaccessに対応していればphpの設定を強制的に上書きできるのでそれで試してください。
【現象】Concrete5にインストールされているブロック
「検索」を使用して検索が出来ない。
「文字化けする」
■
【質問内容】phpinfo()で確認してiconvが
(これは動いているLinuxの内容をみた)
Directive Local Value Master Value
○iconv.input_encoding UTF-8 ISO-8859-1
○iconv.internal_encoding UTF-8 ISO-8859-1
○iconv.output_encoding UTF-8 ISO-8859-1
○mbstring.internal_encoding UTF-8 no value
○default_charset = UTF-8 no value
○mbstring.language = neutral neutral
○mbstring.internal_encoding = UTF-8 no value
になるように設定すればできるような回答を当局から
得てphp.ini他設定を変えてみましたが、
phpinfo()で上記のような結果を得ることがでず困惑
しております。申し訳ありませんが、
ご教示いただきたくよろしくお願いいたします。
■参考
(これは当方のwindows内容)
× 【iconv.input_encoding ISO-8859-1 ISO-8859-1 】
× 【iconv.internal_encoding ISO-8859-1 ISO-8859-1 】
× 【iconv.output_encoding ISO-8859-1 ISO-8859-1 】
× 【default_charset UTF-8 UTF-8】
○ 【mbstring.language neutral neutral】
× 【mbstring.internal_encoding UTF-8 UTF-8】
●concrete5「インストール」・「設定」に関しましてha
・http://concrete5-japan.org/about/requirement
・必須:サーバー環境のついてを参照いたしました。
◎【当方のconcrete5.3.1.1ja構築環境に設定した内容】
■OS:WindowsXP Home Edition version 2002 Service Pack 3
■PC:Intel(R) Premium(r)4 CPU 2.6GHz
■XAMPP 1.7.1
・Apache HTTPD 2.2.11 + Openssl 0.9.8i
・MySQL 5.1.33
・PHP 5.2.9
・phpMyAdmin 3.1.3.1
・XAMPP CLI Bundle 1.3
・FileZilla FTP Server 0.9.31
・Mercury Mail Transport System 4.62
■concrete5.3.1.1 日本語 最新安定板
・concrete5.3.1.1.ja.zip (ZIP形式 7.3MB)
■Python 2.2.3 (#42, May 30 2003, 18:12:08)
[MSC 32 bit (Intel)] on win32
◎【HP確認内容】
・http://concrete5-japan.org/about/requirement
・必須:サーバー環境のついてを参照して確認
●Apache
○mod_rewrite
・C:/xampp/apache/conf/httpd.conf
このファイルの中の...
●次のコメントを外す
・118行 LoadModule rewrite_module modules/mod_rewrite.so
●次の部分を変更する
・190行
<Directory />
Options FollowSymLinks
AllowOverride None # 【を変更する -> 】:AllowOverride All
Order deny,allow
Deny from all
</Directory>
●MySQL 4.1以上
○インストールには空のデータベースが必要です(Prefixはまだ対応しておりません)
○バージョン4.0では動作しません
○接続照合順序(Collation)が“utf8_genetal_ci”【確認済み】
●PHP5以上
phpAdmin : phpinfo() で以下設定を【確認済み】
○Gettext 【GetText Support enabled】
○GDライブラリー 【GD Support enabled bundled (2.0.34 compatible) 】
○SimpleXML 【Simplexml support enabled】
○php.ini設定:
■Loaded Configuration File 【C:\xampp\apache\bin\php.ini】
phpAdmin : phpinfo() で以下設定を【確認済み】
■default_charset = UTF-8 no value ×【default_charset UTF-8 UTF-8】
■mbstring.language = neutral neutral ○【mbstring.language neutral neutral】
■mbstring.internal_encoding = UTF-8 no value ×【mbstring.internal_encoding UTF-8 UTF-8】
●サーバーが以下のディレストリに書き込みを許可されていること
○"config" -> rw に設定
○"files" -> rw に設定
○"themes" -> rw に設定
○"packages" -> rw に設定
■推奨環境
○Python 2.2
編集した履歴の差分の確認が出来るようになります
○検索機能を使用するために phpAdmin : phpinfo() で以下設定を【確認済み】
PHPのiconvエクステンション 【iconv support enabled】
PCREサポート 【PCRE (Perl Compatible Regular Expressions) Support enabled】
○MySQL version 5以上
○eAcceralator:PHPアクセラレータ APC
◆Windowsの場合は最初からphp_apc.dllが同梱されているので、ただphp.iniを編集するだけです。
・C:/xampp/php/php.ini
;extension=php_apc.dll -> 【extension=php_apc.dll】
・C:/xampp/apche/php.ini
;extension=php_apc.dll -> 【extension=php_apc.dll】
○確認;APC Support enabled
・C:/xampp/php/ext/php_apc.dll -> C:/xampp/apache/bin/php_apc.dll
■ブラウザー環境;【InternetExplore 7 使用】
concrete5を編集するためには、お使いのブラウザーが
以下の条件を満たしている必要があります。
●IFRAME対応ブラウザ
●Javascript対応ブラウザ
■対応確認済みブラウザ
●インターネットエススプローラ(IE7以降推奨)
○IE6は管理・編集ができません
○閲覧はできますが、編集が出来ません
●Firefox
●Safari
以上
インストールに失敗したかと思い再度インストールしましたが
それでもダメ。
何が考えられますでしょうか?