Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- set -e
- [ -z "${WEBDAV_USERNAME}" ] && \
- WEBDAV_USERNAME=webdav
- [ -z "${WEBDAV_PASSWORD}" ] && \
- WEBDAV_PASSWORD=webdav
- sudo apt install -y apache2
- cat <<EOF | sudo tee /etc/apache2/sites-available/webdav.conf
- Alias /webdav /var/www/webdav
- <VirtualHost _default_:443>
- SSLEngine on
- SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
- SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
- </VirtualHost>
- <Location /webdav>
- DAV On
- SSLRequireSSL
- AuthType Digest
- AuthName webdav
- AuthUserFile /etc/apache2/.webdav
- Require valid-user
- </Location>
- EOF
- sudo mkdir /var/www/webdav
- sudo chown www-data:www-data /var/www/webdav
- for mod in dav dav_fs dav_lock ssl auth_digest; do
- sudo a2enmod ${mod}
- done
- sudo a2ensite webdav
- sudo systemctl restart apache2
- # Create digest password file with expect command.
- sudo apt install -y expect
- expect -c "
- set timeout -1
- spawn sudo htdigest -c /etc/apache2/.webdav webdav ${WEBDAV_USERNAME}
- expect \"New password: \"
- send \"${WEBDAV_PASSWORD}\n\"
- expect \"Re-type new password: \"
- send \"${WEBDAV_PASSWORD}\n\"
- expect eof
- "
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement