Catacomb - DLR-SC/DataFinder GitHub Wiki

Notes on usage of Catacomb

The Catacomb WebDAV server allows usage of all DataFinder user client features including property search. The Catacomb is a Apache module built upon the mod_dav module and implements additional WebDAV specifiaction. More information can be obtained from the Catacomb web site. The following sections rather focus on the installation and configuration of the Catacomb WebDAV server than its required dependencies.

Preparation

Please note that currently the Catacomb can only be used on Linux operating systems. We are testing and using Ubunutu Linux distribution (version 8).

Please make sure you installed / obtained the following packages before continuing:

Package Version Source
MySQL Server 5 http://www.mysql.de/downloads/mysql/
Apache Webserver >=2.2.8 http://httpd.apache.org/download.cgi
Catacomb 0.9.6 http://catacomb.tigris.org/catacomb-0.9.6.tar.gz

It is recommended to use the MySQL server package of your Linux distribution. At least you have to install the server package (e.g. on Ubuntu mysql-server) AND the client developer package (e.g. on Ubuntu libmysqlclient15-dev).

Catacomb - in our project scenarios - is working well with Apache 2.2.8. Later versions should also work but we experienced some minor problems when using Apache versions 2.2.9 and 2.2.10 due to changes of the database abstraction layer (mod_dbd).

Install Catacomb

The following sections show the installation of the Apache web server (version 2.2.8) and the Catacomb module (version 0.9.6) on Ubuntu Linux (version 8).

First install the Apache web server.

tar -xvzf httpd-2.2.8.tar.gz
cd httpd-2.2.8
./configure --enable-so
            --enable-dav
            --enable-dav-fs 
            --enable-dbd
            --with-mysql=/usr   # Points to the MySQL include directory located in /usr/include/mysql (Ubuntu)
            --prefix=<PATH_TO_APACHE_INSTALL_DIR>

make
make install

Then install the Catacomb module.

tar -xvzf catacomb-0.9.6.tar.gz
cd catacomb-0.9.6
./configure --with-apache=<PATH_TO_APACHE_INSTALL_DIR>
            --with-debug        # DO NOT USE it building production system as a lot of log messages get generated!!!
make
make install

Afterwards create the required MySQL databases and load the inital data. The SQL script table.sql provided by Catacomb release 0.9.6 has some problems when it is used with MySQL 5. For that reason please replace it with the version attached here. Make sure you are still in the catacomb installation directory.

Initially, the WebDAV enabled directory is repos. If you want to use another location instead edit the file data.sql and change the name repos to whatever you like.

mysqladmin -u root -p create catacomb            # Creates the database "catacomb"
mysql -u root -p --database=catacomb < table.sql # Creates required tables in database "catacomb"
mysql -u root -p --database=catacomb < data.sql  # Fills in the initial data

Then the configuration file httpd.conf which is located in directory <PATH_TO_APACHE_INSTALL_DIR>/conf has to be adapted. Simply append the following to the end of the configuration file.

# These parameters describe the mod_dbd parameters
DBDriver mysql
DBDParams "host=localhost,user=root,pass=<PASSWORD>,dbname=repos"

# These parameters describe Catacomb specific database parameters
DavDBMSTmpDir /tmp/
DavDBMSFileDir <PATH_TO_CATACOMB_FILE_STORAGE_DIR> # Defines the location which is used to store "larger" files
                                                   # Make sure that this location is writable by user and group of the Apache process
DavDMBSMaxFileSize 88576                           # Defines the treshold value (in Byte) which is used to decide whether the file is either
                                                   # stored in the database or the filesyste,

<Location /repos>                                  # The location name has to be the same name as used in file data.sql
  DAV repos
</Location>

Aftwards start the web server and the WebDAV location should be accessible using URL http://localhost/repos.

<PATH_TO_APACHE_INSTALL_DIR>/bin/apachectl start
⚠️ **GitHub.com Fallback** ⚠️