Давно уже планировал перенести сайт на новый сервер, с новой версий операционной системы RHEL 7 и сопутствующим ПО. Но, вот после переезда на новый сервер, возникла проблема с аутентификацией у меня на сайте в некоторых разделах. Когда-то я делал заметку Аутентификация пользователей Apache в Active Directory, так вот, этот код на RHEL 7 c новой версией веб-сервера apache не работает:
1 2 3 | # httpd -v Server version: Apache/2.4.6 (Red Hat Enterprise Linux) Server built: Oct 3 2017 09:37:04 |
Полез тогда глядеть документацию, что да как. Выяснилось, что для возвращения работоспособности надо сделать небольшие изменения. Для начала, необходимо установить модуль apache с поддержкой LDAP, так как теперь по умолчанию он не ставится:
1 | #yum install mod_ldap.x86_64 |
После этого не забываем перезапустить веб-сервер apache. Ну и далее, надо привести содержимое файла .htaccess к следующему виду:
1 2 3 4 5 6 7 | AuthName "My secret part" AuthType Basic AuthBasicProvider ldap AuthLDAPUrl "ldap://host.name:3268/DC=host,DC=name?samAccountName?sub?(objectClass=user)" NONE AuthLDAPBindDN "user_for_auth@host.name" AuthLDAPBindPassword "SecretPassword" Require valid-user |
Также, в качестве ограничения тех, кто может аутентифицироваться, можно использовать вхождение пользователя в определённую группу, с помощью Require ldap-group, пример, как его использовать можно поглядеть в прошлой записи.