最新 追記
人生はユーモアの調味料

カテゴリ別:CD | Handicapped | spam | ネタ | ビール | ライブ | 映画 | 技術 | 雑記 | 写真 | 社会派 | 調査メモ | 読書メモ | 日本酒 | 入院 | 買い物

1970|01|
2003|11|12|
2004|01|02|03|04|07|09|10|11|12|
2005|01|02|03|04|05|07|08|09|10|12|
2006|01|02|03|04|06|07|08|12|
2007|01|02|03|04|05|06|08|09|10|11|
2008|01|02|03|04|05|06|09|10|11|
2009|01|02|04|05|06|07|08|10|12|
2010|01|02|03|
2013|01|

RSS配布


2009-10-29

_ [技術]FreeBSDでFunambolを使う

 FunambolってのはSyncMLベースでスケジュールなどPIMデータをネットワーク経由で同期させるシステムを開発している会社。でもって開発したアプリ類はオープンソースで公開していて利用できる。サーバアプリは現在LinuxとWindows用のものが公開されているが、その中身はJAVA Serveletなので他のプラットフォームでも使えるはず。と言うことで今回はFreeBSDで動かしてみたのでその記録をここに残す。

 ついでにバックエンドとしてmysqlも使えるようなので(デフォルトはバンドルのオリジナル?RDB)、その辺の変更も一緒に加えている。その関連手順は一応[mysql]と付記しておくが注意。

環境

FreeBSD 7.2-RELEASE

事前準備

 以下のアプリ(と依存するアプリ)をportsからインストールする。diabloはライセンスの都合上、一部ファイルは手動でダウンロードしなければならないので注意。

  • diablo-jdk-1.6.0.07.02_6 (java/diablo-jdk16)
  • tomcat-6.0.20_1 (www/tomcat6)
  • apache-ant-1.7.1 (devel/apache-ant)
  • mysql-connector-java-5.1.8 (databases/mysql-connector-java)
  • bsh-2.0.b4_6 (lang/bsh)
  • rhino-1.7.r2 (lang/rhino)

 さらにここからbsf-3.0.tar.gzをダウンロードし展開、libディレクトリ内のbsf-all-3.0.jarを、/usr/local/share/java/classes/以下にコピーしておく。

Funambolサーバインストール

 まずここの"Funambol server"からLinux用のtgzファイルをダウンロードする。(今回使用したのは8.0.1)これを展開してできるfunambol-8.x.x.binはシェルスクリプトなので、シェルに読み込ませて実行する。

sh funambol-8.x.x.bin

 すると展開先を聞いてくるので、ここでは/usr/localにする。結果/usr/local/Funambol/ディレクトリ以下に関連ファイルが展開される。

[mysqlここから]

まずmysqlにfunambolと言うデータベースを作成する。

$ mysqladmin -uroot -p create funambol

 さらに同名のユーザを作成し、そのデータベースに権限を与えておく。

mysql> grant all on funambol.* to funambol identified by 'YOURPASSWORD';

 /usr/local/Funambol/ds-server/install.propertiesを編集し、以下の記述をコメントアウト。

#jdbc.classpath=../tools/hypersonic/lib/hsqldb.jar
#jdbc.driver=org.hsqldb.jdbcDriver
#jdbc.url=jdbc:hsqldb:hsql://localhost/funambol
#jdbc.user=sa
#jdbc.password=

 以下のmysql関連のコメント記号をはずし、classpathを以下のように書き換え、urlをmysqlが稼働しているサーバ名に書き換え、さらにpasswordを先に設定したmysqlのfunambolユーザのパスワードに変更。

jdbc.classpath=/usr/local/share/java/classes/mysql-connector-java.jar
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://<hostname>/funambol?characterEncoding=UTF-8
jdbc.user=funambol
jdbc.password=funambol

[mysqlここまで]

 それができたらroot権限で/usr/local/Funambol/ds-serverディレクトリに移動し、以下を実行する。

# APPSRV="tomcat60" JAVA_HOME=/usr/local/diablo-jdk1.6.0/ J2EE_HOME=/usr/local/apache-tomcat-6.0/ CLASSPATH=/usr/local/share/java/rhino:/usr/local/share/java/apache-ant/lib:/usr/local/share/java/classes ant -Ddo.install-db=true -buildfile ./install/install.xml install

 途中で何度か、DBを作成するかと聞かれる。初回は"y"でDBを作成する。すでに稼働中の環境では、"y"とするとデータがすべて消されるので注意。この手順でtomcatにdeployされる。

各種ファイル修正

/usr/local/Funambol/binにある以下ファイルを修正する。
funambolファイル

 7行目以降に以下を追加。

export JAVA_HOME=/usr/local/diablo-jdk1.6.0
export JRE_HOME=$JAVA_HOME

 以下の記述を修正。

export J2EE_HOME=${FUNAMBOL_HOME}/tools/tomcat
export CATALINA_HOME=${FUNAMBOL_HOME}/tools/tomcat

     ↓

export J2EE_HOME=/usr/local/apache-tomcat-6.0
export CATALINA_HOME=/usr/local/apache-tomcat-6.0
FUNAMBOL_HOME=`(cd .. ; pwd)`

     ↓

FUNAMBOL_HOME=/usr/local/Funambol/

[mysqlここから]

 以下の記述も修正。

COMED=true

     ↓

COMED=false

[mysqlここまで]

funambol-serverファイル

 以下の記述を修正。

J2EE_HOME=$FUNAMBOL_HOME/tools/tomcat

     ↓

J2EE_HOME=/usr/local/apache-tomcat-6.0
pim-listenerファイル

 75行目("# Setting classpath"の直下)に以下を追加。

CLASSPATH=$CLASSPATH:/usr/local/share/java/classes/mysql-connector-java.jar

(mysql-connectorは標準のクラスパスに入っているので、本来この様な記述は不要なはずだが、なぜかないと認識されなかった)

/usr/local/apache-tomcat-6.0/confにある以下のファイルを修正する。
context.xmlファイル

 以下の内容を34行目("</Context>"の前)に追加。

   <Resource name="jdbc/fnblds" auth="Container" type="javax.sql.DataSource"
             factory="com.funambol.server.db.DataSourceFactory"
   />

   <Resource name="jdbc/fnblcore" auth="Container" type="javax.sql.DataSource"
             factory="com.funambol.server.db.DataSourceFactory"
   />

   <Resource name="jdbc/fnbluser" auth="Container" type="javax.sql.DataSource"
             factory="com.funambol.server.db.DataSourceFactory"
   />

起動

 ここまでできたら、以下のコマンドで起動する。

# /usr/local/Funambol/bin/funambol start

 あとはFunambolサーバのマニュアルにしたがって初期設定をすればよい。The Funambol Administration Toolはここの"I want to run my own server"からダウンロードできる。

 ただし、サーバのポートがマニュアルでは8080になっているが、この環境では8180になっている点に注意。

使用感

 ここの"I want to sync my phone"からダウンロードできるWindowsmobile用のクライアントと、Lightning用のfunambolクライアントを使用して、相互に同期するという使い方をしている。連絡先・スケジュール・ToDoの同期は問題なくできている。ただSyncMLの使用上の制限らしいのだが、連絡先の読み仮名が同期されないようだ。洋物アプリでその辺対応できるものは実際少ない。

 ActiveSyncやらOutlookやらを使う必要がないのも便利だが、サーバ経由なので、同期させるときにわざわざデスクトップとモバイル機をそろえる必要がないのが良い。予定やToDoができた時点でそれぞれで入力しておいて、あとモバイル機を持って出る出がけにでも適宜同期しておけば、一々モバイル機を母艦につなげて云々と言う必要がない。これが結構気楽で便利である。

本日のツッコミ(全2件) [ツッコミを入れる]

_ okamoto [岡本と申します。はじめまして。 本家でFreeBSD 8.0上でfunambolのインストールが話題になっています。..]

_ スーパーコピーブランド激安通販専門店シャネルバッグコピー品 [カードで使える日本語完全対応の安心なブランドコピーショップ ルイヴィトン、シャネル、グッチ、エルメス、プラダ等のコ..]

本日のリンク元 | 72 | 43 | 38 | 25 | 20 | 18 | 15 | 13 | 13 | 11 | TrackBack(0)

<< 2009/10/ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1. FreeBSDでFunambolを使う
30 31 >>

クリエイティブ・コモンズ・ライセンス
このworkは、クリエイティブ・コモンズ・ライセンスの下でライセンスされています。