🤖

Amazon Lightsailを用いたOmeka Sサイトの構築(独自ドメイン+SSL化を含む)

2022/04/26に公開

更新履歴

  • 2022/09/08 スクリプトの記述を最新化しました。

概要

Amazon Lightsailは以下のような説明がなされています。

Amazon Lightsail は、コンテナなどのクラウドリソースを予測可能な低価格で簡単に管理できる、使いやすい仮想プライベートサーバー (VPS) です。

今回は、このAmazon Lightsailを用いたOmeka Sの構築方法を紹介します。合わせて、データベースの公開にあたり一般的に求められる「独自ドメイン」「SSL」設定についても扱います。

Amazon Lightsail

インスタンスの作成

以下のページにアクセスします。

https://lightsail.aws.amazon.com/ls/webapp/home/instances

そして、以下の「Create Instance」ボタンをクリックします。

「Select a blueprint」において、「LAMP (PHP 7)」を選択します。

「Choose your instance plan」において、インスタンスプランを選択します。今回は最も低価格のプランを選びました。

起動したら、以下のインスタンスのページにアクセスして、「Connect using SSH」ボタンを押します。

以下の画面が表示されます。

Linux ip-172-26-5-202 4.19.0-19-cloud-amd64 #1 SMP Debian 4.19.232-1 (2022-03-07) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
       ___ _ _                   _
      | _ |_) |_ _ _  __ _ _ __ (_)
      | _ \ |  _| ' \/ _` | '  \| |
      |___/_|\__|_|_|\__,_|_|_|_|_|
  
  *** Welcome to the LAMP packaged by Bitnami 7.4.28-14                 ***
  *** Documentation:  https://docs.bitnami.com/aws/infrastructure/lamp/ ***
  ***                 https://docs.bitnami.com/aws/                     ***
  *** Bitnami Forums: https://community.bitnami.com/                    ***
bitnami@ip-172-26-5-202:~$ 

インスタンス内での作業

ファイルの移動

まず、必要なファイルのダウンロードや移動を行います。

cd .

# omeka-sの公開パスの指定
# omeka_path=/home/bitnami/htdocs/omeka-s
omeka_path=/home/bitnami/htdocs

mkdir $omeka_path

# Omekaのダウンロード
wget https://github.com/omeka/omeka-s/releases/download/v3.2.3/omeka-s-3.2.3.zip
unzip omeka-s-3.2.3.zip

# ファイルの移動
mv omeka-s/* $omeka_path

# .htaccessの移動
mv omeka-s/.htaccess $omeka_path

# 元からあったindex.htmlを削除(もし存在すれば)
rm $omeka_path/index.html

データベースの作成

次にデータベースを作成します。

# パスワードの確認(パスワードが表示されます。)
cat /home/bitnami/bitnami_application_password

# 上記のパスワードを使ってmysqlに入る
mysql -u root -p

# データベースを作成する(omekasの部分は任意)
MariaDB [(none)]> create database omekas;
Query OK, 1 row affected (0.002 sec)

MariaDB [(none)]> quit;

Omeka Sの設定

次に、Omeka Sの設定ファイルを修正します。

vi $omeka_path/config/database.ini

以下のようにファイルの内容を修正する。

user     = "root"
password = "(先ほど確認したパスワード)"
dbname   = "omekas" # 先ほど作成したデータベース名
host     = "localhost"
;port     = 
;unix_socket = 
;log_path = 

また、filesフォルダの所有者を変更します。

sudo chown -R daemon:daemon $omeka_path/files

さらに、サムネイル画像の生成等に必要な、imagemagickをインストールしておきます。

sudo apt install imagemagick -y

ブラウザでの設定

Amazon Lightsailのインスタンスの画面で、「Public IP」に表示されるIPアドレスにアクセスします。

以下のように、インストール画面が表示されます。

あとは、基本的なOmeka Sの操作方法と同じです。以下の記事などを参考に、Omeka Sをご活用ください。

https://nakamura196.hatenablog.com/entry/2022/03/01/121931

独自ドメインの付与

ここからはオプショナルな作業について記述します。「独自ドメインの付与」「SSL化」「Basic認証」について扱います。

静的IPアドレスの付与

独自ドメインの付与については、まず静的なIPアドレスを付与します。「Networking」タブから「+ Create static IP」のリンクをクリックします。

以下の画面で「Create」ボタンを押します。

結果、静的なIPアドレスが付与されました。

Route 53

ここでは、Route 53を用いた独自ドメインの付与を行います。例えば、以下のように設定します。

しばらくすると、以下のようなアドレスでアクセスできるようになります。

SSL化

次に、SSL化を行います。再度インスタンスにsshでアクセスして、以下を実行します。

bitnami@ip-172-26-5-202:~$ sudo /opt/bitnami/bncert-tool

以下のように質問に回答します。(以下、一部分です。)

Domain list []: omeka.aws.ldas.jp

The following domains were not included: www.omeka.aws.ldas.jp. Do you want to add them? [Y/n]: n

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: [Enter]

Do you agree to these changes? [Y/n]: Y

これにより、先のURLにアクセスすると、HTTPSにリダイレクトされます。

ここまでの作業により、独自ドメインとSSLを用いた最低限の公開環境が整います。

(参考)Basic認証

今回はBasic認証をかける必要があったため、その備忘録です。まず、ユーザを作成します。

sudo htpasswd -c /opt/bitnami/apache2/.htpasswd <username>
New password: 
Re-type new password: 
Adding password for user <username>

次に、.htaccessの先頭に認証情報を追記します。

vi /home/bitnami/htdocs/.htaccess
AuthType Basic
AuthName MyAuthName
AuthUserFile "/opt/bitnami/apache2/.htpasswd"
Require valid-user

この結果、以下のように、Basic認証が適用されました。

まとめ

以上、Amazon Lightsailを用いたOmeka Sの基本的なセットアップ方法と、Basic認証といったオプショナルな作業をまとめました。

Omeka Sを用いたデジタルアーカイブシステム構築時の参考になりましたら幸いです。

Discussion