現: 2013-12-04 (水) 00:46:37 maruo[3] [4] | |||
---|---|---|---|
Line 1: | Line 1: | ||
+ | *スマフォとPC間のデータ連携を強化したいのです [#w6ac0702] | ||
+ | iPhone/Androidとも、クラウドとのつながりを強化する方向になってきてますね。iPhoneだったらばiCloud,AndroidだったらばGoogle Drive等。電話帳やメール、そしてアプリのデータなども全て同期できるようになって、便利になりましたね。でも、おいちゃんは、クラウドにデータを預けるのは、なるべく嫌なんです。だって、覗き見されているとも限らないしさ。なもんで、なるべく手元に置いときたいのです。自前のサーバーを持ってるおいちゃんとしては、自前のサーバの共有ディスクに集めておきたいのです。ですが、そんな機能はAndroidには無い。で、いろいろいい手はないものか、と調べていた所…あるじゃないですか。[[FolderSync>https://play.google.com/store/apps/details?id=dk.tacit.android.foldersync.full&hl=ja]]というアプリ。こちらは、ありとあらゆるクラウドサービス、Samba,WebDAVとかと同期できるそうですわ。このSamba,WebDAVというところに惹かれまして、いざ、やってみようということにいたしました。 | ||
+ | *スマフォとの同期ポリシー [#b0243813] | ||
+ | -PCから編集しやすいように、Sambaで共有されているホームディレクトリ上に同期フォルダを作る | ||
+ | -スマフォのSDカードに保存されている動画、音楽、写真、電話帳等のデータを同期させるようにする | ||
+ | |||
+ | *設定 [#i4474dc9] | ||
+ | **ファイルシステムのACLを有効化する [#b561f852] | ||
+ | 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 / | ||
+ | |||
+ | **ファイルシステムにACLを設定する。 [#eac73e47] | ||
+ | 以下の方針で行きまする。 | ||
+ | |||
+ | -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/ | ||
+ | |||
+ | **WebDAVの設定を行う [#fc10c81b] | ||
+ | さらに、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 | ||
+ | |||
+ | *スマフォと連動してみる。 [#y98f7b4e] | ||
+ | スマートフォンに、FolderSyncをインストールします。有償版と無償版があります。無償版は、クラウドアカウントに制限がありますが、おいちゃんの場合は、WebDAVしか使用しないので、無償版で十分です。 | ||
+ | |||
+ | **アカウント設定 [#h9ee81e8] | ||
+ | FolderSyncをインストールし、立ち上げると、メニューが出てきます。「アカウント」で、先ほど作ったWebDAVの通信アドレス、フォルダ、ユーザ名、パスワードを入力。「ログインを検証」ボタンを押してみます。「ログインに成功」メッセージが出たらば、問題なしです。 | ||
+ | **同期フォルダの設定 [#gc2a1894] | ||
+ | 「Folderpairs」で同期したいフォルダを入力します。アカウントは、先ほど設定したWebDAVにつけたアカウント名。リモートフォルダはWebDAVのフォルダ、ローカルフォルダはスマフォ側のフォルダです。このFolderpairsを複数作ることによって、複数箇所の同期が出来ます。これで、おじさんは | ||
+ | -スマフォカメラで撮った写真 | ||
+ | -自作着メロ | ||
+ | -動画 | ||
+ | -電話帳 | ||
+ | |||
+ | をバックアップしてます。スマフォからのバックアップだけでなく、PC→スマフォへのコピーも、WebDAV上の同期フォルダに置いておけばコピーされるので、いちいちUSB接続しなくてもデータのコピーができるので、とても楽ちんになりましたよ~。 |
(This host) = https://femt.ddo.jp