# [Apache-2.2.14-r1] Unknown DAV provider: filesystem [SOLVED]

## mariourk

I have a problem with apache, since I updated to version 2.2.14-r1. After this, DAV stopped working.

When I start Apache, it says:

```

 * apache2 has detected a syntax error in your configuration files:

Syntax error on line 287 of /etc/apache2/vhosts.d/00_default_vhost.conf:

Unknown DAV provider: filesystem

```

This is weird, because DAV always worked fine.

Line 287 says:

```

Dav On

```

I have -D DAV -D DAV_FS -D DAV_LOCK in APACHE2_OPTS in /etc/conf.d/apache2

/etc/apache2/modules.d/45_mod_dav.conf:

```

<IfDefine DAV>

        <IfModule mod_dav_fs.c>

                DavLockDB "/var/lib/dav/lockdb"

        </IfModule>

        <IfModule setenvif_module>

                BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully

                BrowserMatch "MS FrontPage" redirect-carefully

                BrowserMatch "^WebDrive" redirect-carefully

                BrowserMatch "^WebDAVFS/1.[012345678]" redirect-carefully

                BrowserMatch "^gnome-vfs/1.0" redirect-carefully

                BrowserMatch "^XML Spy" redirect-carefully

                BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully

        </IfModule>

</IfDefine>

```

The vhost:

```

<VirtualHost 192.168.1.1:80>

        DocumentRoot "/var/www/localhost/webdav/htdocs"

        <Directory "/var/www/localhost/webdav/htdocs">

                Options Indexes FollowSymLinks

                AllowOverride None

                Order allow,deny

                Allow from 192.168.1.0/255.255.255.0

        </Directory>

        <IfModule peruser.c>

                ServerEnvironment apache apache

                MinSpareProcessors 4

                MaxProcessors 20

        </IfModule>

        <IfModule itk.c>

                AssignUserID apache apache

                MaxClientsVHost 50

        </IfModule>

        <IfModule mod_dav.c>

                Alias /dav /var/www/localhost/webdav/htdocs/dav

                DavMinTimeout 600

                <Location /dav>

                        Options None

                        #below is line 287

                        Dav On

                        <Limit GET PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>

                                AuthType Basic

                                AuthName "WebDav Restricted Repository"

                                AuthUserFile /etc/apache2/passwd_webdav

                                Require user webdav

                        </Limit>

                </Location>

        </IfModule>

        <Location /dav>

                DAV On

                AuthType Basic

                AuthName "WebDAV Restricted"

                AuthUserFile /etc/apache2/passwd_webdav

                require user webdav

        </Location>

        ServerAdmin me@mydomain.nl

        ServerName webdav.mydomain.nl

        ServerAlias webdav.mydomain.nl

        ServerAlias webdav.mydomain.nl

        ErrorLog /var/log/apache2/webdav.mydomain.nl-error_log

        CustomLog /var/log/apache2/webdav.mydomain.nl-access_log common

</VirtualHost>

```

Doesanyone know haw to fix this?  :Confused: 

----------

## mariourk

*bumb*

Noone?   :Sad: 

----------

## DAWG98

 *mariourk wrote:*   

> *bumb*
> 
> Noone?  :(

 

Try <If Define DAV> before the virualhost expression and </IfDefine> after </Virtualhost>

----------

## mariourk

Unfortunately, that is not the solution.

I tried both <If Define DAV> and <IfDefine DAV> but Apache still gives the same error.

Maybe someone else knows how to fix this?

----------

## DAWG98

I just got mine working again.  It tried everything for two days and it turned out that my /etc/conf.d/apache was calling -D FAV (note the F) instead of DAV.  duh....

Either way, its working for our firm's calendars.  We do not have to use the vhost, I just configured it in the dav module (under /modules.d/).

Try running the setup just from the module file (no vhost - i am not sure you need it, since you can define any location via Alias - which you do.)  Also, try running it with the peruser and itk modules commented out to eliminate any issues there (do you need to call those modules separately from the conf.d file?) Why do you have two location sections?  Try commenting the second one out that starts with Dav On after the <Location /dav>.

Either way, I cut all the stuff out so try adding the stuff below to your mod_dav.conf.  Finally, delete -D DAV_LOCK from your APACHE2_OPTS.  I am not sure if that matters, but the its the generic locking module that is different from the locking one found in DAV_FS - so let's just eliminate it as an issue.

```

<IfDefine DAV>

  <IfModule !mod_dav.c>

    LoadModule dav_module    modules/mod_dav.so

  </IfModule>

</IfDefine>

<IfDefine DAV_FS>

  <IfModule !mod_dav_fs.c>

    LoadModule dav_fs_module   modules/mod_dav_fs.so

  </IfModule>

</IfDefine>

        <IfModule mod_dav.c>

                Alias /dav /var/www/localhost/webdav/htdocs/dav

                DavMinTimeout 600

                <Location /dav>

                        Options None

                        #below is line 287

                        Dav On

                        <Limit GET PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>

                                AuthType Basic

                                AuthName "WebDav Restricted Repository"

                                AuthUserFile /etc/apache2/passwd_webdav

                                Require user webdav

                        </Limit>

                Options Indexes FollowSymLinks

                AllowOverride None

                Order allow,deny

                Allow from 192.168.1.0/255.255.255.0

                </Location>

        </IfModule>

<IfModule mod_dav_fs.c>

    # Location of the WebDAV lock database.

   DavLockDB /var/lib/dav/lockdb

</IfModule>

```

Make sure you delete the first for lines of your config.  Try running that and if it works - starting adding your stuff back (like the itk module etc) until it breaks.

Let me know if you get it working.

Jan

----------

## mariourk

You got me on the right track. All I had to do was to change:

```

<IfModule dav_fs_module>

```

into

```

<IfModule mod_dav_fs.c>

```

Apparently they changed the name of the module.

Anyway, it works again. Thanks!  :Very Happy: 

----------

## DAWG98

Great.  Who says the Dutch and Germans cannot work together :)

Make sure you put SOLVED.

Jan

----------

## mariourk

 *Quote:*   

> 
> 
> Who says the Dutch and Germans cannot work together 
> 
> 

 

I don't know, but they must be stupid!  :Wink: 

Thanks again for the help  :Very Happy: 

----------

