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ができた時点でそれぞれで入力しておいて、あとモバイル機を持って出る出がけにでも適宜同期しておけば、一々モバイル機を母艦につなげて云々と言う必要がない。これが結構気楽で便利である。
<<
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は、クリエイティブ・コモンズ・ライセンスの下でライセンスされています。
_ okamoto [岡本と申します。はじめまして。 本家でFreeBSD 8.0上でfunambolのインストールが話題になっています。..]
_ スーパーコピーブランド激安通販専門店シャネルバッグコピー品 [カードで使える日本語完全対応の安心なブランドコピーショップ ルイヴィトン、シャネル、グッチ、エルメス、プラダ等のコ..]