-
Notifications
You must be signed in to change notification settings - Fork 1
/
README
148 lines (96 loc) · 3.5 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
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"