Think threshold

中の人のIYHにいたる顛末と購入レビュー。ときどき自宅システム構築備忘録。

クラウドストレージの容量が少ない? よろしい。ならば自前だ。 (Nas4Free上にOwnClowdを構築(復旧))(2015/11/03追記)

容量(プール)!容量(プール)!容量(プール)!容量(プール)!

大容量を!一心不乱に大容量を!!

 

・・・とまぁ少佐な感じは置いといて、

クラウドストレージ、いろんなところがやってますね。

DropBox、OneDrive(SkyDrive)、Google Drive等々。

無制限ストレージなんてのもありますが、出ては消えていくのを繰り返している感があります。

トレンドマイクロ・・・BitCasa・・・無制限ストレージ・・サービス終了・・・

ウッ頭が・・・

 

で、個人的にはいつサービス終了されるかわからないクラウドストレージより

自前で作ればいいんじゃね?ってことで、OwnCloudというアプリケーションを使い

プライベートクラウドストレージを作った記録です。

 

以前も作っていたんですが、NAS復旧に合わせて再構築したので

今度こそ構築メモとして残しておきます。

 

 ● 目標

  • NAS上でクラウドストレージを立ち上げ、自分(身内)専用のストレージ領域として使う
  • 手持ちのWinマシン、スマホ(Android)から出先で利用できるようにする
  • Surface Pro3のドキュメントフォルダのバックアップに使う
  • オンラインストレージを上回る容量にする
  • 外からはドメイン名でアクセスできるようにする
  • ファイル転送を暗号化するためにSSL証明書を使用し、HTTPS通信を行う

 

●作業環境

  • Nas4Free:9.3系(9.3.0.2.1480)
  • Lighttpd:1.3系(1.3.45、上記Nas4Freeにインストールされているもの)
  • OwnCloud:8.0系(8.0.3)
  • 自宅のWAN側IPをDDNS連携し、DNS名でアクセスできるように設定する
  • ルータ上で、OwnCloudで利用するポートに穴を開ける

 

以下が実際の作業手順です。

 

●OwnClowdのインストール

1)アップロードディレクトリ(/mnt/zfs-Mgmt/OwnCloud-upload)、OwnCloud自身のインストール領域(/mnt/zfs-Mgmt/owncloud)をZFSから切り出し

ZFSのストレージプールからアップロード用ディレクトリと、OwnCloud自身をインストールする領域を切り出します。

アップロードはとりあえずの領域として200GBほど確保しました。

OwnCloudはUSBメモリの空き領域上に作っても良いのですが、前回USBメモリがリードエラー起こした際にめんどくさい状態になったので、今回は自動でマウントされるZFSのストレージプール上に確保しました。

 

2)OwnCloud実行ファイルの展開

ZFS上で確保したインストール領域のマウントポイント(/mnt/zfs-Mgmt/owncloud)へ

OunCloud公式からダウンロードしたtar.bz2を展開します。

nas4free: zfs-Mgmt # tar -zxvf owncloud-8.0.3.tar.bz2

 

 

3)Nas4Free上でWebServerの設定

ひとまずセットアップを完了させるため、以下の設定でWebServerを稼働させます。

  • HTTP(ポートは任意)
  • Document Root:2)で展開したOunCloudのディレクトリ(/mnt/zfs-Mgmt/owncloud)
  • Upload Directory:アップロードディレクトリ(/mnt/zfs-Mgmt/OwnCloud-upload)
  • 追加パラメータで以下を設定

どうでもいいですが、9.3系のWebserver設定画面最下部にある注意書き、

タイポしてますね。。。

Nas4Freeに搭載されているLighttpdの設定ファイルは、/var/etc/websrv.confですが、

WebUIはwersrv.confになってますね。

http://[NAS4FreeIPアドレス]:ポート

でアクセスすると、初期設定画面が表示されるので

管理者アカウントを設定します。

 

HTTPSで利用するための証明書を生成

OpenSSLを用いて証明書を作成します。

外部のCAからSSL証明書を発行できればいいのですが、

コスト見合いで宅内ADのCA局(ADCS)から発行の形式にします。

今回は作業用PCの都合でWindowsバイナリを用いて作業しています。

まずは秘密鍵を作成します。

>openssl.exe rand -out seed.dat 1024

>openssl.exe genrsa -rand seed.dat -out server.key -aes256 2048

その後、CSRを生成するのですが、

この際、証明書のCN以外のホスト名でアクセスする可能性がある場合、

別名(Alternative Name)を証明書に設定します。

openssl.cfg内に

[req]に
req_extensions = v3_req
を追加、

[v3_req]に
subjectAltName = @alt_names

[alt_names]
DNS.1 = <1つ目のFQDN
DNS.2 = <2つ目のFQDN

を追記し、CSRを作成します。

>openssl.exe req -new -sha256 -config openssl.cfg -key server.key -out nas4free.pem

Enter pass phrase for server.key:
Loading 'screen' into random state - done
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) :
Organization Name (eg, company) [Internet Widgits Pty Ltd]:home
Organizational Unit Name (eg, section)
:
Common Name (e.g. server FQDN or YOUR name) :<FQDN>
Email Address
:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password :
An optional company name
:

各フィールドは適宜設定。

2015/11/03追記:ここでChrome等の証明書警告を出さないためなのと、昨今のSSLの流れに従い、署名アルゴリズムをSHA256にしてCSRを出力させます。

 

作成したCSRをADCSで署名し、ダウンロードするのですが、

ココでエンコード方式は「Base64」を指定します。

 

Nas4Freeへインポート

作成した証明書と秘密鍵Nas4Free上へインポートするのですが、

このままだとWebServer起動時にキー入力画面で止まってしまうので、

パスフレーズを解除しておきます。

openssl rsa -in server.key -out server.key

その後、作成した証明書と秘密鍵をメモ帳で開き、

そのままNas4Freeの証明書、秘密鍵のフィールドに入れればOKです。

(ProtocolをHTTPSに変更するとフィールドが現れます)

 

HTTPS+FQDNでアクセスし、問題がないことを確認する

HTTPSでアクセスし、問題なくアクセスできているかを確認します。

それが終わればアカウントの設定、クライアントアプリの設定をすればOKです。

折角なので、Androidアプリも購入して、どの端末からでも参照できるように利用します。

ownCloud - Google Play の Android アプリ

 

 参考:

Installation Wizard — ownCloud Server Administration Manual 8.0 documentation

NAS4Free 9.1.0.1 で ownCloud を使う。ついでに Active Directory も対応してみる。 | 環境さんぷる

OpenSSLコマンドの使い方

エスブレイン » CSR発行手順(openssl、Apache標準)

openssl で、ユニファイド コミュニケーション証明書用の CSR を作成

 

 

玄人志向 HDDスタンド USB3.0接続 KURO-DACHI/CLONE/U3 パソコンなしでHDDのまるごとコピー機能付き

玄人志向 HDDスタンド USB3.0接続 KURO-DACHI/CLONE/U3 パソコンなしでHDDのまるごとコピー機能付き