Advanced WebDAV server backed by a Postgres database. Supports ACL, Search, BIND, Redirect, and partial DeltaV.
C Ruby Other
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
adduser
limestone
scripts
tests
.gitignore
Makefile.in
README
configure.ac
install-config
plog.pl
pretty_print_trace.rb

README

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"