Webページを開発している際に、公開を防ぐためにBasic認証を導入する方法をメモ。
AWSやGCPだとネットワーク設定をインスタンス外からできるが、今回はサーバー内での設定を想定。
またroot権限操作が可能なサーバを想定。
環境
サーバー: さくらVPS
OS: CentOS7
WebAPP: WordPress (Apache)
対応方法
ユーザの作成
Basic認証用のユーザを作成する。一時的な(開発専用の)アカウントなので、devuserとして作成する。
置き場所はどこでもいいが、conf周りと考え、/etc/httpd/conf以下で作成を行なった。
sudo htpasswd -c /etc/httpd/conf/.htpasswd devuser
Basic認証の設定
これも設定ファイルの置き場所候補はいくつかあるが、管理しやすいように/etc/httpd/conf.d以下にauth_basic.confを新規作成して管理を行なった。
ちなみにWordPressプラグインでも、設定は可能だが、その場合、/var/www/html/.htaccessあたりに追記されることが多いので、コンフリクトに注意。
sudo vi /etc/httpd/conf.d/auth_basic.conf
#以下を追記
<Directory /var/www/html>
AuthType Basic
AuthName "Basic Authentication"
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user
</Directory>
最後にhttpdを再起動する。
sudo systemctl restart httpd
コメント