先日の記事 で Dropbox ライクなファイル共有システム SparkleShare を試してみましたが、同プロジェクトは SparkleShare-Dashboard というウェブアプリケーションも開発していて、これを導入すると、ブラウザからファイルの閲覧ができるばかりでなく、Android や iOS 端末からも閲覧が可能となります。
SparkleShare-Dashboard Wiki でいくつかの Linux ディストリビューションごとの導入手順が解説されていますが、ここでは Debian Squeeze での方法をメモしておきます。以下にメモする内容はリンク先そのままですので、英語に抵抗がない方はそちらの方がより詳しくて正確です。
Debian Squeeze
依存関係は、
- nodejs 0.6.4 - redis 2.2.x
となってますので、これらを導入するため、 /etc/apt/sources.list
に次のラインを加えます。
deb http://backports.debian.org/debian-backports squeeze-backports main deb http://ftp.us.debian.org/debian unstable main
/etc/apt/preferences
を以下のように編集しておきます。
Package: * Pin: release a=stable Pin-Priority: 700 Package: * Pin: release a=testing Pin-Priority: 650 Package: * Pin: release a=unstable Pin-Priority: 600
端末で次のコマンドを実行します。
$ apt-get update $ apt-get -t squeeze-backports install redis-server $ apt-get -t unstable install nodejs
node 0.6.3 以降に対応していない場合、次のように NPM を手動でインストールする必要があります。
$ curl http://npmjs.org/install.sh | sudo sh
以上で準備は完了ですので、git で Dashboard のコードを取得し、そのディレクトリに入り、以下のコマンドを実行します (一般ユーザーで)。
$ git clone https://github.com/hbons/SparkleShare-Dashboard.git $ cd SparkleShare-Dashboard $ npm install -d
次に config.js
を編集します。ひとまず以下の箇所を編集してテストしてみます。
exports.folders = [ { type: 'git', name: 'Test', path: '/home/git/work', pub: false } ];
「name」はブラウザから見える名前、「path」はディレクトリパス、「pub」は public (true) か private (false) かの指定です。
これで SparkleShare-Dashboard を起動する準備は整いました。次のコマンドで起動します。
$ make run
Webserver での設定の詳細は Serving through Webserver をご参照ください。
ブラウザで、
http://yoursite.com:3000
にアクセスすると、次のようなユーザー登録画面が表示されます
登録したアカウントでログインします。
次のようにフォルダが確認できます。
iOS との連携
SparkleShare-Dashboard には iOS 用のクライアント (SparkleShare-iOS) が存在します。App Store から無料でダウンロードできますが、こちら の有料版をダウンロードすると開発を支援できます。
ブラウザ画面の右側に「Linked devices」がありますのでクリックすると QR コードと Link コードが表示されます。
# 以下 iPad (iOS5) で確認しています。
iPad で SparkleShare-iOS を起動し、「Scan QR Code」でQR コードを読み込みます。うまく行かない場合は「Enter manually」から手動で設定します。
iPad からテストフォルダを確認できました。
そのまま閲覧もできますが、「Open in…」も用意されており、GoodReader 等の主要なアプリケーションでも開くことができ、こちらの使用感もさながら Dropbox です。
アップロードの機能が揃えばいよいよ Dropbox の出番も少なくなるかもしれません ^^;