AFAIK esta funcionalidade simplesmente não está disponível nos módulos padrão atuais.
Então, se você não quiser instalar o python, provavelmente terá que alterar o código um pouco.
Se você quiser autenticar usuários apenas pelo nome de usuário, você pode fazê-lo editando mod_authn_dbd.c.
Este arquivo é avaialable na conta do Apache Github e aqui está o link para ele: mod_authn_dbd.c .
Deve haver as linhas 183-187 destacadas:
rv = apr_password_validate(password, dbd_password);
if (rv != APR_SUCCESS) {
return AUTH_DENIED;
}
Você desejará comentar / excluir todos eles. Permitindo que você use QUALQUER senha (incluindo deixar a caixa em branco) para autenticação.
Então, depois de salvar e aplicar as alterações no arquivo. Você precisará compilá-lo.
Isso é feito usando o comando: apxs2
no unix.
sudo apxs2 -iac mod_authn_dbd.c
Ele irá compilar e automaticamente ativá-lo depois.
Se você está tendo problemas para executar este comando, provavelmente você está perdendo o httpd-devel (centos) ou o apache2-dev (ubuntu).
Agora, no seu arquivo de configuração, exclua:
AuthBasicProvider anon
Anonymous_NoUserID on
adicione:
AuthBasicProvider dbd
Require valid-user
# mod_authn_dbd SQL query to authenticate a user
AuthDBDUserPWQuery "select user_name from user_info where user_name = %s"
Assim, a configuração que você postou acima deve ficar assim:
AuthType basic
AuthName "Please use license ID as user name, password is irrelevant"
AuthBasicProvider dbd
Require valid-user
# mod_authn_dbd SQL query to authenticate a user
AuthDBDUserPWQuery "select user_name from user_info where user_name = %s"
# "authorized" is the name of an imaginary group that is returned by AuthzDBDQuery
# when username matches license ID in the database
Require dbd-group authorized
AuthzDBDQuery "select 'authorized' from user_info where user_name = %s"
Você poderá autenticar seu usuário apenas com o número de licença dele e fazer o que for necessário com o authz.
No entanto, eu realmente espero que haja outra solução menos complicada e mais conveniente.
Tenha em mente que, ao fazer isso, se você precisar deste módulo para funcionar corretamente, você terá outro, ou o mesmo problema para resolver, mais uma vez.
Boa sorte!