パソコン鳥のブログ

アクセスカウンタ

zoom RSS apacheでBasic認証をLixnuxアカウントでおこなう

<<   作成日時 : 2017/03/07 22:54   >>

トラックバック 0 / コメント 0

Apache が動作している Linux のユーザアカウントで Basic認証する方法です。
なお、Digest認証には対応していません。
CentOS6/7,Ubuntu14.04の場合です。


CentOS6


まず、EPELリポジトリを使用できるようにします。
下記記事を参照してください。

CentOS6/7でEPELリポジトリを利用する設定 パソコン鳥のブログ/ウェブリブログ


mod_authnz_external をインストールします。


yum --enablerepo=epel install mod_authnz_external


apache の設定ファイルに下記を追加します。
「識別名」の個所は何でもいいです。


LoadModule authnz_external_module modules/mod_authnz_external.so
DefineExternalAuth 識別名 pipe /usr/bin/pwauth


Basic認証の設定個所では、次を追加します。先に記述した「識別名」と同じものをここでも指定します。


AuthBasicProvider external
AuthExternal 識別名



ここでは、例として、/etc/httpd/conf.d/authnz_external.conf に設定します。

先頭にすでに
LoadModule authnz_external_module modules/mod_authnz_external.so
DefineExternalAuth pwauth pipe /usr/bin/pwauth
があるので、下記をファイルの末尾に追加します。


<Directory /var/www/html>
AuthType Basic
AuthName "Protected Area"
AuthBasicProvider external
AuthExternal pwauth
require valid-user
</Directory>


設定後、apache を再起動します。


/etc/init.d/httpd reload


これで、ブラウザからアクセスした際に、認証が要求されます。
Linux上のユーザアカウント・パスワードで認証できます。


なお、アカウント・パスワードが合っているはずなのに認証が通らない場合は、SELinux が有効になっているかもしれません。
下記のように変更して再起動し、SELinux を無効にしてみて下さい。

/etc/sysconfig/selinux

SELINUX=disabled



CentOS7


まず、EPELリポジトリを使用できるようにします。
下記記事を参照してください。

CentOS6/7でEPELリポジトリを利用する設定 パソコン鳥のブログ/ウェブリブログ

mod_authnz_external をインストールします。


yum --enablerepo=epel install mod_authnz_external


apache の設定ファイルに下記を追加します。
「識別名」の個所は何でもいいです。


LoadModule authnz_external_module modules/mod_authnz_external.so
DefineExternalAuth 識別名 pipe /usr/bin/pwauth


Basic認証の設定個所では、次を追加します。先に記述した「識別名」と同じものをここでも指定します。


AuthBasicProvider external
AuthExternal 識別名



ここでは、例として、/etc/httpd/conf.d/authnz_external.conf に設定します。

/authnz_external.conf の先頭にすでに
LoadModule authnz_external_module modules/mod_authnz_external.so
DefineExternalAuth pwauth pipe /usr/bin/pwauth
の記述があるので、下記をファイルの末尾に追加します。


<Directory /var/www/html>
AuthType Basic
AuthName "Protected Area"
AuthBasicProvider external
AuthExternal pwauth
require valid-user
</Directory>


設定後、apache を再起動します。


systemctl restart httpd


これで、ブラウザからアクセスした際に、認証が要求されます。
Linux上のユーザアカウント・パスワードで認証できます。


Ubuntu14.04


ibapache2-mod-authnz-external をインストールします。

apt-get install libapache2-mod-authnz-external


モジュール authnz_external、auth_basic を有効にします。

a2enmod authnz_external
a2enmod auth_basic
service apache2 restart


apache の設定ファイルに下記を追加します。
「識別名」の個所は何でもいいです。


DefineExternalAuth 識別名 pipe /usr/sbin/pwauth


Basic認証の設定個所では、次を追加します。先に記述した「識別名」と同じものをここでも指定します。


AuthBasicProvider external
AuthExternal 識別名



ここでは、例として、/etc/apache2/sites-enabled/000-default.conf に設定します。

/etc/apache2/sites-enabled/000-default.conf の最後に下記を追加します。


DefineExternalAuth pwauth pipe /usr/sbin/pwauth
<Directory /var/www/html>
AuthType Basic
AuthName "Protected Area"
AuthBasicProvider external
AuthExternal pwauth
require valid-user
</Directory>


設定後、apache を再起動します。


service apache2 reload


これで、ブラウザからアクセスした際に、認証が要求されます。
Linux上のユーザアカウント・パスワードで認証できます。



以上、Apache が動作している Linux のユーザアカウントで Basic認証する方法でした。


参考


Apacheのbasic認証とdigest認証 パソコン鳥のブログ/ウェブリブログ
Ubuntu 14.04 LTS : WEBサーバー : Basic認証 + PAM : Server World
Sambaのパスワードデータベースを利用してApacheのBASIC認証を行う - ブログ - ワルブリックス株式会社
ConfigApache24 · haegar/mod-auth-external Wiki · GitHub
CentOS 7 : Apache httpd : Basic 認証 + PAM : Server World


テーマ

関連テーマ 一覧


月別リンク

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
apacheでBasic認証をLixnuxアカウントでおこなう パソコン鳥のブログ/BIGLOBEウェブリブログ
文字サイズ:       閉じる