0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

LAMP環境にてBasic認証のウィンドウが出ない。

Posted at

概要

「インフラとか設定まわりいじってみるか。」と思い立ち、練習がてらBasic認証の設置に挑戦。
手順通り進めたものの、想定したウィンドウが出ない。以下、試したことと解決策を列挙。
環境は以下の通り。

・CentOS 7
・PHP 7.2
・Apache 2.3

準備・試したこと

ファイル

・file.php : 認証をかけたいファイル
・.htaccess : 認証の設定ファイル
・.htpasswd : IDとパスワードの設置場所

中身

file.php
<?php
//パスワードを記録したファイルの場所
echo __FILE__;
// /~/file.php

echo '<br>';
//パスワード(暗号化)
echo(password_hash('パスワード', PASSWORD_BCRYPT));

?>

↓.htaccess

AuthType Basic
AuthName "IDとパスワードを入力してください。"
AuthUserFile /~/.htpasswd
require valid-user

(※ファイル末尾は改行入れておく)

↓.htpasswd


admin:(暗号化されたパスワード)

(※ファイル末尾は改行入れておく)

試したこと

・ファイルの記述漏れ、ファイル名の間違い確認
・キャッシュのクリア
・.htaccessの操作権限確認(通常ファイルと同様644等であればよいとのこと)

上記はいずれも問題なしとのこと。しばし調査を続けていたところ、解決策を発見。

解決策

httpd.confから「.htaccess」を使用する許可をすること。

# AllowOverride controls what directives may be placed in .htaccess files.
# It can be “All”, “None”, or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
# AllowOverride None
AllowOverride All

AllowOvewrrideを「None」から「All」に変更してあげたところうまく動いてくれた模様。

今回お世話になった先人の知恵

・ApacheでBasic認証設定
https://qiita.com/syama1127/items/d72aa5d8786fe19f26ff

・ApacheのBasic認証が効かない場合に確認すべきことはコレ
https://www.yajiuma-soul.com/entry/20160617-1466110800

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?