Apache2 Basic 認証とPAMを設定する方法
環境
Ubuntu 24.04
Apache2
概要
特定のページに対してアクセス制限をかけ、OS のユーザーで認証するように設定します。
使用例
[/var/www/html/auth-pam] ディレクトリ配下を認証対象として設定します。
1.ライブラリをインストール
# apt -y install libapache2-mod-authnz-external pwauth
2.設定ファイルを編集します
# vi /etc/apache2/sites-available/auth-pam.conf
# 新規作成
AddExternalAuth pwauth /usr/sbin/pwauth
SetExternalAuthMethod pwauth pipe
<Directory /var/www/html/auth-pam>
SSLRequireSSL
AuthType Basic
AuthName "PAM Authentication"
AuthBasicProvider external
AuthExternal pwauth
require valid-user
</Directory>
# 新規作成
AddExternalAuth pwauth /usr/sbin/pwauth
SetExternalAuthMethod pwauth pipe
<Directory /var/www/html/auth-pam>
SSLRequireSSL
AuthType Basic
AuthName "PAM Authentication"
AuthBasicProvider external
AuthExternal pwauth
require valid-user
</Directory>
# 新規作成 AddExternalAuth pwauth /usr/sbin/pwauth SetExternalAuthMethod pwauth pipe <Directory /var/www/html/auth-pam> SSLRequireSSL AuthType Basic AuthName "PAM Authentication" AuthBasicProvider external AuthExternal pwauth require valid-user </Directory>
3.ディレクトリを作成します
# mkdir /var/www/html/auth-pam
# a2ensite auth-pam
4.apache2を再起動します
# systemctl reload apache2
5.テストページ作成
# vi /var/www/html/auth-pam/index.html
<html>
<body>
<p style="width: 100%; font-size: 40px; text-align: center;">
Test Page for PAM Auth Sample
</p>
</body>
<html>
<body>
<p style="width: 100%; font-size: 40px; text-align: center;">
Test Page for PAM Auth Sample
</p>
</body>
<html> <body> <p style="width: 100%; font-size: 40px; text-align: center;"> Test Page for PAM Auth Sample </p> </body>