オープンソースのDropbox代替サービスownClouldを家のSynology NASでホストしてみた。
SynologyはNetwork Attached Storage、いわゆるNASのサービス・機器を販売する台湾の会社です。主力のDiskStationシリーズでは、Raidで組んだNASを家庭内LANでつかったりインターネット経由でアクセスしたり、他にもDDNSをつかってPHPのサーバーにしたり色々と盛りだくさんの機能があります。
DropboxPortableAHKがどうやら本格的に終了したみたいなので、仕事に支障がありまくりなので、Dropboxの代替ソフトを探して、オープンソースのownCloudが良さそうだと結論し、ついに導入しました。使用状況は
You have used 1.8 GB of the available 1.2 TB
ってな感じで、NASの容量が1.2TBもあるので、容量不足は気にしなくて良くなりました。快適です。遅いらしいと聞いていたけど、そんなことない感じ。
GoogleDriveじゃだめなのか?
手っ取り早くやるのならGoogleDriveで良かったかもしれません。というかDropboxPortableAHKではなく公式版のDropboxクライエントを使えばいい話。
それができないのは、職場では複数のPCを行ったり来たりするし、共用のPCなのでadminだったりする人も使うので、個人のファイルから仕事のファイル、写真、動画、パスワード管理ソフトなどなど、色々と入っているDropboxは置いておけない。Dropbox公式クライエントは外付けUSBデバイスには同期フォルダを指定できない仕様なのでNG。ところが、DropboxPortableAHKではUSBからソフトを起動して、USB内に同期フォルダを持てるので、これ以外選択肢があまりない状況。
GoogleDriveのデスクトップクライエントではUSBに同期フォルダを置くことが可能なのかどうかが、どうも調べがつかなかったが、ownCloudはUSBにも同期フォルダを指定できる。
追記)GoogleDriveを試してみましたが、ポータブル版にはできそうで、結局できませんでした。
もう一つは、できればパーソナルクラウドへ移行して、同期するファイルを自分の手元に置いておきたいという理由。NSAとか色々と気持ち悪いので。
追記)その後、TeamDriveをSynologyのNASでサーバー立ててみましたが、すごく速いです。ownCloudだと遅いのでsynologyのCPUが遅いのだと思っていたけどそうではなかった。TeamDriveについてはあとでレビュー記事をアップします。
Researchers reverse-engineer the Dropbox client: What it meansという記事に付いたコメントには
My complaint remains the use of server side encryption for user data. Spideroak and Lastpass prove that every feature Dropbox provides can be done properly in a way that does not provide Dropbox the ability to decrypt user data.
とあって、Dropboxはユーザーデータをサーバー側で暗号化する仕組みらしいので、覗き見は簡単で、どこまでDropboxを信頼するかという問題もあります。
ownCloudはこの2つの条件をクリアしているし、すでにSynologyが家にあるのでPHPのサーバーが必要なownCloudをホストするにはちょうど良かった。
導入の仕方
色々と試してから思い出して書いてるので間違いなどあるかも。素人の覚書ですので、自己責任でお願いします。
まずはDSMを最新にアップデートする。執筆時ではDSM 5.0-4458 Update 2。Hearbleed対応ずみなはずなので、アップデートは重要。
初期Adminパスとかすべてのユーザーのパスワードを強いものに変更。
コンパネからNetworkにいき、DSM Settingsのタブに行くとHTTPSの設定が出来るので必ずしておく。Synologyのドキュメンテーションは古いけどこちら。コンパネからWeb servicesにいき、Web StatioinとHTTPS Connectioin for web servicesにもチェック。
パッケージセンターからMariaDBをインストール。MySQLのフォークなのでownCloudにも使えた。
次にphpMyAdminをインストール。データベースの色々な設定をするツール。rootの初期パスが””で空っぽなので、絶対に変更する。参照サイト。
コンパネからShared Folderにいって、volume1にowncloudという名前のフォルダを作る。あとで、owncloudを初回起動するときにvolume1/ownclouldに書き込めないと怒られるので、読み書きのパーミッションをhttpに与えておく。owncloudのドキュメンテーションの該当セクション。
これでowncloudのインストール準備完了のはず。
owncloudはSynologyのユーザーコミュニティで管理されたパッケージがあるので、それを利用すると楽。www.cphub.netというレポジトリーもあるが、synocommunityのほうが新しいのでこっちを使う。
パッケージセンターを起動して、上のタブからSettingsに行く。右のPackage Sourcesのタブからhttp://packages.synocommunity.comを追加する。(追記。synocommunityのレポジトリーが落ちているようです。下記参照。)
Package CenterでCommunityのカテゴリを選んでRefreshする。
ownCouldの最新版6.0.2-3をインストール。
最初にMySQL(実際はMariaDB)のパスワードを聞かれるので、phpMyAdminで設定したパスを入れる。
次に、MySQLにowncloudというアカウントを作るので、それ用のパスワードを設定しろと言ってくるのでパスワードを入れる。
次に、ようやくowncloudで使うユーザーアカウントのユーザー名とパスワードを聞かれるので設定しておしまい。
owncloudのStatusがRunningになったら、その下のURLのところをクリックしてさっき作ったowncloudのユーザー名とパスワードでログインを試みる。
ログインできたら成功。
このままではローカル(家の中)でしか使えないので、DSMのメインのメニューからEZ-Internetを実行する。使っているルーターが対応していれば全部自動でやってくれるので楽ちん。最後のほうでDDNSサービスの申し込みをして、インターネット経由でアクセスできるアドレスをもらう。
ここで設定したDDSNのドメイン名の下に/owncloudを付けたアドレスがowncloudのサーバーURLになるので、これにケータイのブラウザのデータプラン(家のWifiじゃなくて)で接続できるか確認する。
ownCloudのクライエントをインストールして、DDSNで設定したサーバーアドレスで接続する。
これでDropboxのようなサービスが自宅のサーバーで運用されました。すげー。
追記。まだHTTPSがうまくいっていない、おそらくルーターが5001のポートフォワーディングしていないからだと思われる。EZ-InternetしたときにHTTPSをEnableしていなかったからか?とりあえず寝る。
追記2。うまくいった。上記の設定に追加して、5001と443のポートをHTTPS用にポートフォワーディングの設定しないといけなかった。EZ-Internetのとろで選んでも同じだとおもう。コンパネからExternal Accessで、Router Configurationのタブから、CreateでWeb Station(443)とManagement UI(5001)のBuilt-inアプリを追加して、Synologyから一度、ログアウトで、オーケーだった。
ウィンドウズ版ownCloudクライエントをポータブル化する
職場で実際に公式のownCloudクライエントをインストールして使ってみました。USBにownCloudフォルダを作ってみましたが、問題なく同期できました。
ただし、ソフトの終了後にC:\Users\ユーザー名\AppData\Local\ownCloudにcfgファイルができて、ここにログイン情報が残ってしまうのがかなり問題です。
使用後に手作業で忘れずに削除するか、PortableApps.comのownCloudPortableを使うこともできますが、バージョンが1.3で止まっているのが気になります。
ところが、公式のドキュメンテーションをよく読んでみると--confdirオプションで設定ファイルへのパスを変更できるようなので、Portableバージョンなんていらなんじゃないかという感じ。C:\Program Files (x86)にあるowncloudのフォルダをそのままUSBへ適当に移動して、使います。
USBがHにあると仮定すると、公式版のクライエントを次のようなオプション付きで起動すればOKでした。
H:\OwnCloudClientへのパス\ownCloud\owncloud.exe --confdir H:\OwnCloudClientへのパス
これで設定ファイルがUSBに保存されるようになったので、もしレジストリを使っていないならば完全にポータブル版になったはずです。めでたし、めでたし。
おまけ
以下は、紆余曲折して結局使わなかった手段だけど、なんかの役に立つかもしれないので、残しておく。
ownCloudPortableは開発者のページについたコメントには1.3から同期するフォルダが選べるようになったとある。しかし、少なくとも最初の設定画面でC:/Users/ユーザー名/owncloudに同期しようとしたので、同期するフォルダのパス設定はあとから変更する形なのかもしれない。
いずれにせよ古いバージョンはなんかいやなので、私の場合、PortableApps\ownCloudPortable\App\ownCloudにあるファイルをすべて削除して、PCにインストールした最新版(C:/Program Fileにある)のownCloudフォルダの中身に置き換えました。こんなことして大丈夫なのか知りませんし、なにがあっても責任も取りませんが、当方の環境ではちゃんと動いているっぽいです。
ちなみにownCloudPortableのインストールはpaf.exeをダウンロード後、PortableApps.com Platformを使わないならpaf.exe単体をダブルクリックでもいいですが、Platformを使う場合(推奨)はPortableApps.com PlatformでAppsからInstall a new Appをえらび、paf.exeを指定します。
SynoCommunityのレポジトリーがまた落ちているらしい
githubのイシュートラッカーにある新しいスレでは、#560を読めとあって、そっちに行くと臨時のサーバーのアドレスhttp://synology.w01.eu/がある。
ownCloudにも色々とファイルがあるが、Synologyのウィキサイトを見て、自分のモデルのCPUを確認して、対応するビルドをダウンロードすると吉と思われる。
« ポータブル版CarotDAVでDropboxへアクセスしてみた(改定版)。 | トップページ | PyCon2014のトークの感想とDavid Beazleyファンクラブ設立のおしらせ »
「Dropbox」カテゴリの記事
- 自分のHDDで容量無制限なクラウドストレージLimaを試してみた。(2015.09.28)
- Synologyのアップデート後のTeamDriveパーソナルサーバー復旧覚書(2015.05.14)
- Google driveを自分でポータブル版にしてUSBドライブでつかうつもりが断念。(2014.10.14)
- エンドツーエンドで暗号化のオンラインストレージTeamDriveを自宅Synologyで運用(2014.10.28)
- ownClould6.0.3-3へのアップデートでハマる。(2014.07.07)