CentOS7でBasic認証をかける方法

技術

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

コメント

タイトルとURLをコピーしました