我正在尝试使用 AuthExternal 和 pwauth 在我的 Apache2 服务器上设置基本身份验证。因此使用系统用户而不是另一个用户 db 来执行身份验证。
我可以无缝安装和启用所有内容。Apache2 (2.4.12-2ubuntu2)、libapache2-mod-authnz-external (3.3.2-0.1) 和 pwauth (2.3.11-0.1)。它都在我的 Ubuntu 15.10 桌面版和 Linux 4.2.0-30-generic 上运行。没什么特别的,所有标准的willy repo 都安装了。
Apache2 正在运行并且 AuthExternal 模块已正确加载,至少据我所知:
me@bla:~$ systemctl status apache2.service | grep Active
Active: active (running) since Thu 2016-02-25 13:41:02 CET; 33s ago
me@bla:~$ apache2ctl -M | grep external
authnz_external_module (shared)
Run Code Online (Sandbox Code Playgroud)
我已经定义了要使用的模块以及要在 VHost 配置文件中应用身份验证的 Derictory。请参阅下面的 /etc/apache2/sites-enabled/000-default.conf:
<IfModule mod_authnz_external.c>
AddExternalAuth pwauth /usr/sbin/pwauth
SetExternalAuthMethod pwauth pipe
</IfModule>
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/html/sec>
AuthType …Run Code Online (Sandbox Code Playgroud)