Advertisement
Guest User

Untitled

a guest
May 6th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. set -e
  4.  
  5. [ -z "${WEBDAV_USERNAME}" ] && \
  6. WEBDAV_USERNAME=webdav
  7. [ -z "${WEBDAV_PASSWORD}" ] && \
  8. WEBDAV_PASSWORD=webdav
  9.  
  10. sudo apt install -y apache2
  11.  
  12. cat <<EOF | sudo tee /etc/apache2/sites-available/webdav.conf
  13. Alias /webdav /var/www/webdav
  14.  
  15. <VirtualHost _default_:443>
  16. SSLEngine on
  17. SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
  18. SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
  19. </VirtualHost>
  20.  
  21. <Location /webdav>
  22. DAV On
  23. SSLRequireSSL
  24. AuthType Digest
  25. AuthName webdav
  26. AuthUserFile /etc/apache2/.webdav
  27. Require valid-user
  28. </Location>
  29. EOF
  30.  
  31. sudo mkdir /var/www/webdav
  32. sudo chown www-data:www-data /var/www/webdav
  33.  
  34. for mod in dav dav_fs dav_lock ssl auth_digest; do
  35. sudo a2enmod ${mod}
  36. done
  37. sudo a2ensite webdav
  38. sudo systemctl restart apache2
  39.  
  40. # Create digest password file with expect command.
  41. sudo apt install -y expect
  42. expect -c "
  43. set timeout -1
  44. spawn sudo htdigest -c /etc/apache2/.webdav webdav ${WEBDAV_USERNAME}
  45. expect \"New password: \"
  46. send \"${WEBDAV_PASSWORD}\n\"
  47. expect \"Re-type new password: \"
  48. send \"${WEBDAV_PASSWORD}\n\"
  49. expect eof
  50. "
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement