« 車・車・車・・・ | Main | wdCalendarのデータ抽出に関して »

2011.05.07

wdCalendarをCentOS5.5にインストールしてみた

Webベースで使えるカレンダーアプリを物色中・・・。
主な要件としては・・・

1.インストールが簡単
2.複数日に渡る予定を登録可能
3.操作が簡単
4.見た時に全体としてのスケジュールを目視しやすい

って感じでしょうか。「人別」でカレンダーを表示できる必要はなく(チーム全体としてのスケジュールが欲しい)、GoogleCalendarのような感じのものがいいなぁ、と(笑)。

で、探してみると、wdCalendar – jQuery Based Google Calendar Clone がいい感じ(phpで動作)。できればDBも不要な者が欲しいところですが、まぁ、これは許容範囲か・・・。

wdCalendarそのものはライブラリで、これを組み込んだアプリの開発を行うこともできますが、アーカイブに含まれているsample.phpでも充分使えそうな感じですね。セットアップの資料がほとんど見つからなかったので、とりあえず、CentOS5.5にインストールした時のメモを。

php(5.1.6)とMySQL(5.0.77)をyumでインストール。なお、wdCalendarは元々php5.2以降を前提としているようで、5.1.6で使用した場合、

PHP Fatal error: Call to undefined function json_encode()

のエラーを吐いて動作しないので注意が必要。php5.1でjsonライブラリを使用する場合、pecl経由でインストール可能とのことなので、php-develおよびphp-pearパッケージもインストール(参考:【PHP】json_decode, json_encodeを使えるようにjsonをインストール)。

# yum install php mysql mysql-server php-mysql php-devel php-pear
# pecl install json
# touch /etc/php.d/json.ini

json.iniの内容は以下の1行のみ。

extension=json.so

データベースの初期設定(rootのパスワード変更等もあわせて実施)。なお、下線の部分は任意の文字列を使用可能です。

# /etc/init.d/mysqld start
# /usr/bin/mysqladmin -u root password '.....'
# mysql -u root -p
Enter password:
mysql> create database wdcalendar;
mysql> grant usage on *.* to wdcalendar@localhost identified by 'wdcalendarPassword';
mysql> grant all privileges on wdcalendar.* to wdcalendar@localhost;
mysql> (ctrl+d)

wdCalendarのモジュールをダウンロードし、解凍&データベース準備。下線部分は各環境に応じて。

# wget http://www.web-delicious.com/jquery-plugins-demo/wdCalendar.zip
# unzip wdCalendar.zip
# cd /var/www/html
# mv ~/wdCalendar ./calendar
# cd calendar
# mysql -u wdcalendar -p wdcalendar
Enter password:
mysql> \. setup.sql

php/dbconfig.php の内容を以下のように編集(下線部分は(以下略))。

<?php
class DBConnection{
        function getConnection(){
                mysql_connect("localhost","wdcalendar","wdcalendarPassword") or
         die("Could not connect: " . mysql_error());
                mysql_select_db("wdcalendar") or
                     die("Could not select database: " . mysql_error());
        }
}
?>

ファイルのリネーム(および不要なファイルの削除)、ファイルの所有者の変更。

# rm setup.sql
# rm edit.php
# mv edit.db.php edit.php
# rm php/datafeed.php
# mv php/datafeed.db.php php/datafeed.php
# cd ..
# chmod -R apache:apache calendar

CentOS5.x のパッケージでインストールしたphpの場合、

Call to undefined function date_parse() in /var/www/html/calendar/php/functions.php on line 24

というエラーも発生してしまうので、[PHP-users 33070] Re: PHP Fatal error: Call to undefined function date_parse()を参考に、php/functions.php を編集。

function mySql2PhpTime($sqlDate){
    //$arr = date_parse($sqlDate);
    $arr = getdate(strtotime($sqlDate));
    //return mktime($arr["hour"],$arr["minute"],$arr["second"],$arr["month"],$arr["day"],$arr["year"]);
    return mktime($arr["hours"],$arr["minutes"],$arr["seconds"],$arr["mon"],$arr["mday"],$arr["year"]);
}

Apacheを再起動し、http://(hostname)/calendar/sample.php でアクセスすると、とりあえずカレンダーが表示されるかと。

|

« 車・車・車・・・ | Main | wdCalendarのデータ抽出に関して »

Linux」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/51608782

Listed below are links to weblogs that reference wdCalendarをCentOS5.5にインストールしてみた:

« 車・車・車・・・ | Main | wdCalendarのデータ抽出に関して »