ほげにっき

hogedigoの日記

話題のCMS、concrete5をインストールする

メモメモφ(..)

Linuxconcrete5をインストールする。


PHPド素人が自分の備忘録として書くので、かなり回りくどい内容になるけど悪しからず。。


WEBサーバはapacheを使用。


まずsystem requirements(必要なモノ)をチェック。これが見つけにくい。本家サイトのヘルプの中にあった。
System Requirements for concrete5
↓無責任訳

必要なモノ
  • PHP5.1.x
    • GD(通常は含まれている)
    • MySQL extentions to PHP(mysql_connect,etc)(通常は含まれている)
    • SimpleXML(通常は含まれている)
    • Luceneを利用したインデックスサーチ(option機能)を利用する場合は、mbstring extensionとiconvが必要。
  • Python2.2(HTMLDiffを利用したバージョン間ページ比較機能を利用する場合のみ必要)
  • MySQL4.1かそれ以上。
  • concrete5を英語以外の言語で使用する場合はgettext extensionが必要。
インストールされてたら嬉しいモノ
  • eAccelerator(PHPを早くするエンジン?)
  • MySQL5

さて、いっこずつ調べていくか。

まずmysqlを調べよう。バージョンは・・

mysql --version

4.1.20だった。うーん。一応OKだけど、やっぱりここはせっかくだから5にアップグレードしておくかな。
↓からCommunity Editionをダウンロード
MySQL :: Download MySQL Community Server
redhat4用のserver, client, Shared compatibility librariesのrpmをインストール。

rpm -ivh MySQL-server-community-5.0.67-0.rhel4.i386.rpm
rpm -ivh MySQL-client-community-5.0.67-0.rhel4.i386.rpm
rpm -ivh MySQL-shared-compat-5.0.67-0.rhel4.i386.rpm
rpm -ivh MySQL-devel-community-5.0.67-0.rhel4.i386.rpm

develも後で必要になりそうなので入れておく。


次にPHPのバージョンを調べる。↓のコードだけ書いたphpファイルをサーバ上に置いて、アクセス。

<?php
phpinfo();
?>

5.2.0が入ってた(^_^)


次にGD。↓コマンドでphpモジュールにGDが入っているか調べる。

php -m

うが!入ってないよ。しかも、こちらを参考にすると、どうもPHPよりも先にインストールしなければならないらしい。うげー。PHPも入れ直しか・・


てなわけで、GDからインストール。ライブラリは何が必要なのかわからないが、とりあえずこちらと同じlibjpg,libpng,freetypeを入れる。
まず、libjpg。
http://www.ijg.org/

wget http://www.ijg.org/files/jpegsrc.v6b.tar.gz
tar xzvf jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure --enable-shared
make
make install

次にlibpng。http://www.libpng.org/

wget http://prdownloads.sourceforge.net/libpng/libpng-1.2.34.tar.gz?download
tar xzvf libpng-1.2.34.tar.gz
cd libpng-1.2.34
ln -s scripts/makefile.linux Makefile
make
make test
make install

freetypehttp://freetype.sourceforge.net/index2.html
参考にしたサイトはfreetype,freetype2両方入れているみたいだが、freetypeが見つからなかったのでとりあえずfreetype2だけ入れることにする。あとでおかしなことになったらやり直そ。

wget http://ftp.twaren.net/Unix/NonGNU/freetype/freetype-2.1.10.tar.gz
cd freetype-2.1.10
GNUMAKE=gmake ./configure
gmake
gmake install

ようやくGD。http://www.libgd.org/Main_Page

wget http://www.libgd.org/releases/gd-2.0.35.tar.gz
tar xzvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure
make
make install

そしてPHP。折角なので最新を入れ直す。

wget http://jp2.php.net/get/php-5.2.8.tar.gz/from/jp.php.net/mirror
tar xzvf php-5.2.6.tar.gz
./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable-mbstring --with-gettext --with-mysql --with-zlib --with-gd --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib --with-freetype-dir=/usr/local/lib --enable-spl
make
make test
make install

make testでいくつかコケタが、解決策もわからんかったので、とりあえず続行した。これでphpのインストール完了。phpinfo()の画面を見ると、とりあえずrequirementsは全て揃っている様に見える。


これでようやくconcrete5インストールの準備が整った・・のかな。では、以下を参考にインストール。
Basic Setup :: Legacy Documentation
まずデータベースを作成(とりあえずc5testという名前に)。同じくユーザ作成(これもc5test)。

CREATE DATABASE c5test DEFAULT CHARACTER SET utf8;
GRANT insert,select,update,index,delete,create,drop,alter ON c5test.* TO c5test@localhost IDENTIFIED BY '******';


ついに、concrete5をインストール!これは解凍してwebサーバのディレクトリにおくだけ(今回はc5testというディレクトリに配置)。filesとconfigは書き込み権限を与える必要があるとのこと。

chmod -R u+w /usr/local/apache2/htdocs/c5test/files
chmod -R u+w /usr/local/apache2/htdocs/c5test/config


そしてそのURLにアクセス!
Install Concrete画面が表示されます。こんなの↓

左に見えるブロックにインストールが成功しているか表示される。失敗している項目は「?」マークをクリックすると原因or修正方法も見られるので、それに従って修正する。親切なシステムだな〜。


まずSupport for C5 Request URLsという項目に以下のエラー

Concrete cannot parse the PATH_INFO or ORIG_PATH_INFO information provided by your server.

解決法みっけた。
PATH_INFO or ORIG_PATH_INFO - concrete5
c5test/.htaccessを作って以下の1行を追加

AcceptPathInfo On

ついでにWEBでみつけた以下の設定も追加しとく。

AddHandler application/x-httpd-phpcgi .php
php_flag session.use_trans_sid off
php_flag session.use_cookies on

ちょっとタイムラグがあったけど、エラー消えた(^_^)


あとOptionalだがVersion Comparison Available項目にもエラーが出ていたので、言われるままに以下ファイルのパーミッションを設定。

chmod 755 /usr/local/apache2/htdocs/c5test/concrete/libraries/3rdparty/htmldiff.py

エラー消えた(^_^)


これでTest項目はすべて通ったのだが、画面上部に↓の警告が出ている。

Warning: session_start() [function.session-start]: open(/tmp/php/sess_db〜略〜, O_RDWR) failed: No such file or directory (2) in /usr/local/apache2/htdocs/c5test/concrete/startup/session.php on line 18

よくみたら画面下の方にもメッセージがあって、session.save_path(/tmp/php)が正しいか確認しろ、とかかれてたので/tmp/phpをmkdirしたらwarningが消えた(^_^)

追記:/tmp/phpは自動的に消されてしまうらしく後日またwarningが・・。結局php.iniにsession.save.pathを指定しますた


やたー!これでようやくエラー&警告らしきものがすべてなくなった!
画面右側の必要項目を設定して・・・「install concrete」ボタンをクリック!
Congratulations!の文字が!!やったー。インストール成功しますた!

長かった・・・。なんかC5よりも事前準備の方が手間取ってしまった。。concrete5自体のインストールはとっても親切で簡単だったな。


とりあえず今日はadminのパスワードだけ変更して、いろいろ試すのは明日の楽しみにするよq(^_^)p


追記:日本語の入力が出来なかった。。php.iniのEUCになっている設定を手当たり次第にutf-8にする。これが正しいのか分からんが、とりあえず日本語使えるようになった^^;

default_charset = "utf-8"
mbstring.internal_encoding = utf-8
mbstring.http_output = utf-8