FROM ubuntu:resolute

ENV SERVER_NAME=localhost

RUN apt-get update && apt-get install -y \
    apache2 \
    subversion \
    libapache2-mod-svn \
    apache2-utils \
    vim \
    nano \
    acl \
    ca-certificates

RUN a2enmod dav \
    && a2enmod dav_svn \
    && a2enmod auth_basic

RUN mkdir -p /var/svn

RUN rm -f /var/www/html/index.html

RUN echo '<Location /svn>' > /etc/apache2/mods-enabled/dav_svn.conf \
    && echo '   DAV svn' >> /etc/apache2/mods-enabled/dav_svn.conf \
    && echo '   SVNParentPath /var/svn' >> /etc/apache2/mods-enabled/dav_svn.conf \
    && echo '   SVNListParentPath On' >> /etc/apache2/mods-enabled/dav_svn.conf \
    && echo '   AuthType Basic' >> /etc/apache2/mods-enabled/dav_svn.conf \
    && echo '   AuthName "Depot Subversion"' >> /etc/apache2/mods-enabled/dav_svn.conf \
    && echo '   AuthUserFile /etc/apache2/dav_svn.passwd' >> /etc/apache2/mods-enabled/dav_svn.conf \
    && echo '   Require valid-user' >> /etc/apache2/mods-enabled/dav_svn.conf \
    && echo '   LimitRequestBody 0' >> /etc/apache2/mods-enabled/dav_svn.conf \
    && echo '</Location>' >> /etc/apache2/mods-enabled/dav_svn.conf

RUN echo "ServerName ${SERVER_NAME}" > /etc/apache2/conf-available/servername.conf \
    && a2enconf servername

RUN chown -R www-data:www-data /var/svn \
    && chmod -R 775 /var/svn \
    && chmod -R g+s /var/svn \
    && setfacl -Rdm u:www-data:rwx /var/svn \
    && setfacl -Rm u:www-data:rwx /var/svn
CMD ["apachectl", "-D", "FOREGROUND"]
