Re: Multi-site installation
Oliver Geisen <oliver.geisen <at> kreisbote.de>
2008-04-01 07:20:43 GMT
Hello,
i too tried to use dokuwiki as multi-site installation and came
across some approches to do so.
Well, dokuwiki's concept layouts a single directory installation,
which is fine for web-space provided application.
For providers (in any way, not just commercial, but also application
delivery providers) would whish a better integration into the host
system.
So because we are using Debian on many hosts, it's no wonder that
dokuwiki must be "debianzied" to fit into that structure.
This means to break up the single-directory structure into different
logical parts. This is also needed to be complaint to FHS and LSB.
STATIC INCLUDES AND LIBRARIES from /inc into /usr/share/dokuwiki/inc
(also doku.php, index.php, feed.php) (root:root 755 should be used
for each file here!)
INSTANCE DIRECTORY FOR EACH WIKI in /var/www/{INSTANCE}
DYNAMIC DATA from /data into /var/lib/dokuwiki/{INSTANCE}/data/
(linked later from /var/www/{INSTANCE}/data)
CONFIGURATION FILES inside /conf into /etc/dokuwiki
I think doing it the Debian way is the right one, even for multi-
installations, but i admitt that having all in one subdir is neat for
small installations with restricted user rights. Therefore doing it
the one or the other way is always 50% right and 50% wrong.
This is important because it's not only a question where to put the
files in the local filesystem, but also what paths need to be
configurable inside dokuwiki.
There must be structural changes to fit into both worlds. But i think
it would be worth it, so one can decide how to install: as Single-Dir
or Fully-Integrated.
This could maybe be handled by an installation-tool, which
distributes the files to their places, depending on the installation
type.
One big issue with multi-site installations is what to use globally
(for all instances) and what locally (per instance), resp. which
local parts may override global parts.
I can think of providing a dokuwiki instance by giving a user a
service directory like
/var/www/yourwiki/
containing:
./conf
./conf/acl.auth.php, users.auth.php, dokuwiki.php
./data
./doku.php
./feed.php
./index.php
This could be handled by a helper app, which creates a new instance
by giving some information like "wikiname, admin user/password". It
could also create an apache config for an virtual hosts.
Oliver Geisen
--
--
DokuWiki mailing list - more info at
http://wiki.splitbrain.org/wiki:mailinglist