PHP
AWS
Laravel
ElasticBeanstalk
Basic認証

AWS Beanstalk で作ったLaravel環境にBASIC認証をかける最もカンタンな方法

More than 1 year has passed since last update.


結論

public ディレクトリにいつものように、.htpasswd を作って、同じディレクトリの .htaccess を書き換えます。

ポイントは、htpasswdが設置されている絶対パスがどこなのか?ですが、ふつうに /var/www/html/publicだったと。


/public/.htpasswd

admin:(パスワード生成ツールなどで作ったハッシュ)



/public/.htaccess

AuthType Basic

AuthName "Input your ID and Password."
AuthUserFile /var/www/html/public/.htpasswd
require valid-user

<IfModule mod_rewrite.c>
....以下はそのまま



パスが違うようです

もしかしたら構成によって変わるかもしれません。不安な場合は info.php を作って確認後に消すとかすると良いかと思います。


/public/info.php

<?php

phpinfo();

image.png


なんなのこの投稿?

いや、ググらせていただいたんですが、「開発環境だけ利くようにする」とか「パスワードを自動的に作る」とかカッコいい方法がいろいろ出てきて、逆に「いや、とりあえず環境分けなくていいんで」とか「いつものやりかたはダメなの?」と思ってしまったけど、そんなことないよ! と言いたかっただけです。

Elastic Beanstalk すごいっすねー。前にLaravel環境構築したときは、サーバーにあれやこれやと前提条件がついた上に、MySQLでデータベース開いてvendorをFTPでアップして……とかやっていたのですが。もう作成も更新もGITにPUSHするだけとは。

そんな話もまた機会と需要があれば書きたいですね

(^^)