centosのapache(httpd)は /etc/httpd/conf.d/n内のファイルにファイルの実体などのの設定がある
sudo vi /etc/httpd/conf.d/phpMyAdmin.conf
AllowOverride Allを追記する
. . .
<Directory /usr/share/phpMyAdmin/>
AllowOverride All
<IfModule mod_authz_core.c>
. . .
</Directory>
. . .
sudo systemctl restart httpd.service
.htaccessファイルを作成する
設定でoverride指令があるので、Apacheはディレクトリ.htaccess
内で呼び出されたファイルを探します/usr/share/phpMyAdmin
。見つかった場合は、その中に含まれている指示文を使用して、以前の構成データを補足します。
sudo vi /usr/share/phpMyAdmin/.htaccess
AuthType Basic
AuthName "Admin Login"
AuthUserFile /etc/httpd/pma_pass
Require valid-user
これらの行のそれぞれが何を意味するかを見てみましょう:
- AuthType Basic:この行は、実装している認証タイプを指定します。このタイプは、パスワードファイルを使用したパスワード認証を実装します。
- AuthName:これは、認証ダイアログボックスのメッセージを設定します。権限のないユーザーが何が保護されているのかについての知識を得ることができないように、この一般的なものを保つ必要があります。
- AuthUserFile:認証に使用される実際のパスワードファイルの場所を設定します。これは、提供されているディレクトリの外にある必要があります。私たちはこのファイルを作成します。
- Require valid-user:これは、認証されたユーザーだけにこのリソースへのアクセスを許可するように指定します。これは、実際に許可されていないユーザーが入るのを阻止するものです。
認証用のパスワードファイルを作成する
sudo htpasswd -c /etc/httpd/pma_pass username
この-c
フラグは、初期ファイルを作成することを示します。ディレクトリの場所は、ファイルに使用されるパスとファイル名です。ユーザー名は、追加したい最初のユーザーです。ユーザーのパスワードを入力して確認するプロンプトが表示されます。
ユーザーを追加するときは -c フラグは使いません
sudo htpasswd /etc/httpd/pma_pass seconduser
コメント