У меня есть несколько хостов на хосте с Apache. Это тестовая система, и я хотел бы предоставить пользователям доступ к их сайтам с «базовой аутентификацией».
Для этого у меня есть файл vhost с базовой конфигурацией аутентификации:
<VirtualHost *:80>
ServerName demo.com
ServerAlias test.demo.com
DocumentRoot /filepath/to/demo.com/public_html
<Location />
Deny from all
AuthUserFile /filepath/to/demo.com-users
AuthName authorization
AuthType Basic
Satisfy Any
require valid-user
</Location>
</VirtualHost>
Это прекрасно работает и может быть выполнено для каждого домена виртуального хоста.
Вопрос: Для персонала я хотел бы установить глобальную «директиву auth» в обычном файле httpd.conf, которая позволяет им входить во все vhosts за один шаг.
Можно ли это сделать и как?
Вы можете определить один файл паролей для всех своих пользователей, а затем создать файл групп, чтобы классифицировать их в соответствии с их разрешениями виртуального хоста. Вы могли бы создать специальную группу для персонала.
Тогда вместо запроса действительного пользователя вы можете использовать следующее.
AuthGroupFile /usr/local/apache/passwd/groups
Require group GroupName
Для справки вы можете прочитать Впуск более одного человека раздел в https://httpd.apache.org/docs/2.2/howto/auth.html