ownCloudで実現するセキュアな無制限ストレージ on Softlayer

[PR]
ownCloudとは?
ownCloudはオンラインストレージを、オンプレミスやクラウド上の専用サーバーに構築し、セキュアにファイル共有するためのオープンソースのパッケージソフトウェアです。専用環境に構築できるため、DropboxやGoogleDriveのようなサービス型のオンラインストレージの抱える問題を根本から解決します。また、近頃問題となっているシャドーIT対策のひとつとして注目されています。
マルチデバイスでアクセスが行えることは勿論のこと、LDAP/AD連携・外部ストレージ連携等のエンタープライズ利用に適したアドオンを追加可能であることが特徴のひとつです。
ownCloudは2011年に開発が開始され、2015年にversion8がリリースされました。先日発表されたopensource.comの「2014年オープンソースプロジェクト ベスト10」に、Docker、OpenStack、Apache Hadoop、Drupal等と並んでownCloudが選ばれており、プロダクトとしての優位性も認められています。
ownCloudの新機能
ownCloudは前バージョンのversion7から、より成熟度が増し、知名度が高まりました。version7やversion8では、新たに以下のような機能が追加されています。
- サーバー間同期- ownCloudサーバー同士のフェデレーションが可能になりました。
- レスポンシブ対応- ベースとなるテンプレートデザインがレスポンシブ対応になりました。
- セキュリティ強化- 共有時のパスワード強制等、セキュリティに関わる機能が追加されました。
SoftLayer上に構築するメリット
ownCloudの特性上、大容量のビジネスデータをオンラインで扱うこととなり、サーバーやネットワークへの要求スペックは高くなりますが、ハイパフォーマンスを生み出すことが可能なリソースとネットワーク基盤を持つSoftLayer上にownCloudを構築することで、その要求をクリアします。
更に外部ストレージとしてOpenStack Swiftベースの高可用性クラウドストレージであるSoftlayer Object Storageを採用することで、大容量のデータを安全且つ格安に保管することが可能となります。
より堅牢なデータ運用を行うためにベアメタル(物理サーバ)を採用するという選択肢もあります。
ownCloud on SoftLayerの構築手順
外部ストレージにSoftlayer Object Storageを接続する構成でSoftLayer上にownCloudを構築する手順を紹介します。ownCloudのインストールについては、AnsibleでインストールするためのPlaybookを用意したので、そちらを利用してインストールします。
1. サーバーのオーダー
SoftLayerのポータルサイトからDevicesメニュー – DeviceListのOrder Deviceにてサーバーをオーダーします。
忘れずに「APF Software Firewall for Linux」を選択してください。
DATA CENTER | TOK02 - Tokyo - Japan |
---|---|
COMPUTING INSTANCE | 1x2.0GHz Core |
RAM | 1GB |
OS | CentOS 6.x - Minimal Install (64 bit) |
FIRST DISK | 25GB(SAM) |
HARDWARE & SOFTWARE FIREWALLS | APF Software Firewall for Linux |
2. ミドルウェア、ownCloudインストール・環境設定
対象のサーバーが起動したらSSHでログインし、以下の手順を行ってください。
Ansibleのインストール
ownCloud自体はAnsibleでインストールしますので、事前にGitとAnsibleをインストールしておきます。
リスト1:Git・Ansibleのインストール
1 | sudo yum install -y git |
2 | sudo yum install -y epel-release |
3 | sudo yum makecache |
4 | sudo yum install -y ansible |
5 | sudo yum install -y git |
Ansibleの実行(ownCloudのインストール)
Playbookを指定のリポジトリから取得し、Ansibleを実行します。Apache2.2、PHP5.4、MySQL5.5とownCloudがインストールされ、スクリプト内で作成した自己証明書がApacheに設定されます。MySQLのユーザー、パスワードを変更する場合は、Playbookのvarsを修正してから実行してください。
リスト2:Playbook取得
2 | cd owncloud8-lamp-softlayer |
リスト3:Ansible実行
1 | ansible-playbook owncloud8-lamp-softlayer.yaml |
ファイアウォールの設定
ownCloudの接続をHTTPSで強制するために、APFにて80番ポートを無効化しておきます。/etc/apf/conf.apfのIG_TCP_CPORTSから80を除外してAPFを再起動します。
リスト4:/etc/apf/conf.apfの編集
1 | IG_TCP_CPORTS="20,21,22,25,53,110,143,443,808,3306" |
リスト5:APFの再起動
1 | /etc/init.d/apf restart |
3. ownCloudの初期設定
ブラウザにて対象サーバーのPublic IPにHTTPSでアクセスすると、ownCloudの初期設定画面が表示されます。画面の指示に従ってセットアップを完了します。
初期設定画面
以下の必要情報を入力し、「セットアップを完了します」をクリックします。
ユーザー名 | 任意(初期ユーザーのID) |
---|---|
パスワード | 任意(初期ユーザーのパスワード) |
データフォルダー | /home/data |
データベース | MySQL/MariaDB |
データベースのユーザー名 | owncloud_dbadmin (Playbookを修正した場合は適宜修正) |
データベースのパスワード | ownclouddb (Playbookを修正した場合は適宜修正) |
データベース名 | owncloud |
データベースのホスト名 | localhost |
Welcome画面
Welcome画面が表示されれば、セットアップ完了です。
4. Softlayer Object Storageのオーダー
SoftLayerのポータルサイトからStorageメニュー - Object StorageのOrder Object StorageにてSoftlayer Object Storageをオーダーします。
対象のStorageが起動したら、Tokyo 2を選択してください。
遷移した画面左上のView Credentialsリンクをクリックし、以下のCredentials情報を控えておいてください。

リスト6:Credentials情報
1 | Autentication Endpoint(Private) |
2 | Username |
3 | API Key(Password) |
5. Softlayer Object Storageへの接続
Softlayer Object Storageへ接続するためのプラグインを有効化し、設定を行います。
External storage supportアプリの有効化
「External storage support」アプリはownCloudから様々な外部ストレージに接続するためのプラグインです。AmazonS3やOpenStack Swiftのようなオブジェクトストレージや、CIFS/SMB、FTPでの接続が簡単に行えます。
有効にするには、ownCloud内左上メニューにある「+アプリ」ボタンをクリックし、無効セクションにリストされている「External storage support」の「有効にする」をクリックします。
Softlayer object storage supportアプリの有効化
残念ながら「External storage support」アプリでは、Softlayer Object Storageへの接続がサポートされていないので、「Softlayer object storage support」アプリを追加インストールする必要があります。「Softlayer object storage support」は、ownCloudのデフォルトに搭載されているアプリではありませんが、本紹介のPlaybookで含めるよう対応しております。
上記同様にownCloud内左上メニューにある「+アプリ」ボタンをクリックし、無効セクションにリストされている「Softlayer object storage support」の「有効にする」をクリックします。
ownCloud外部ストレージ設定
ownCloud内右上メニューにある「管理」をクリックし、外部ストレージセクションでSoftlayer Object Storageへの接続設定を行います。「ストレージの追加」プルダウンメニューから「Softlayer Object Storage」を選択し、各項目を入力します。画面左のチェックがグリーンランプになると接続成功です。
フォルダー名 | SoftlayerObjectStorage(任意) |
---|---|
Username | (Credentials情報のUsername) |
Bucket | 任意(例: contaiter01) |
パスワード | (Credentials情報のAPI Key) |
識別用エンドポイント | https://tok02.objectstorage.softlayer.net/auth/v1.0/ (Credentials情報のAuthentication Endpoint) |
まとめ
ownCloudのトップ画面に移動すると、「SoftlayerObjectStorage」というフォルダーが表示されています。このフォルダーの先がSoftlayer Object Storageとなります。ownCloudの通常のフォルダーと同様にファイルのドラッグ&ドロップアップロードやグループ共有、URL共有が行えます。勿論、ownCloudのWindowsシンクアプリやモバイルアプリからの接続も可能になるので様々な用途で便利に利用できます。実際のビジネス利用では今回よりもスペックを上げる必要がありますが、今回のスペックでも十分な操作感とパフォーマンスを感じることが出来ると思います。是非この機会にownCloudを使ってみてください。
ownCloudの情報については、ownCloud.jpサイトやownCloud.jpが運営するownCloud日本語フォーラムを確認してみてください。