# [solved] What provides mod_dav_fs.so ?

## senduran

I recently updated apache2 and it seems to have broken my webdav setup.

I tried updating davfs2 with emerge as well, but found that (on amd64) there was no unblocked package higher than my v1.1.1. I used keyword ~amd64 to install davfs2 1.3.0, but still no joy.

Problem:

```
etc/init.d/apache2 restart

 * Caching service dependencies ...                                                                                                             [ ok ]

 * Stopping apache2 ...

apache2: Syntax error on line 139 of /etc/apache2/httpd.conf: Syntax error on line 9 of /etc/apache2/modules.d/45_mod_dav.conf: Cannot load /usr/lib64/apache2/modules/mod_dav_fs.so into server: /usr/lib64/apache2/modules/mod_dav_fs.so: cannot open shared object file: No such file or directory

                                                                                                                                                [ ok ]

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

apache2: Syntax error on line 139 of /etc/apache2/httpd.conf: Syntax error on line 9 of /etc/apache2/modules.d/45_mod_dav.conf: Cannot load /usr/lib64/apache2/modules/mod_dav_fs.so into server: /usr/lib64/apache2/modules/mod_dav_fs.so: cannot open shared object file: No such file or directory
```

The above is when I have -D DAV -D DAV_FS in my /etc/conf.d/apache2 APACHE2_OPTS. Removing those lets apache2 start and run normally (but without webdav obviously).

In my /etc/make.conf I have:

```
APACHE2_MODULES="access auth auth_dbm auth_anon auth_digest authz_host alias file-cache echo charset-lite cache disk-cache mem-cache filter ext-filter case_filter case-filter-in deflate mime-magic cern-meta expires headers usertrack unique-id proxy proxy-connect proxy-ftp proxy-http ssl info include cgi cgid dav dav-fs vhost-alias speling rewrite log_config logio env setenvif mime status autoindex asis negotiation dir imap actions userdir so"
```

In my /etc/apache2/httpd.conf I have:

```
ServerRoot "/usr/lib64/apache2"

PidFile "/var/run/apache2.pid"

Timeout 300

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 15

Listen 80

LoadModule actions_module modules/mod_actions.so

LoadModule alias_module modules/mod_alias.so

LoadModule asis_module modules/mod_asis.so

<IfDefine AUTH_DIGEST>

LoadModule auth_digest_module modules/mod_auth_digest.so

</IfDefine>

<IfDefine AUTHNZ_LDAP>

LoadModule authnz_ldap_module modules/mod_authnz_ldap.so

</IfDefine>

LoadModule authz_host_module modules/mod_authz_host.so

LoadModule autoindex_module modules/mod_autoindex.so

<IfDefine CACHE>

LoadModule cache_module modules/mod_cache.so

</IfDefine>

LoadModule cgid_module modules/mod_cgid.so

<IfDefine DAV>

LoadModule dav_module modules/mod_dav.so

</IfDefine>

LoadModule deflate_module modules/mod_deflate.so

LoadModule dir_module modules/mod_dir.so

LoadModule env_module modules/mod_env.so

LoadModule expires_module modules/mod_expires.so

LoadModule filter_module modules/mod_filter.so

LoadModule headers_module modules/mod_headers.so

LoadModule include_module modules/mod_include.so

<IfDefine INFO>

LoadModule info_module modules/mod_info.so

</IfDefine>

<IfDefine LDAP>

LoadModule ldap_module modules/mod_ldap.so

</IfDefine>

LoadModule log_config_module modules/mod_log_config.so

LoadModule logio_module modules/mod_logio.so

LoadModule mime_module modules/mod_mime.so

LoadModule negotiation_module modules/mod_negotiation.so

<IfDefine PROXY>

LoadModule proxy_module modules/mod_proxy.so

</IfDefine>

LoadModule rewrite_module modules/mod_rewrite.so

LoadModule setenvif_module modules/mod_setenvif.so

LoadModule speling_module modules/mod_speling.so

<IfDefine SSL>

LoadModule ssl_module modules/mod_ssl.so

</IfDefine>

<IfDefine STATUS>

LoadModule status_module modules/mod_status.so

</IfDefine>

<IfDefine USERDIR>

LoadModule userdir_module modules/mod_userdir.so

</IfDefine>

LoadModule usertrack_module modules/mod_usertrack.so

User apache

Group apache

Include /etc/apache2/modules.d/*.conf

LogLevel debug

ServerAdmin sendu@sendu.me.uk

ServerName sendu.me.uk

UseCanonicalName On

<Directory />

  Options -Indexes -Multiviews FollowSymLinks ExecCGI

  AllowOverride All

  Order allow,deny

  Allow from all

</Directory>

<IfModule mod_userdir.c>

    UserDir public_html

</IfModule>

DirectoryIndex index.html index.html.var index.cgi index.pl

AccessFileName .htaccess

<FilesMatch "^\.ht">

    Order allow,deny

    Deny from all

</FilesMatch>

TypesConfig /etc/mime.types

DefaultType text/plain

<IfModule mod_mime_magic.c>

    MIMEMagicFile /etc/apache2/magic

</IfModule>

HostnameLookups Off

ServerSignature On

Alias /icons/ "/var/www/localhost/icons/"

ScriptAlias /cgi-bin/ /var/www/localhost/cgi-bin/

AddHandler cgi-script .cgi #.pl

<Directory "/var/www/localhost/cgi-bin/">

    AllowOverride None

    Options None

    Order allow,deny

    Allow from all

</Directory>

Include /etc/apache2/vhosts.d/*.conf

```

In my /etc/apache2/modules.d/45_mod_dav.conf I have:

```
<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 /webdav /var/dav/webdav

    Alias /biodav /home/sendu/src/bioperl

    DavMinTimeout 600

   <Location /webdav>

      Options -ExecCGI None

      DAV On

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

         AuthType Basic

                        AuthName "WebDAV Restricted Repository"

                        AuthUserFile /var/dav/.davpasswd

                        Require valid-user

      </Limit>

   </Location>

        <Location /biodav>

                Options -ExecCGI None

                DAV On

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

                        AuthType Basic

                        AuthName "WebDAV Restricted Repository"

                        AuthUserFile /var/dav/.davpasswd

                        Require valid-user

                </Limit>

        </Location>

</IfModule>

<IfModule mod_dav_fs.c>

    # Location of the WebDAV lock database.

    DavLockDB /var/lib/dav/lockdb

</IfModule>

```

Am I supposed to install/update anything else, run something, what? Why is mod_dav_fs.so missing?Last edited by senduran on Thu Nov 20, 2008 3:24 pm; edited 1 time in total

----------

## senduran

 *senduran wrote:*   

> 
> 
> In my /etc/make.conf I have:
> 
> ```
> ...

 

Well, it turns out that following the apache upgrade guide screwed me up, because the "Code Listing 1.1: Convert apache2-builtin-mods to APACHE2_MODULES" generated the above but the args are wrong. For instance, it should be dav_fs, not dav-fs.

(I have no idea who to contact to get that fixed... can someone look into it?)

I manually changed all the dashes to underscores, re-emerged apache and mod_dav_fs.so is now found.

I have a new problem because it still doesn't work, but that'll need a different thread if I can't figure it out. Calling this solved.

----------

## senduran

Turns out my other problem had the same cause. I was missing all the auth* APACHE2_MODULES settings I needed. Would be really great if that upgrade guide could be updated with a method that really did find all the modules you actually used.

----------

