1 |
<h1>Document manager Administration manual</h1> |
2 |
|
3 |
<p>Here is a list of document that administrators might find useful when |
4 |
dealing with docman. They are ordered by importance, so be sure to read |
5 |
them. |
6 |
|
7 |
<h2>Reference reading</h2> |
8 |
<ol> |
9 |
<li><a href="install.html">Installation instructions</a> (<i>but, you already |
10 |
read that, right?</i>) |
11 |
<li><a href="faq.html">FAQ</a> and optionally |
12 |
<a href="upgrade.html">Upgrade from v1.x</a> |
13 |
<li><a href="new_directory_layout.html">New Directory Layout</a> and how that increase security |
14 |
<li><a href="performance.html">Performance tips</a> |
15 |
<li><a href="trustee.html">Trustee</a> documentation (ACL) |
16 |
</ol> |
17 |
|
18 |
<h2>Errors</h2> |
19 |
|
20 |
<p>There are two types of errors in document manager: |
21 |
<ol> |
22 |
<li>errors which are result of user actions (<i>and they are reposted to users</i>) |
23 |
<li>errors which are result of configuration error (<i>which are by default reported to users, but they can be re-directed to error_log of Apache</i>) |
24 |
<br>You can re-direct administrative messages using |
25 |
<tt>$gblSeparateAdminMessages = 1</tt> in |
26 |
<tt>realm/http_virtual_host.conf</tt> |
27 |
<small>(See also explanation how to do that in |
28 |
<a href="install.html#gblSeparateAdminMessages">Installation instructions</a> |
29 |
)</small> |
30 |
</ol> |
31 |
|
32 |
<a name="register_globals"> |
33 |
<h2>Register Globals and PHP</h2> |
34 |
|
35 |
<p>Starting with version 2.0 docman doesn't need |
36 |
<tt>register_globals</tt> in <tt>php.ini</tt>. |
37 |
That means that docman knows which variables should be result of POST and |
38 |
what of GET which makes inserting bogus URL harder. |
39 |
</p> |
40 |
|
41 |
<h2>Unknown file types</h2> |
42 |
|
43 |
<p>By default, docman will report administrative error on |
44 |
unknown file types (like pipes, block and character files). |
45 |
You can change this behavior to ignoring those files by |
46 |
setting |
47 |
<tt>$gblIgnoreUnknownFileType = 0</tt> in |
48 |
<tt>realm/http_virtual_host.conf</tt> |
49 |
</p> |
50 |
|
51 |
<h2>Force download on view</h2> |
52 |
|
53 |
<p>If you set options |
54 |
<tt>$gblForceDownload= 1</tt> in |
55 |
<tt>realm/http_virtual_host.conf</tt> |
56 |
it will force download (and save to disk) if user wants to view file (just |
57 |
clicks on filename). Checkout will always force download. |
58 |
</p> |
59 |
|
60 |
<a name="path_realm"> |
61 |
<h2>Using script path as realm name</h2> |
62 |
|
63 |
<p>If you don't have ability to use http_virtual_host names for each docman |
64 |
installation, you can use path before docman.php as a identifier for a realm. |
65 |
To enable this, you will have to create directory named as same as virtual |
66 |
host, all directories wish exist before your <tt>docman.php</tt> and then |
67 |
<tt>conf</tt>, <tt>htusers</tt> and optionally <tt>trustee</tt> and |
68 |
<tt>info.inc</tt> files. |
69 |
<blockquote> |
70 |
e.g.: if your host is called <tt>dreamhouse.lan</tt> and |
71 |
you want to have repositories on URL |
72 |
<tt>http://dreamhouse.lan/project/</tt> and |
73 |
<tt>http://dreamhouse.lan/documentation/</tt> you will |
74 |
have to create following files: <small>(those marked with asterisk |
75 |
<sup>*</sup> are optional)</small> |
76 |
<br><tt>realm/dreamhouse.lan/project/conf</tt> |
77 |
<br><tt>realm/dreamhouse.lan/project/htusers</tt> |
78 |
<br><tt>realm/dreamhouse.lan/project/trustee</tt> <i>(optional)</i> |
79 |
<br><tt>realm/dreamhouse.lan/project/info.inc</tt> <i>(optional)</i> |
80 |
<br><tt>realm/dreamhouse.lan/documentation/conf</tt> |
81 |
<br><tt>realm/dreamhouse.lan/documentation/htusers</tt> |
82 |
<br><tt>realm/dreamhouse.lan/documentation/trustee</tt> <i>(optional)</i> |
83 |
<br><tt>realm/dreamhouse.lan/documentation/info.inc</tt> <i>(optional)</i> |
84 |
</blockquote> |
85 |
</p> |
86 |
|
87 |
<a name="path_realm_convert"> |
88 |
<h3>Conversion of files to realm with directories</h3> |
89 |
|
90 |
<p>If you followed <a href="install.html">installation instructions</a> |
91 |
and you want now to install docman to your host in directory <tt>projects</tt> |
92 |
which will be on disk at <tt>/home/httpd/htdocs/project/</tt> and |
93 |
served via URL <tt>http://my.host/project/</tt> |
94 |
you have to do few more steps: |
95 |
<pre> |
96 |
$ cd /home/httpd/docman2/realm/ |
97 |
$ mkdir my.host |
98 |
$ mkdir my.host/project |
99 |
$ mv http_virtual_host.htusers my.host/project/htusers |
100 |
$ mv http_virtual_host.conf my.host/project/conf |
101 |
</pre> |
102 |
That's it. You are ready to go... |
103 |
</p> |
104 |
|
105 |
<a name="info.inc"> |
106 |
<h2>Repository information files</h2> |
107 |
|
108 |
<p>There are special files, called <tt>info.inc</tt> files with informations |
109 |
which are local to that repository. Usually they are located in |
110 |
<tt>repository/.info.inc</tt> file. However, you can also use |
111 |
<tt>realm/http_host/script_path/info.inc</tt> file is you are |
112 |
using <a href="#path_realm">script path</a> as realm identifier. |
113 |
|
114 |
<a name="security"> |
115 |
<h2>Overview of security features</h2> |
116 |
|
117 |
<ul> |
118 |
<li>authorization using login and password |
119 |
<li>works without <A href="#register_globals">register_globals</a> in PHP. |
120 |
<li>all directory names taken from URL will be checked for parent directory |
121 |
strings (<tt>..</tt>) |
122 |
<li>all upload filenames are check for directory specification (if they |
123 |
contain slash (<tt>/</tt>) upload will be aborted) |
124 |
<li>all filenames taken from URL will be checked for parent directory (<tt>..</tt>) or slashes (<tt>/</tt>) |
125 |
<li>all files are served from repository directory (which is not visible by web server) by <tt>docman.php</tt> script which enforces permission checking |
126 |
<li><a href="trustee.html">trustees</a> can be used to provide fine-graded |
127 |
security permissions on files and directories |
128 |
</ul> |
129 |
|
130 |
<h2>Realm configuration options</h2> |
131 |
|
132 |
<p>For preatty good overview of configuration options, please examine |
133 |
<a href="../realm/localhost.conf.dist"><tt>localhost.conf.dist</tt></a>. |