スマフォとPC間のデータ連携を強化したいのです anchor.png

iPhone/Androidとも、クラウドとのつながりを強化する方向になってきてますね。iPhoneだったらばiCloud,AndroidだったらばGoogle Drive等。電話帳やメール、そしてアプリのデータなども全て同期できるようになって、便利になりましたね。でも、おいちゃんは、クラウドにデータを預けるのは、なるべく嫌なんです。だって、覗き見されているとも限らないしさ。なもんで、なるべく手元に置いときたいのです。自前のサーバーを持ってるおいちゃんとしては、自前のサーバの共有ディスクに集めておきたいのです。ですが、そんな機能はAndroidには無い。で、いろいろいい手はないものか、と調べていた所…あるじゃないですか。FolderSyncというアプリ。こちらは、ありとあらゆるクラウドサービス、Samba,WebDAVとかと同期できるそうですわ。このSamba,WebDAVというところに惹かれまして、いざ、やってみようということにいたしました。

Page Top

スマフォとの同期ポリシー anchor.png

  • PCから編集しやすいように、Sambaで共有されているホームディレクトリ上に同期フォルダを作る
  • スマフォのSDカードに保存されている動画、音楽、写真、電話帳等のデータを同期させるようにする
Page Top

設定 anchor.png

Page Top

ファイルシステムのACLを有効化する anchor.png

ACLとは、Access Control Listの略で、ファイルシステムのACLというと、ファイルシステムにアクセスできるユーザー権限を細かく設定する機能の事です。

まずは、ファイルシステムのACLを有効化するために、ACLのスイッチをONにして、ファイルシステムをマウントします。

# vi /etc/fstab

ユーザーのホームディレクトリに、WebDAVでアクセスするためのディレクトリを作るので、/homeがあるパーティションのディスクに対し、以下の設定をします。

/dev/sda1          /home          ext4            default,acl         0 1

aclを追加ね。で、これをやったあと、aclオプションを有効化するために、以下のコマンドを投入。

# mount -o remount /
Page Top

ファイルシステムにACLを設定する。 anchor.png

以下の方針で行きまする。

  • webdavで共有できるディレクトリは、ユーザー(ここではuser1さん)のホームディレクトリ内の、shareというディレクトリにする
  • このディレクトリを、user1さんとapacheさんがアクセスできるようにする

WebDAVで書き込まれる場合、書き込むユーザーさんがWebサーバApacheが動くユーザー権限(Gentooデフォルトではapache.apacheさん)になります。何も設定しない権限でやると、ユーザーディレクトリはApacheさんが書き込めず、またApacheさんが書いたファイルをuser1さんがいじることができません。このために、以下のACLを設定します。

# setfacl -m g:apache:rwx,g:apache:rwx /home/user1/share/
 ← 共有ディレクトリへapacheグループ権限で参照・更新・実行を許可
# setfacl -m d:g:apache:rwx,g:apache:rwx /home/user1/share/
 ← 共有ディレクトリへ新規作成するファイルへapacheグループ権限で参照・更新・実行を許可
# setfacl -m u:user1:rwx,u:user1:rwx /home/user1/share/
 ← 共有ディレクトリへuser1ユーザ権限で参照・更新・実行を許可
# setfacl -m du:user1:rwx,u:user1:rwx /home/user1/share/
← 共有ディレクトリへ新規作成するファイルへuser1ユーザ権限で参照・更新・実行を許可
# ls
drwx------+  5 user1 users   4096 12月  3 23:21 webdav  ←ディレクトリのアクセス権に、+があることがACLが効いている証
#  getfacl share/
# file: share/
# owner: user1
# group: users
user::rwx
user:user1:rwx                #effective:---    ←user1さんにアクセス権が付いている
group::r-x                      #effective:---
group:apache:rwx                #effective:---    ←apacheさんにアクセス権が付いている
mask::---
other::---
default:user::rwx                      ←user1さんにアクセス権が付いている
default:user:user1:rwx
default:group::r-x
default:group:apache:rwx                 ←apacheさんにアクセス権が付いている
default:mask::rwx
default:other::r-x

ここまでで終わりです。ちなみに、ACLを解除したい場合は

# setfacl -b /home/user1/share/
Page Top

WebDAVの設定を行う anchor.png

さらに、WebDAVのポリシーを、以下とします。

  • ユーザ名&パスワードを用いて認証OKの場合のみアクセスを許可する
  • データ暗号化のため、SSLで通信する

/etc/apache2/vhost.dに、SSL用のvhost設定ファイルdefault_ssl_vhost.includeがあります。こいつに設定追加。LDAPで認証して、かつuser1さんしかアクセスを許可しないように設定。LDAPでないBasic認証も可能です。

Alias /webdav/user1/ "/home/user1/share/"

<Directory "/home/user1/share/">
  DAV on
  Options FollowSymLinks
  AllowOverride All
  AuthType Basic
  AuthName "Please input user and password"
  AuthBasicProvider ldap
  AuthLDAPBindDN "cn=user,dc=example,dc=com"
  AuthLDAPBindPassword secret
  AuthLDAPURL "ldap://foo.example.com/ou=People,dc=example,dc=com?uid"
  require user user1
  Order allow,deny
  Allow from all
</Directory>

さらに、/etc/conf.d/apache2に、起動オプションで-D DAVを追加。まぁ、適切に…。うちのサーバ設定は、以下かな…

APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D LANGUAGE -D SSL -D SSL_DEFAULT_VHOST -D PHP5 -D AUTH_DIGEST -D LDAP -D AUTHNZ_LDAP -D CACHE -D MEM_CACHE -D DAV"

で、apacheを再起動。

# /etc/init.d/apache2 restart
Page Top

スマフォと連動してみる。 anchor.png

スマートフォンに、FolderSyncをインストールします。有償版と無償版があります。無償版は、クラウドアカウントに制限がありますが、おいちゃんの場合は、WebDAVしか使用しないので、無償版で十分です。

Page Top

アカウント設定 anchor.png

FolderSyncをインストールし、立ち上げると、メニューが出てきます。「アカウント」で、先ほど作ったWebDAVの通信アドレス、フォルダ、ユーザ名、パスワードを入力。「ログインを検証」ボタンを押してみます。「ログインに成功」メッセージが出たらば、問題なしです。

Page Top

同期フォルダの設定 anchor.png

「Folderpairs」で同期したいフォルダを入力します。アカウントは、先ほど設定したWebDAVにつけたアカウント名。リモートフォルダはWebDAVのフォルダ、ローカルフォルダはスマフォ側のフォルダです。このFolderpairsを複数作ることによって、複数箇所の同期が出来ます。これで、おじさんは

  • スマフォカメラで撮った写真
  • 自作着メロ
  • 動画
  • 電話帳

をバックアップしてます。スマフォからのバックアップだけでなく、PC→スマフォへのコピーも、WebDAV上の同期フォルダに置いておけばコピーされるので、いちいちUSB接続しなくてもデータのコピーができるので、とても楽ちんになりましたよ~。


Front page   Freeze Diff Backup Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 2839, today: 1, yesterday: 0
Princeps date: 2013-12-04 (Wed) 00:46:37
Last-modified: 2013-12-04 (Wed) 00:46:37 (JST) (4020d) by maruo
ページ内検索

ログイン

ユーザー名:


パスワード:





パスワード紛失

メインメニュー

サブメニュー
自宅鯖計画

Gentoo Linuxな生活

玄箱HGにGentoo格闘記

航空ショーへ行こう

モータースポーツな世界

奥深き写真の世界への誘い

我思う ゆえに我あり



携帯用QRコード