オープンソースのプロダクトであるownCloudをEC2上に展開してプライベートなオンラインストレージを構築します。
多くのケースでデータ保存場所はS3にしますが、今回はEBS内の領域へ保存する形式で構築します。
S3に保存場所をすれば、実質無制限で高耐久性なオンラインストレージとなります。
EBSよりもS3へ保存するほうがメリットは山程あるのですが、レスポンス検証を行いたかったので今回はEBSへ保管する前提での導入です。
S3等外部ストレージの接続はまた別途記事に致します。
ownCloudの構築
構築の概要は以下のとおりです。
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連携の手順をまとめたいと思います。