ครั้งแรกที่ลองทำสิ่งนี้และฉันก็หลงทางไปอย่างสิ้นเชิง
ฉันมีเซิร์ฟเวอร์ Oracle Linux 7.9 ที่มีไดเร็กทอรีที่ต้องแชร์กับผู้ใช้ผ่าน HTTP เพื่อให้พวกเขาสามารถดาวน์โหลดไฟล์เพื่อส่งออกไปยังบุคคลที่สาม
ฉันสามารถทำให้มองเห็นได้ง่ายและเปิดให้ทุกคน แต่จนถึงขณะนี้ฉันไม่สามารถทำให้ LDAP ทำงานได้ - มันจะไม่ถามฉันถึงข้อมูลประจำตัวด้วยซ้ำ
ฉันได้ทำการติดตั้ง yum สำหรับ: httpd, openldap, openldap-clients, nss_ldap และ mod_ldap (ตามคำแนะนำที่พบในบทความต่างๆ ทางเว็บ)
ฉันได้แก้ไข /etc/httpd/conf/httpd.conf และเพิ่ม
LoadModule ldap_module โมดูล/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/files - มันให้เนื้อหาของไดเร็กทอรีแก่ฉัน ไม่มีการท้าทายสำหรับข้อมูลประจำตัว
ฉันตรวจสอบโฟลเดอร์ /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 (wrapper: /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 ตั้งค่าคำสั่ง 'ชื่อเซิร์ฟเวอร์' ทั่วโลกเพื่อระงับข้อความนี้
[อ. 13 ก.ค. 17:07:01.383713 2021] [lbmethod_heartbeat:notice] [pid 15751] AH02282: ไม่มี slotmem จาก 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: Command line: '/usr/sbin/httpd -D FOREGROUND'
เมื่อพยายามเข้าถึงไดเร็กทอรีผ่านเบราว์เซอร์ ฉันได้รับ:
ใน interfaces_prd_webdav_error_log (ไม่กังวลมากเกินไปเกี่ยวกับ atm นี้ฉันไม่คิดว่า):
[อ. 13 ก.ค. 17:07:20.015412 2021] [authz_core:error] [pid 15754] [client 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/ก.ค./2021:17:07:20 -0400] 10.1.7.44 "GET /favicon.ico HTTP/1.1" 403 213
ใครสามารถเสนอข้อเสนอแนะใด ๆ ?
ขอบคุณล่วงหน้า.