sudo apt-get install libapache2-mod-authz-unixgroup pwauth
habilitamos el módulo
sudo a2enmod authnz_external
Editamos el sitio (en mi caso mczones.conf ), en mi caso he creado tres directorios dos con autenticación básica y otro el de alumnos con PAM. Se debería instalar, en cualquier caso, el uso de certificados obligatorio ya que sino las contraseñas irán en plano.
ServerAdmin webmaster@mczones.es
ServerName www.mczones.es
ServerAlias mczones.es
DirectoryIndex index.html
DocumentRoot /var/www/mczones/
<directory />
Options FollowSymLinks
AllowOverride None
</directory>
<directory /var/www/mczones>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</directory>
<directory /var/www/mczones/privado>
AllowOverride AuthConfig
AuthType Basic
AuthName "Acceso restringido a alumnos A Carballeira"
# (La siguiente línea es opcional)
AuthBasicProvider file
AuthUserFile /etc/apache2/mczones/passwords
Require valid-user
Order allow,deny
Allow from all
</directory>
<directory /var/www/mczones/profesores>
AllowOverride AuthConfig
AuthType Basic
AuthName "Acceso restringido a profesores de A Carballeira"
# (La siguiente línea es opcional)
AuthBasicProvider file
AuthUserFile /etc/apache2/mczones/passwords
Require user pepito
Order allow,deny
Allow from all
</directory>
AddExternalAuth pwauth /usr/sbin/pwauth
SetExternalAuthMethod pwauth pipe
<directory /var/www/mczones/alumnos>
AllowOverride AuthConfig
AuthType Basic
AuthName "Acceso restringido a alumnos de A Carballeira"
# (La siguiente línea es opcional)
AuthBasicProvider external
AuthExternal pwauth
Require user alumno
Order allow,deny
Allow from all
</directory>
</VirtualHost>