Hatena::ブログ(Diary)

toytools log : kaw このページをアンテナに追加 RSSフィード

2008-11-07 CMS「concrete5」を試してみた

[][][]怖くなるくらい優秀なCMSらしい「concrete5」を試してみた。日本語つかえたよ。 怖くなるくらい優秀なCMSらしい「concrete5」を試してみた。日本語つかえたよ。を含むブックマーク 怖くなるくらい優秀なCMSらしい「concrete5」を試してみた。日本語つかえたよ。のブックマークコメント


     f:id:toytools:20081108020146p:image



moongift.jp 必見!怖くなるくらい優秀なCMS「concrete5」

らしいです。


フムフム。


なにやらよさそうなので試してみました。

日本語化ける!とかブクマされてたので日本語化対応だけついでにやろうかな〜とか思ったのだけど特に化けることは無かったです。うーむ


PHPMySQLは両方内部エンコードUTF-8で。

ダウンロードして配置する

http://www.concrete5.org/

ここからダウンロードして解答し、適当なWEBサーバー上におきます

※特にDocumentRoot直下の必要ありません


MySQLの設定をチェックする

my.ini(my.conf)に

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

の記述がある場合にはコメントアウトしておく

STRICT_TRANS_TABLESの制約に違反したSQLが吐かれるのでこれをコメントアウトしておかないとインストールできません。

※ほんとはソースの方なおしたほうがよいのだろうけどとりあえず


DB作る

MySQLログインしてDBつくります

※下の例はtestconcreteってDB名にしてます。

※一応DEFAULT CHARACTER SET utf8;を忘れずに。

CREATE DATABASE testconcrete DEFAULT CHARACTER SET utf8;

アクセスしてインストールを完了させる

配置したディレクトリアクセスしてみます

f:id:toytools:20081108020142p:image

こんな感じの画面が表示されるので

項目を全部埋めてインストールを完了させます


インストール完了

f:id:toytools:20081108020144p:image

こんな感じのページが出ます


日本語テスト

新しいページの作成、ページタイトルの日本語テスト、内容の日本語テストなどひととおりざっくり試しましたが特に文字化けとかしませんでした

f:id:toytools:20081108020143p:image

↑こんな感じ


感想

たしかに。すごい。

イメージ的にはWEB上で作ってけるDreamWeaverとかそんなイメージ。

なので多少WEBのこと知らないと触りにくいのかも。


定型更新でない、自由にページを増やして行きたいようなサイトだったら相当いいのではないでしょうか。


操作感は相当よさげです。

用途に合わせてWordPress(とかMT)やWiki系などと使い分けていくのがベストな感じだとおもいます。

kirimkirim 2008/11/09 10:45 これは詳しい解説ですね。とても助かります。

DolphinDolphin 2008/11/11 06:13 解説わかりやすくて大変助かります。
サーチ機能は問題なく動作しておりますでしょうか?
私の環境では以下のエラーが出て、検索が動作しません。はまっています。
Unable to complete search: Utf8Num analyzer needs PCRE unicode support to be enabled.
もし解決策をご存知でしたら教えて下さい。

h_kanaeh_kanae 2008/11/11 09:12 私の環境でも、こんなエラーが出てしまいました。
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.

toytoolstoytools 2008/11/11 11:05 >Dolphinさん
サーチは未チェックでした
帰ったら見てみます
サーチは非マルチバイトでかかれたものだと、マルチバイトで結構ネックになったりするので怪しいですね・・・

>h_kanaeさん
site.phpは動的に生成されるファイルです。
config以下に生成されます。
インストールに失敗すると、空のsite.phpが生成されたりするので、再インストールには削除してあげる必要があります

とおもってたんですがメッセージ見ると、インストール画面でしょうか?
site.phpがない(未インストール)だからフォームを埋めてインストールしてねって言ってます。

linuxとかにインストールする場合にはconfig以下に書き込み権限与えてください^^

DolphinDolphin 2008/11/11 17:09 toytoolsさんコメントありがとうございます。私はCentOS5.2上で試しております。
エラーについて調べたり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
まだマルチランゲージをまだサポートしてないのかもしれませんね。

toytoolstoytools 2008/11/11 23:33 >Dolphinさん
とくにエラーはでませんでした
ただ、日本語送信すると文字化けするので対応が必要かとおもうのと、インデクシングの処理が悪いのかうまく検索できない印象です
※ヒットしすぎたりヒットしなかったりする

なので検索部分を別のライブラリにしたり別ページに構築したりする必要があるかもしれません

concrete5は基本的に文字コードがiso-8859-1で構築されているのでメタとかをUTF-8に変えてけば文字化けはなおるとは思いますが

赤毛の熊赤毛の熊 2008/11/18 13:41 >Dolphinさん
 このエラーは、PHPが使っているPCREのビルドに原因があるようです。多く使われている(と思う)RH系のPCREは、UTF8は有効にしていますが、unicode propertiesは有効になっていません。
 PCREの仕様書をみると、これは、unicodeを判別させるためなどに使う、pattern escapes \P,\pや、\Xを使うために必要なようです。
 根本的な対応策は、RPMの再構築でなんとかなりますが、使用環境によってはそれができないところですと、完全なサポートは難しいかもしれません。
予断ですが、ubuntuの 8系のPCREは、標準でUnicode propertiesが有効とされているのでそちらの環境だと問題なく動作しています。
 調査方法としては、shellにログオン出来るようでしたら、
%pcretest -C
 とすると、PCREの構成を見ることが出来ます。

endeavorendeavor 2008/11/24 18:25 インストールしてみようと思ったのだが・・・。
私が使用しているレンタルサーバのPHPのバージョンは4らしい。
PHP5以上でなければ動作しないようですね。

赤毛の熊赤毛の熊 2008/11/24 21:14  引き続いて漢字に対するsearchの挙動が変なのを何とかならないかとソースを開いてみたら…検索のところって、Zend Search Luceneなんですね。UTF-8を認識させるのに結構はまってます。
 config/base.phpのLOCALEをen_US.UTF-8にした後、メンテナンスでインデックス再作成?したchache/file/lucene.pagesを、インデックス検索のサンプルプログラムからqueryを*で引いてみたのですが、CentOS5.2は、追加できてもSearchが機能せず、Ubuntu8系は、漢字以降が切り捨てられていたりなど、ディストリビューションによっての挙動が不振なような…。
 これは、フレームワークの問題でしょうか〜?

赤毛の熊赤毛の熊 2008/11/25 11:16  自己フォローで失礼します。
 挙動不審(×不振)と思えていた部分は、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はなんとか動作したのですが、でも、まだ戻りの表示は化けますね…。あと、もともが、日本語に配慮が無いので、検索時に
  *漢字*
 の様にワイルドカードを明示的に指定しないと上手くマッチできないようです。クエリーの作成に少し手を加えないといけないようですね。
 今後の改良に期待したいです。

赤毛の熊赤毛の熊 2008/11/25 11:44 検索の表示の戻りが化けるのは、
   concrete/blocks/search/controller.php
のdo_search()にある、戻りをセットする場所での、htmlentitiesの使い方にある様です。
   $this->set('query', htmlentities($q));
とある部分を、
   $this->set('query', htmlentities($q,ENT_QUOTES,'UTF-8'));
としたほうがいい感じですね。でもこれも入力は、UTF-8だと言い切れる場合に限りますが…。こんなところで如何でしょうか〜。

toytoolstoytools 2008/11/26 14:24 赤毛の熊さん
おつかれさまです。色々な情報ありがとうございます!

Zend_Frameworkは一部の日本語対応あまり進んでないので仕方ないかもですね・・・

とくにサーチはマルチバイトが鬼門なので、そのまま使うならインデクサをさしかえないと難しそう +_+

macboymacboy 2009/04/25 01:39 日本語文字化け情報参考になりました。concrete5本家のレンタルサーバーで始めたのですが、文字化けでひどいです。説明にあった「PHPとMySQLは両方内部エンコードをUTF-8で」の箇所ですが、私のような素人でも変更できますか。もし時間があればお知らせ下さい。助かります!

toytoolstoytools 2009/05/06 13:02 >macboyさん
できるとおもいますよ。
ただ、(特に海外の)レンタルサーバーだとmysqlがUTF-8に対応していないこともあるので、その場合にはどうしようもありません。
UTF-8関連の設定の資料はネットであされば色々とでてくると思います。
phpに関しては.htaccessに対応していればphpの設定を強制的に上書きできるのでそれで試してください。

y150y150 2009/05/21 17:27 ■concrete5「検索」できない
【現象】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
以上

smokasmoka 2009/06/03 23:23 インストールは出来たのですが、写真が表示されません。
インストールに失敗したかと思い再度インストールしましたが
それでもダメ。

何が考えられますでしょうか?

Tatsuya(PHP好き)Tatsuya(PHP好き) 2010/06/23 00:37 詳しい解説とても参考になりました!