ownCloudで保存先をNAS上にする
はじめに
Dropboxの容量が足りなくなってきました。 容量を占めているのはカメラアップロードによる動画でした。
ついでにストレスを感じていたのは、アップロードの時間がかかることです。 動画のサイズが大きいからだけではなく、そもそもアップロードの速度が出ないのです。 Dropboxのサーバーが混んでいるのだと思います。
そこで代替ツールを検討しました。
欲しい機能
- ファイルの同期機能
- 例) PC1で削除すればPC2でも削除される
- 自分のストレージが使える機能
- 我が家にはRAID5のNASがあるので活用したい
この時点でオープンソースを検討しました。
候補にあがったのは一つだったので、「ownCloud」を導入することにしました。
本エントリーでは次の項目について紹介します。
- ownCloudのインストール
- ownCloudのセットアップ
- ownCloudの保存先を同一ネットワーク内のNAS上のストレージにする
- おまけ
- Androidアプリの作成
環境は、UbuntuにownCloudにインストールし、NASはFreeNASでCIFS(Samba)でネットワークドライブを提供しています。
ownCloudのインストール
$ sudo apt-get -y install mysql-server $ sudo apt-get -y install php5 libapache2-mod-php5 php5-gd php5-curl php5-mysql $ sudo /etc/init.d/apache2 restart
Webインストーラーの配置
公式サイトからWeb Installerをダウンロードしてきます。 setup-owncloud.phpというファイルです。
これをApacheで公開している場所へコピーします。
私は「/var/www/html/setup-owncloud.php」へ配置しました。
各種インストールはApacheが行うことになるので、Apacheへ書き込み権限を与えます。 今回は所有者をApacheへ変更しました。
$ sudo chown -R www-data:www-data /var/www/html/
そしたらブラウザからアクセスします。
http://{ホスト名}/setup-owncloud.php
Ubuntu本体のブラウザからアクセスするのであれば、
http://127.0.0.1/setup-owncloud.php
になります。
あとは画面に従ってインストールを進めます。
ownCloudのセットアップ
ドメインの許可
これをしないと別PCからのアクセスができませんでした。
/var/www/html/owncloud/config/config.php
'trusted_domains' => array ( $_SERVER['SERVER_NAME'] ),
保存先をNASにする
まずはNAS上のドライブをownCloudが動作しているマシンでマウントします。 一般的なマウントだと次のようになります。
$ sudo mount -t cifs -o guest,uid=1000,gid=1000,vers=3.0 //192.168.1.10/share /mnt/share
これだとメインユーザーとしてマウントしています。 でもownCloudの権限はApachであるwww-dataがもつ必要があります。
まずはwww-dataのuid、gidを調べます。
$ cat /etc/passwd
uid = 33
gid = 33
であることがわかったので、これらのIDでマウントします。
$ sudo mount -t cifs -o guest,uid=33,gid=33,vers=3.0 //192.168.1.10/share /mnt/share
続いてownCloudの保存先をこのマウントした場所になるように設定します。 ownCloudのファイルの実体は
/var/www/html/owncloud/data/{ユーザー名}/files
に格納されています。
ownCloud上のトップで「nas」というフォルダを作成すると、
/var/www/html/owncloud/data/{ユーザー名}/files/nas
というフォルダができます。
そしたらこのフォルダを削除し、NAS上へシンボリックリンクを貼る、というのが、ownCloudで保存先をNAS上にする方法です。
$ sudo rm -rf nas $ sudo ln -s /mnt/share /var/www/html/owncloud/data/{ユーザー名}/files/nas $ sudo chown -h www-data:www-data nas
最後の行でシンボリックリンク自体の所有者をApacheへ変更します。
おまけ Androidアプリの作成
GitHubでソースが公開されているので、自分でビルドすれば無料でアプリがゲットできます。
VirtualBox上のxubutuではエラーでビルドできず。
Windowsで「3. Working in a terminal with Gradle」でビルド成功
以上