まだ中学生のブログ

スマホ関連、Google関連のことを書いてます。IT系勤務、既婚、精神年齢:中学生。

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へ変更します。

qiita.com

おまけ Androidアプリの作成

GitHubでソースが公開されているので、自分でビルドすれば無料でアプリがゲットできます。

リポジトリ

ビルド手順

VirtualBox上のxubutuではエラーでビルドできず。

Windowsで「3. Working in a terminal with Gradle」でビルド成功


以上