IDCF テックブログ

IDCF テックブログ

クラウド・データセンターを提供するIDCフロンティアの公式テックブログ

IDCFオブジェクトストレージサービス × ownCloud

※この記事は公開されてから1年半以上経過しています。情報が古い可能性がありますのでご注意ください。

IDCフロンティア セルフクラウドのコントロールパネルへログインすると、右上にオブジェクトストレージのリンクがあることに気が付きましたか?いよいよ「オブジェクトストレージ」がどなたでも簡単にご利用いただける形となりました。今回はオブジェクトストレージサービスとownCloudを利用してDropboxライクに利用する方法を紹介します!

 ownCloudは有名になってきたので最近は知っている人も多いでしょう。Dropboxのようなオンラインストレージを自分の管理するサーバー上に構築できるツールになります。Dropboxと同じように、WebUIからの操作に加え専用のクライアントをPCやスマホに入れることで、ローカルのディレクトリと同期することも可能です。便利ですね!

さて、ownCloudには様々なプラグインが用意されているのですが、標準でインストールされる「External storage support」を使うことで様々な外部ストレージと組み合わせて使うことができるようになっています。外部ストレージには様々なストレージが利用できるようになっており、FTPやSFTPに加えてAmazon S3やGoogle Driveなどのオブジェクトストレージも扱えるようになっています。(他にもDropboxが使えたりする。ちょっと面白い。) IDCFのオブジェクトストレージはAmazon S3と高い互換性を備えたAPIを利用できるため、外部ストレージとしてAmazon S3を指定することで、そのままIDCFのオブジェクトストレージをownCloudのバックエンド ストレージとして利用することができます。

バックエンドにオブジェクトストレージを指定するメリットの一つは価格でしょう。IDCFのオブジェクトストレージは7.8円/GB/月とかなりお安く利用できるため、通常のストレージを利用して構築するよりも、かなり価格を抑えられると思います。また、ストレージクラスタ上のデータは複数のサーバーへ冗長されて保存されるため、対障害性が非常に高く安心できます。

それでは早速IDCフロンティア セルフクラウド上にownCloudのサーバーを構築し、バックエンドのストレージにオブジェクトストレージを利用する形で構築を行っていきましょう。

サーバーの準備

では早速サーバーを起動しましょう。今回はCentOS 6.5上に構築していきます。なお、ownCloudはphp 5.4以上が推奨となっていますので、前回ご紹介したSCLを利用して構築します。(最低php 5.3.3となっていますので、CentOS 6.5標準のphpでも動くと思います。)

まずはCentOS 6.5のLATESTのテンプレートからサーバーを起動しましょう。そしてポートフォワーディングファイアウォールを設定し、sshでログインできるようにしておきましょう。

サーバーの設定

次にSCL,apache,php54などをインストールしていきます。

## まずはSCLのレポジトリを有効にします。
# yum -y install centos-release-SCL
## Apache + php54をインストールしていきます。 
# yum -y install httpd mod_ssl php54-php php54-php-common php54-php-xml php54-php-gd php54-php-mbstring php54-php-pdo php54-php-intl php54-php-pecl-apc

ownCloudでは一部「.htaccess」を利用しているため「DocumentRoot」配下の「.htaccess」が有効になるように設定しましょう。CentOS 6.5のApacheでは「.htaccess」がデフォルトで無効化されているので有効にします。

「/etc/httpd/conf/httpd.conf」では「DocumentRoot」が「"/var/www/html"」と設定されており「<Directory "/var/www/html">」「</Directory>」の中で「"/var/www/html"」配下の設定がされています。このなかで「AllowOverride」の設定が「.htaccess」の設定になりますので「AllowOverride None」から「AllowOverride All」と設定を変更し「.htaccess」を有効にしてください。有効にしたらapacheを起動しましょう。

 ## vi /etc/httpd/conf/httpd.conf
<Directory "/var/www/html"> 
Options Indexes
FollowSymLinks AllowOverride All #<= AllowOverride NoneからAllへ変更 
Order allow,deny Allow from all
<Directory>
※ 該当部分のみ記載、コメントを省略しています。338行目近辺です。 ## apacheを再起動します。
# service httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ] ※ ここでは最低限の設定に留めてご紹介していますが、実際の設定は運営するサイトに合わせて適切にapacheの設定を行ってください。

ownCloudのインストールと設定

まずownCloudへアクセスするためにhttpsでアクセスできるように設定します。SSHで行っていただいたのと同じようにポートフォワーディングファイアウォールをhttps(port443)で設定してください。ここで一つ注意点があるのですが、ownCloudはサーバーから自分自身へのアクセスが発生するため、ファイアウォールの設定で内部からの通信を許可してください。ちょっと分かりづらいのですが、ファイアウォールの設定で、東京ゾーンであれば「10.1.0.0/22」からアクセスを許可、白河ゾーンであれば「10.2.0.0/22」からのアクセスを許可してください。また、ポートフォワーディング、ファイアウォールで行う場合、同一ポートでのフォワーディング設定(443port <-> 443portなど)を行う必要があります。別ポート(8443port <-> 443portなど)で設定した場合内部からの通信がうまく行きませんのでご注意ください。

それではownCloudをインストールしましょう。ownCloudは3つのインストール方法が提供されています。「Tar or Zip File」「Web Installer」「Linux packages」ですが、今回は「Tar or Zip File」でインストールしていきましょう。(「Linux packages」でCentOS用のrpmも提供されていますが、SCLのphp54ではなくCentOS Baseのphp-5.3系がRequireされています。)

本投稿時点ではowncloud-6.0.2が最新でした。Install ownCloud Serverの「Tar or Zip File」へ最新版のリンクがありますので、確認してください。

##パッケージのダウンロード
# cd /var/tmp
# wget http://download.owncloud.org/community/owncloud-6.0.2.tar.bz2

## パッケージの展開
# cd /var/www/html 
# tar jxvf /var/tmp/owncloud-6.0.2.tar.bz2 
# chown -R apache:apache ownclod ;

※ 権限設定などは運営するサイトに合わせて適切に設定を行ってください。

それでは、ブラウザでアクセスしてみましょう。ファイアウォールの設定ではhttpsを許可したので、httpsでアクセスしてください。URLは「https://PublicIP/owncloud/」になります。アクセスした時にやたらと遅い事象がでた場合は、内側からのファイアウォールアクセスが許可されていないことが原因だと思われますので、ファイアウォールの設定を確認してみてください。

次のような「Create an admin account」のページが表示されれば成功です。

ここではadminのユーザーを指定して作成します。また、Advancedから「Data Folder」の指定や「database」の指定を行うことが可能です。今回はデフォルトで設定しますが、Data Folderなどは本来はWeb経由でアクセスできない場所を指定する方がセキュアになります。

adminのユーザーを指定し「Finish setup」をクリックしましょう。次のような画面になればインストール完了です!

この画面にあるように、PC用、Android用、iPhone用のクライアントをインストールすることで、ローカルとシンクすることもできるようになります。

オブジェクトストレージとの連携設定

はじめにオブジェクトストレージ側の準備が必要です。サポート情報サイトの「オブジェクトストレージ はじめての方へ」にオブジェクトストレージを有効にする方法など、ひと通りの記載がありますので参照していただき、ユーザー作成とownCloudから利用するバケットの作成までを行ってみてください。バケットの作成はownCloudをインストールしたサーバーへs3cmdをインストールするのが簡単で良いと思います。

オブジェクトストレージの準備ができたら、ownCloud側でオブジェクトストレージとの接続を設定します。

まず分かりやすいように、adminユーザーの言語設定を日本語へ変えておきましょう。右上のメニューからPersonalを選択し、Languagesを日本語へ変更します。設定した瞬間から日本語へ変わります。

次に、左下の「アプリ」から「External storage support」を「有効化」してください。

次に、右上のメニューから管理を選択すると「外部ストレージ」の設定項目が増えていると思います。この「外部ストレージ」を設定することで、IDCFのオブジェクトストレージも利用することができます。なお、個人設定の方にも「外部ストレージ」の設定項目が追加されており、個人単位での設定も可能です。個人で設定した場合は自分専用の設定となりますが、adminで設定した場合は適用範囲(全員に見せるなど)を細かく設定することが可能です。

設定はまず、外部ストレージの種類(「ストレージを追加」となっている部分)を「AmazonS3」と選択してください。「フォルダ名」は好きな名称を設定できます。「Access Key」「Secret Key」はオブジェクトストレージのコントロールパネルから確認することが可能です。「Bucket」はownCloud用に作成したバケットを指定してください。ownCloudはバケットの作成までは行ってくれないので、予め作成されたバケットを指定する必要があります。ownCloud自身のアクセスをhttpsにしたので、オブジェクトストレージへのアクセスも「Enable SSL」へチェックを入れてセキュアに行いましょう。最後に「適用範囲」でどのユーザーへ公開するのかを指定します。設定がうまくいくと、左側に緑色の「●」が表示されます。

基本的な設定はこれで完了です。

それでは、左のアイコンから「ファイル」を選択してみましょう。指定した「フォルダ名」でリンクが作成されていると思います。ファイルアップロードなどを試してみて、簡単に使えることを実感してみてください!

Copyright © IDC Frontier Inc.