まだ完全ではないけれど、一応LDAP認証でログインできたので忘れないうちにメモ。
ちなみにOSはUbuntu22.04。
まずはLDAPのインストール。ついでにコマンドラインのクライアントも。それにしてもなかなかブラックなコマンド名だこと。
sudo apt install slapd ldap-utils cadaver
次にWebDAV用のフォルダを作成
sudo mkdir /webdav sudo chown -R www-data:www-data /webdav
WebDAV用の設定ファイルを作る
cd /etc/apache2/sites-available sudo vim webdav.conf
その中身は以下のよう。
Alias /webdav /webdav <Location /webdav> DAV On #SSLRequireSSL Options None AuthType Basic AuthName WebDAV AuthBasicProvider ldap AuthLDAPURL ldap://localhost/dc=example,dc=com?uid #Require ldap-filter objectClass=posixAccount #AuthUserFile /etc/httpd/conf/.htpasswd <RequireAny> Require method GET POST OPTIONS Require valid-user </RequireAny> </Location>
さらにモジュールやサイトの設定を有効化し、
sudo a2enmod dav sudo a2enmod dav_fs sudo a2enmod authnz_ldap sudo a2ensite webdav
Apache2を再起動する。
sudo service apache2 restart
これでcadaverでアクセスしてみる。
cadaver http://localhost/webdav
上記にはないけれど、無事OpenLDAPで設定したアカウントでログインできた。逆にパスワードが違うとちゃんとはねられた。
ちなみに肝腎なOpenLDAPの方の設定方法はまたいずれ。というかまだまだ理解できていない。