Explaining the folder structure of a SeedDMS installation
SeedDMS uses a simple folder structure on disc which eases updates and even allows to switch between different versions as long as you stay in the 5.1.x or 6.0.x branch. It makes use of soft links which makes it somewhat harder to install it on systems which do not support them.
After unpacking the quickstart archive of SeedDMS 6.0.19, you will see a
folder hierarchy like the following (it shows only those directories which are
relevant to understand the concept). Of course, for a different version of SeedDMS
the directory seeddms-6.0.19
will have a different name.
seeddms60x
├── conf
├── data
├── pear
├── seeddms -> seeddms-6.0.19
├── seeddms-6.0.19
│ ├── CHANGELOG
│ ├── controllers
│ ├── doc
│ ├── inc
│ ├── index.php
│ ├── install
│ ├── languages
│ ├── LICENSE
│ ├── op
│ ├── out
│ ├── pdfviewer
│ ├── restapi
│ ├── styles
│ ├── utils
│ ├── views
│ └── webdav
└── www
├── controllers -> ../seeddms/controllers
├── ext
├── inc -> ../seeddms/inc
├── index.php -> ../seeddms/index.php
├── install -> ../seeddms/install
├── languages -> ../seeddms/languages
├── op -> ../seeddms/op
├── out -> ../seeddms/out
├── pdfviewer -> ../seeddms/pdfviewer
├── restapi -> ../seeddms/restapi
├── styles -> ../seeddms/styles
├── views -> ../seeddms/views
└── webdav -> ../seeddms/webdav
The directories below seeddms60x
can be separated into two groups
- directories which contain the source code of SeedDMS
- directories which contain data of your local installation
pear
and seeddms-6.0.19
belong into the first group and files in those
directories will never be modified by SeedDMS. Hence, you could even write
protect them for the user running the web server, e.g. for security reasons.
conf
and data
contain the configuration and all local data of your installation.
Those directories must be writable by the user running the web server. Though,
the directory conf
can also be write protected if the configuration may not
be changeable from within the SeedDMS web user interface.
The directory www
is a mixture of both. It contains the php source code
of installed extensions and must be writable by the user running the web server.
This directory should be the only one visible in the web, either by making it
the document root of a virtual host or by setting up an alias.
If your file system does not support softlinks you must dereference the links
in the directory www
.
Multiple installations using the same source
The strict separation of the SeedDMS source and the data allows a shared use of
the sources in several installations. Just move the directories
seeeddms-6.0.19
and pear
out of seeddms60x
at any other place. Than
adjust the softlink seeddms
and the parameter extraPath
in the
configuration to point at the new location.
You can also rename seeddms60x
to any other name, e.g. clientA
. Just
ensure the paths in the SeedDMS and Apache configuration are adjusted accordingly.
Backup
For a minimal backup the directories conf
and data
must be saved.
If you have installed any extensions and did not backup them otherwise, you
will also have to backup the directory www
or at least www/ext
.
Of course, you can as well backup the whole directory seeddms60x
. The space
required for the sources is usually inconsiderable compared to the data.
If you use MySQL, then also backup your database.