Enable WebDAV on Apache.

This commit is contained in:
James Barnett 2017-04-13 16:52:10 -05:00
parent 3002800d20
commit 7b60422bbf
No known key found for this signature in database
GPG Key ID: 647983861A4EC5EA
2 changed files with 61 additions and 6 deletions

View File

@ -0,0 +1,39 @@
#
# Distributed authoring and versioning (WebDAV)
#
# Required modules: mod_dav, mod_dav_fs, mod_setenvif, mod_alias
# mod_auth_digest, mod_authn_file
#
# The following example gives DAV write access to a directory called
# "uploads" under the ServerRoot directory.
#
# The User/Group specified in httpd.conf needs to have write permissions
# on the directory where the DavLockDB is placed and on any directory where
# "Dav On" is specified.
Alias /uploads "/var/www/uploads"
<Directory "/var/www/uploads">
AllowOverride All
Dav On
<Limit GET HEAD POST DELETE OPTIONS PUT>
Order Allow,Deny
Allow from all
</Limit>
</Directory>
#
# The following directives disable redirects on non-GET requests for
# a directory that does not include the trailing slash. This fixes a
# problem with several clients that do not appropriately handle
# redirects for folders with DAV methods.
#
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully

View File

@ -17,6 +17,11 @@ directory '/var/www/cgi-bin' do
recursive true
end
directory '/var/www/uploads' do
mode '0777'
recursive true
end
cookbook_file '/var/www/cgi-bin/hello_world.sh' do
source 'apache/hello_world.sh'
mode '0755'
@ -27,16 +32,27 @@ cookbook_file '/etc/apache2/conf-available/cgi-bin.conf' do
mode '0644'
end
execute 'enable-cgi-mod' do
command 'a2enmod cgi'
cookbook_file '/etc/apache2/conf-available/dav.conf' do
source 'apache/dav.conf'
mode '0644'
end
execute 'enable-cgi-bin-conf' do
command 'a2enconf cgi-bin'
bash "configure cgi" do
code <<-EOH
a2enmod cgi
a2enconf cgi-bin
a2disconf serve-cgi-bin
EOH
end
execute 'disable-serve-cgi-bin-conf' do
command 'a2disconf serve-cgi-bin'
bash "configure webDAV" do
code <<-EOH
a2enmod dav
a2enmod dav_fs
a2enmod dav_lock
a2enmod auth_digest
a2enconf dav
EOH
end
execute 'make /var/www/html writeable' do