Amazon Elastic Computing Cloud(EC2)はAWSのIaaSリソースです。
これを使ってWebサーバーを立てることも多々あると思います。
今回はBasic認証の設定まで行いましたが知識の整理のために要点だけ記載します。
EC2
インスタンスの作成とssh接続
基本的にはAWSのコンソールに従えば問題なくssh接続できます。
- pemキーをダウンロードしたらそのファイルを作業ディレクトリもしくはホームディレクトリへ移動する
-
chmod 400 [pem key]
を実行し、読み取り権限を付与する
chmod
を実行しないとエラーになるので注意が必要です。
apachのインストールと実行
sudo yum install httpd
sudo service httpd start
これだけ。
セキュリティグループの設定
上記の設定をしただけではまだVMに対してhttpでアクセスすることはできません。
内向きのhttpアクセスを許可する必要があります。
これは、インスタンスの説明タブ上にあるセキュリティグループのリンクをクリックすることで編集できます。
既存のルールにHTTPを追加します。
Basic認証
.htaccessと.htpasswd
Basic認証を行うためには.htaccess
と.htpasswd
の二つのファイルが新たに必要になります。
以下が例になります。
AuthUserFile /var/www/html/.htpasswd #自分の環境に合わせる
AuthName “Please enter your ID and password”
AuthType Basic
require valid-user
.htpasswd
には認証に利用するユーザ名とPASSを記入します。
PASSは暗号化されている必要があるので外部サイト等を利用して生成すると良いでしょう。
test:PASSWARD
この後、これらのファイルにchmod
で権限を付与します。
大抵は604/644のどちらかでうまくいくはずです。
httpd.confを編集する必要がある。
見落としがちなので注意が必要です。httpd.conf
を確認してください。
#/var/www/html
AllowOverride None
となっている場合は、
#/var/www/html
AllowOverride All
に書き換える必要があります。これを忘れるとBasic認証が効きません。
私はこれで時間を溶かしました。