------
FROM debian:stable-slim
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y --no-install-recommends \
apache2 \
subversion \
libapache2-mod-svn \
libapache2-mod-ldap-userdir \
ldap-utils \
ca-certificates && \
rm -rf /var/lib/apt/lists/*
RUN mkdir -p /var/svn && \
chown -R www-data:www-data /var/svn
RUN a2enmod dav dav_svn authz_svn ldap authnz_ldap
RUN echo '' > /etc/apache2/conf-available/svn.conf && \
echo ' DAV svn' >> /etc/apache2/conf-available/svn.conf && \
echo ' SVNParentPath /var/svn' >> /etc/apache2/conf-available/svn.conf && \
echo ' AuthType Basic' >> /etc/apache2/conf-available/svn.conf && \
echo ' AuthName "SVN Repository"' >> /etc/apache2/conf-available/svn.conf && \
echo ' AuthBasicProvider file ldap' >> /etc/apache2/conf-available/svn.conf && \
echo ' AuthUserFile /etc/apache2/svnpasswd' >> /etc/apache2/conf-available/svn.conf && \
echo ' # ====== AD config example ======' >> /etc/apache2/conf-available/svn.conf && \
echo ' AuthLDAPURL "ldap://ad.example.local/DC=example,DC=local?sAMAccountName?sub"' >> /etc/apache2/conf-available/svn.conf && \
echo ' AuthLDAPBindDN "CN=ldapbind,OU=ServiceAccounts,DC=example,DC=local"' >> /etc/apache2/conf-available/svn.conf && \
echo ' AuthLDAPBindPassword "password"' >> /etc/apache2/conf-available/svn.conf && \
echo ' Require valid-user' >> /etc/apache2/conf-available/svn.conf && \
echo '' >> /etc/apache2/conf-available/svn.conf
RUN a2enconf svn
RUN touch /etc/apache2/svnpasswd && \
chown www-data:www-data /etc/apache2/svnpasswd
EXPOSE 80
CMD ["apachectl", "-D", "FOREGROUND"]
------
podman build -t my-svn-server .
podman volume create svn-data
podman run -d -p 8090:80 -v svn-data:/var/svn --name mysvn my-svn-server
podman exec -it mysvn svnadmin create /var/svn/repo1
podman volume inspect svn-data
podman exec -it mysvn bash
cd /var/svn
chown -R www-data:www-data repo1
exit
------
DAV svn
SVNParentPath /var/svn
AuthType Basic
AuthName "SVN LDAP Auth"
AuthBasicProvider ldap
AuthLDAPURL "ldaps://ldapserver.mycompany.co.jp:636/ou=applications,o=ORG_GROUP?uid?sub"
AuthLDAPBindDN "uid=adminuser,ou=applications,o=ORG_GROUP"
AuthLDAPBindPassword "login-app-password"
Require valid-user
------
SSL非対応の場合は
AuthLDAPURL "ldap://ldapserver.mycompany.co.jp:389/ou=applications,o=ORG_GROUP?uid?sub"
で良いですか。
------
AuthLDAPURL "ldap://ldapserver.mycompany.co.jp:389/ou=applications,o=ORG_GROUP?uid?sub"
LDAPTrustedMode TLS
LDAPVerifyServerCert On
------
.htaccess の記述例(LDAP認証)
------
AuthType Basic
AuthName "LDAP Protected Area"
AuthBasicProvider ldap
AuthLDAPURL "ldap://ldapserver.mycompany.co.jp:389/ou=applications,o=ORG_GROUP?uid?sub"
AuthLDAPBindDN "uid=adminuser,ou=applications,o=ORG_GROUP"
AuthLDAPBindPassword "login-app-password"
Require valid-user
------