Первый раз пытаюсь это сделать и совсем запутался.
У меня есть сервер Oracle Linux 7.9 с каталогом, который необходимо предоставить пользователям через HTTP, чтобы они могли загружать файлы для отправки третьим лицам.
Мне легко удалось сделать его видимым и открытым для всех, но до сих пор мне не удалось заставить работать LDAP — он даже не запрашивает учетные данные.
Я выполнил установку yum для: httpd, openldap, openldap-clients, nss_ldap и mod_ldap (согласно инструкциям, найденным в различных статьях в Интернете).
Я отредактировал /etc/httpd/conf/httpd.conf и добавил
LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
(журнал httpd показывает, что они уже загружены, и все равно пропускает их).
В /etc/httpd/conf.d/interfaces.conf у меня есть следующее (отредактировано для безопасности):
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName mywebserer
ServerAlias x.x.x.x
DocumentRoot /
LogLevel warn
ErrorLog "logs/interfaces_prd_webdav_error_log"
CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/webdav_access_log.%Y-%m-%d-%H_%M_%S 5M" "%t %h \"%r\" %>s %b"
LimitXMLRequestBody 131072
DavLockDB /var/lib/dav/lockdb
# ************************************************************
<Directory "/directory/to/export">
AuthType Basic
AuthName "Use Your App Login"
AuthBasicProvider ldap
AuthLDAPURL "ldap://mydomain.local:389/ou=OU1,ou=MyBusiness,dc=mycompany,dc=local?sAMAccountName?sub?(objectClass=*)"
AuthLDAPGroupAttributeIsDN on
AuthLDAPBindDN "ldapsearchuser"
AuthLDAPBindPassword "secret_password"
# Require group cn=group,ou=Groups,dc=mycompany,dc=local
Require valid-user
</Directory>
Alias /files /directory/to/export
<Location /files>
Dav on
Order allow,deny
Allow from all
Require all granted
Options +Indexes
</Location>
</VirtualHost>
«Требовать группу» закомментировано, потому что на данном этапе я просто пытаюсь выполнить и подтвердить первоначальный вызов учетных данных.
Если это имеет значение, сервер, к которому я подключаюсь, — это сервер Linux OpenLDAP, а не Microsoft AD.
Когда я иду в http://x.x.x.x/файлы - Он просто дает мне содержимое каталога, не требуя учетных данных.
Я проверил папку /var/log/httpd после самого последнего доступа (после удаления существующих журналов), и ничего не было добавлено ни в какие файлы журналов.
При перезапуске httpd error_log показывает:
[Вторник, 13 июля, 17:07:00.277230 2021] [mpm_prefork:notice] [pid 11681] AH00170: поймал SIGWINCH, изящно выключился
[Вторник, 13 июля, 17:07:01.345552 2021] [suexec:notice] [pid 15751] AH01232: механизм suEXEC включен (оболочка: /usr/sbin/suexec)
[Вт, 13 июля 17:07:01.357475 2021] [so:warn] [pid 15751] AH01574: модуль ldap_module уже загружен, пропуск
[Вт, 13 июля 17:07:01.357497 2021] [so:warn] [pid 15751] AH01574: модуль authnz_ldap_module уже загружен, пропуск
AH00558: httpd: не удалось надежно определить полное доменное имя сервера с помощью fe80::221:f6ff:fe6e:9c69. Установите директиву 'ServerName' глобально, чтобы подавить это сообщение.
[Вт, 13 июля, 17:07:01.383713 2021] [lbmethod_heartbeat:notice] [pid 15751] AH02282: Нет слота в mod_heartmonitor
[Вт, 13 июля, 17:07:01.387200 2021] [mpm_prefork:notice] [pid 15751] AH00163: настроен Apache/2.4.6 () — возобновление нормальной работы
[Вторник, 13 июля, 17:07:01.387228 2021] [core:notice] [pid 15751] AH00094: Командная строка: '/usr/sbin/httpd -D FOREGROUND'
При попытке доступа к каталогу через браузер я получаю:
В interfaces_prd_webdav_error_log (я не думаю, что я слишком обеспокоен этим банкоматом):
[Вт, 13 июля, 17:07:20.015412 2021] [authz_core: ошибка] [pid 15754] [клиент 10.1.7.44:55820] AH01630: клиент отклонен конфигурацией сервера: /favicon.ico, реферер: http://172.17.9.21 /файлы/
В webdav_access_log:
[13 июля/2021:17:07:19 -0400] 10.1.7.44 "GET /files/HTTP/1.1" 200 1303
[13/Jul/2021:17:07:20 -0400] 10.1.7.44 "GET /favicon.ico HTTP/1.1" 403 213
Кто-нибудь может предложить какие-либо предложения?
Заранее спасибо.