« 車・車・車・・・ | 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


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

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