AWS EC2にownCloudを導入してプライベートなオンラインストレージを構築する

オープンソースのプロダクトであるownCloudをEC2上に展開してプライベートなオンラインストレージを構築します。
多くのケースでデータ保存場所はS3にしますが、今回はEBS内の領域へ保存する形式で構築します。

S3に保存場所をすれば、実質無制限で高耐久性なオンラインストレージとなります。
EBSよりもS3へ保存するほうがメリットは山程あるのですが、レスポンス検証を行いたかったので今回はEBSへ保管する前提での導入です。

S3等外部ストレージの接続はまた別途記事に致します。

ownCloudの構築

構築の概要は以下のとおりです。

手順1
EC2の展開
マーケットプレイスからBitnami版のownCloudを展開します。
手順2
EIPの付与
パブリックから利用をしますのでEIPを付与します。
手順3
EIPに変更するとアクセスが拒否されますので設定変更をします。
手順4
Bitnamiのバナー削除
Bitnamiおなじみのバナーを削除します。
手順5
Aレコードの登録(任意)
独自ドメインを設定する場合はAレコードを追加。
SSL化
https接続設定を行います。
手順7
動作確認
各種動作確認。

ownCloud EC2の展開

AWSのマネージドコンソールからEC2を選択し、インスタンスの作成を選択します。

AMIの検索画面が表示されますので「ownCloud」と検索し、AWS Marketplace内の「ownCloud Certifield by Bitnami」を選択します。

料金等の詳細説明が表示しますので「Continue」を選択します。

任意のインスタンスを選択します。
nanoでもmicroでも問題なさそうです。
一応セットアップ中にリソース不足になっても嫌なのでsmallで起動してみました。

パブリックIPの割当を有効にします。

ストレージは任意のサイズを入力してください。
後々拡張も可能です。
別ボリュームにする場合はマウント→configファイルを編集してデータの格納場所を変更する必要がございます。

タグは任意のタグを入力してください。
なくてもOKです。

セキュリティグループはセキュリティポリシーに合わせて変更してください。
SSL化した後はHTTPは不要です。
SSHも特定のネットワークからのみ許可したほうがセキュアです。

[

最後にキーペアをダウンロードして作成を行ってください。

作成後、ownCloudの初期パスワードを調べてます。

以下のファイルをSSH後に閲覧するか、ownCloudのインスタンスを選択→アクション→インスタンスの設定→システムログの取得 を選択し、システムログ中のパスワードを確認します。

/home/bitnami/bitnami_credentials

以下のログにパスワードが記載されております。
ユーザ名は user です。

EIPの付与

続いてEIPの付与を行い、グローバルIPの固定を行います。
EC2→Elastic IP→Elastic IP アドレスの割り当てを選択します。

割り当てはAmazonのIPv4アドレスプール を選択します。

IPの割り当てが完了しましたら先ほど立ち上げたEC2に関連付けしてください。

信頼できるドメイン設定

EIPを割当し、そのEIPにアクセスすると以下のように信頼されていないドメインからのアクセス、と表示されます。

初期割り当てのグローバルIPは、自動的にconfigファイルに書き込まれるのでアクセスが出来ますが、
IPを変更するとconfigファイルを変更する必要がございます。

ownCloudのEC2にSSH接続して以下のコマンドを実行してconfigファイルを編集してください。

sudo vim /home/bitnami/apps/owncloud/htdocs/config/config.php

configファイルは以下の箇所を変更してください。

<?php
$CONFIG = array (
 'passwordsalt' => 'xxxxxxxxxxxxxxxx',
 'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
 'trusted_domains' =>
 array (
  0 => '127.0.0.1',
  1 => '<ここをEIPに変更>',
 ),

独自ドメインに設定を予定されている方は
2 => ‘example.com’,
のように独自ドメインに変更して追記してください。

変更後、ownCloudを再起動します。以下のコマンドを実行して再起動してください。

sudo /opt/bitnami/ctlscript.sh restart

再起動EIPでアクセスすると以下のようにログイン画面が表示します。

Bitnamiのバナー削除

右下に表示しているBitnamiのロゴ画像を恒久的に削除します。

以下のコマンドを実行して削除します。

sudo /opt/bitnami/apps/owncloud/bnconfig --disable_banner 1

反映するためにapacheの再起動をします。

sudo /opt/bitnami/ctlscript.sh restart apache

Aレコードの登録(任意)

続いて独自ドメイン設定です。
独自ドメインに設定しない方は次の項目に進んでください。

EIPをドメイン管理画面でAレコードで任意のサブドメイン名で設定を行ってください。

設定したドメインは、信頼できるドメインとしてconfigファイルに反映をお忘れないようお気をつけください。

ownCloudのSSL化

BitnamiのインスタンスをSSLかするのは非常に簡単です。

以下のコマンドを実行してSSLツールを流すだけです。

sudo /opt/bitnami/bncert-tool

設定を入力する箇所は、SSL化したいドメイン名とメールアドレスを入力するだけです。

入力例は以下のとおりです。

----------------------------------------------------------------------------
Welcome to the Bitnami HTTPS Configuration tool.
----------------------------------------------------------------------------
Domains
Please provide a valid space-separated list of domains for which you wish to 
configure your web server.
Domain list []: example.com <<<<ここにドメイン名
The following domains were not included: www.example.com. Do you want to add them? [Y/n]: n <<<wwwのサブドメイン名で公開する場合はy
Warning: No www domains (e.g. www.example.com) or non-www domains (e.g. 
www.example.com) have been provided, so the following redirections will be 
disabled: non-www to www, www to non-www.
Press [Enter] to continue:
----------------------------------------------------------------------------
Enable/disable redirections
Please select the redirections you wish to enable or disable on your Bitnami 
installation.
Enable HTTP to HTTPS redirection [Y/n]: y <<<<httpから自動的にhttpsにリダイレクトする場合はy
----------------------------------------------------------------------------
Changes to perform
The following changes will be performed to your Bitnami installation:
1. Stop web server
2. Configure web server to use a free Let's Encrypt certificate for the domains: 
example.com
3. Configure a cron job to automatically renew the certificate each month
4. Configure web server name to: example.com
5. Enable HTTP to HTTPS redirection (example: redirect 
http://example.com to https://example.com)
6. Start web server once all changes have been performed
Do you agree to these changes? [Y/n]: y <<<<yを入力
----------------------------------------------------------------------------
Create a free HTTPS certificate with Let's Encrypt
Please provide a valid e-mail address for which to associate your Let's Encrypt 
certificate.
Domain list: example.com
Server name: example.com
E-mail address []: xxx@example.com <<<ご自身のメールアドレスを入力
The Let's Encrypt Subscriber Agreement can be found at:

なぜか独自ドメインのメールアドレスだと拒否されました…。
gmailなら問題なく通りました。

以下の用にSuccessと表示されましたら設定完了です。

----------------------------------------------------------------------------
Performing changes to your installation
The Bitnami HTTPS Configuration Tool will perform any necessary actions to your 
Bitnami installation. This may take some time, please be patient.
----------------------------------------------------------------------------
Success
The Bitnami HTTPS Configuration Tool succeeded in modifying your installation.
The configuration report is shown below.

動作確認

一通り初期設定が完了しましたので動作確認を行います。

システムログで確認したパスワードでログインしてください。(ユーザ名はuser)

問題なくログイン出来ましたら以下の画面が表示します。

アップロードも問題なければ構築完了です。

次回はAD連携の手順をまとめたいと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です