]> git.sesse.net Git - itkacl/blobdiff - itkacl-web-1.0/README
Add the bare minimum of what is required for the web interface to work (but be butt...
[itkacl] / itkacl-web-1.0 / README
diff --git a/itkacl-web-1.0/README b/itkacl-web-1.0/README
new file mode 100644 (file)
index 0000000..a79b9c2
--- /dev/null
@@ -0,0 +1,42 @@
+How to set up the web admin interface:
+
+1. Install required Perl modules, e.g. on Debian/Ubuntu:
+
+      aptitude install libdbi-perl libapache-session-perl libdbd-pg-perl
+
+2. Create the Postgres ITKACL database, using itkacl.sql from the
+   core distribution:
+
+     createdb itkacl
+     psql itkacl < itkacl.sql
+
+3. Roots must be added manually, e.g.:
+
+     echo "INSERT INTO objects (name, description) VALUES ('web', 'WWW-based systems');" | psql itkacl
+
+4. Create a separate database for holding the sessions
+   (see perldoc Apache::Session::Store::Postgres):
+
+     createdb itkacl-sessions
+     echo 'CREATE TABLE sessions ( id char(32) not null primary key, a_session text )' | psql itkacl-sessions
+
+5. Create a user for itkacl-web and give it full access:
+
+     createuser --pwprompt itkacl-web
+     echo 'GRANT SELECT, INSERT, UPDATE, DELETE ON objects TO "itkacl-web";' | psql itkacl
+     echo 'GRANT SELECT, INSERT, UPDATE, DELETE ON aclentries TO "itkacl-web";' | psql itkacl
+     echo 'GRANT SELECT, INSERT, UPDATE, DELETE ON sessions TO "itkacl-web";' | psql itkacl-sessions
+
+   You could use a separate session username if you wish, although there's
+   probably not point.
+
+6. Set up an include/config.local.pm file. It will probably look very much like
+   include/config.pm, except without the eval part, and with your own values
+   for password etc. filled in. Remember to chmod so that it is only readable
+   by the web server.
+
+7. Make a vhost in Apache (or any other web server supporting CGI), with the web/
+   directory as the DocumentRoot, index.pl as the DocumentIndex, and .pl enabled
+   as CGI scripts.
+
+8. Go to your vhost, and administer to your heart's content.