Skip to content

Advanced WebDAV server backed by a Postgres database. Supports ACL, Search, BIND, Redirect, and partial DeltaV.

Notifications You must be signed in to change notification settings

tolsen/limestone

Repository files navigation

README for Limestone server 

Dependencies
------------

  - PostgreSQL >= 8.4
  - PostgreSQL JDBC driver (libpg-java package in debian)
  - shared-mime-info library
  - See RubyDAV README for more dependencies
  - Ruby/DBI with Postgres driver (libdbi-ruby and libdbd-pg-ruby1.8 packages)


Checkout
--------

LimeStone depends on a variety of other software that we keep in git.
All of the git repositories must be checked out into the same
directory.  

You have probably already checked out LimeStone:

git clone git://github.com/tolsen/limestone

Now checkout the all the dependencies:

git clone git://github.com/tolsen/limestone-httpd apache
git clone git://github.com/tolsen/limestone-apr apr
git clone git://github.com/tolsen/limestone-apr-util apr-util
git clone git://github.com/tolsen/httpauth better_httpauth
git clone git://github.com/tolsen/env-engine
git clone git://github.com/tolsen/inspector
git clone git://github.com/tolsen/liquibase
git clone git://github.com/tolsen/litmus
git clone git://github.com/tolsen/Prestan
git clone git://github.com/tolsen/rubydav


Simple file description (Somewhat out of date)
----------------------------------------------

  - mod_dav_repos - apache module hooker
  - repos.c      - repository interface
  - props.c      - properties interface
  - liveprops.c  - implements live property hooks of mod_dav
  - version.c    - implements the versioning hooks of mod_dav
  - search.c     - search(DASL) interface
  - util.c       - utility functions
  - dbms.[ch]    - Data Access Layer
  - dbms_api.h   - API for performing database queries 
  - dbms_dbd.[ch]- Implements the API using mod_dbd


Postgres setup
--------------

Set up a pgsql database with its own user and password.

Ensure that the user can add/drop schemas to the database -
GRANT ALL ON DATABASE $LIMESTONE_DB TO $LIMESTONE_USER;


Environment Variables
---------------------

Set the following environment variables:

LIMESTONE_HOST_DOMAIN : server hostname
LIMESTONE_PGSQL_VHOST_PORT : server port to listen on
LIMESTONE_PGSQL_DB_HOST : database hostname
LIMESTONE_PGSQL_DB_PORT : database port
LIMESTONE_PGSQL_DB_USER : database username
LIMESTONE_PGSQL_DB_PASS : database password
LIMESTONE_PGSQL_DB_NAME : database name

If you prefer not to set environment variables, you can create a
.lime-config file with lines consisting of "ENV_VAR : value"


Build
-----

    a. autoconf
    b. ./configure --with-pgsql[=PATH]
        Ubuntu defaults for PATH: /usr/include

    c. make
    
    This builds apache and limestone


Tests
-----

type "make tests"


How to start Apache
-------------------

make apache-start


Create a user
-------------

./limestone/adduser -p test1 test1


How to connect to WebDAV server running at localhost
----------------------------------------------------

- Open the home directory ( localhost/limespot is not accessible to user directly )
  	
	open http://localhost:8080/home/test1 

- Provide authentication details
  	
	Login: 		test1
	Password:	test1


How to DEBUG apache
-------------------

cd aproot/bin/
% gdb httpd
...
...
(gdb) b xxx_yyy_zzz
(gdb) run -X -d ..   [ if you are in apache/bin or give full path ]
(gdb) "Enjoy!!"


Developer mailing list
----------------------
TBA


THE FOLLOWING MAY NO LONGER WORK
--------------------------------

- For a static build of limestone, type "make static"

- To build limestone for profiling with gprof, type "make gprof"

- To run Prestan benchmarks, type "make benchmarks"

- To quickly rebuild changes made *only* in limestone & mod_dav modules, type "make reinstall"

About

Advanced WebDAV server backed by a Postgres database. Supports ACL, Search, BIND, Redirect, and partial DeltaV.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages