Tests: Eigene Verbindungsdaten für DB-Upgrades mit Super-User-Rechten
[kivitendo-erp.git] / config / kivitendo.conf.default
1 [authentication]
2 # The cleartext password for access to the administrative part.  It
3 # can only be changed in this file, not via the administrative
4 # interface.
5 admin_password = admin123
6
7 # Which module to use for authentication. Valid values are 'DB' and
8 # 'LDAP'.  If 'LDAP' is used then users cannot change their password
9 # via kivitendo.
10 module = DB
11
12 # The cookie name can be changed if desired.
13 cookie_name = kivitendo_session_id
14
15 # The number of minutes a session is valid. The default value is eight
16 # hours.
17 session_timeout = 480
18
19 # The number of seconds to penalize failed login attempts. 0 disables
20 # it.
21 failed_login_penalty = 5
22
23 [authentication/database]
24 # Connection information for the database with the user and group
25 # inforamtion.  This information is always needed, even if LDAP is
26 # used for authentication, as the user information is stored in this
27 # database while LDAP is only used for password verification.
28 #
29 # If 'module' is set to 'DB' then this database also contains the
30 # users' passwords.
31 host     = localhost
32 port     = 5432
33 db       = kivitendo_auth
34 user     = postgres
35 password =
36
37 [authentication/ldap]
38 # This section is only relevant if 'module' is set to 'LDAP'. It names
39 # the LDAP server the passwords are verified against by doing a LDAP
40 # bind operation.
41 #
42 # At least the parameters 'host', 'attribute' and 'base_dn' have to be
43 # specified.
44 #
45 # tls:       Activate encryption via TLS
46 # attribute: Name of the LDAP attribute containing the user's login name
47 # base_dn:   Base DN the LDAP searches start from
48 # filter:    An optional LDAP filter specification. The string '<%login%>'
49 #            is replaced by the user's login name before the search is started.
50 # bind_dn and bind_password:
51 #            If searching the LDAP tree requires user credentials
52 #            (e.g. ActiveDirectory) then these two parameters specify
53 #            the user name and password to use.
54 host          = localhost
55 port          = 389
56 tls           = 0
57 attribute     = uid
58 base_dn       =
59 filter        =
60 bind_dn       =
61 bind_password =
62
63 [system]
64 # Set language for login and admin forms. Currently "de" (German)
65 # and "en" (English, not perfect) are available.
66 language = de
67 # MassPrint Timeout
68 # must be less than cgi timeout
69 #
70 massprint_timeout = 30
71
72 # Set default_manager for admin forms. Currently "german"
73 # and "swiss" are available.
74 default_manager = german
75
76 # The memory limits given here determine the maximum process size
77 # (vsz, the total amount of memory this process uses including memory
78 # swapped out or shared with other processes) or resident set size
79 # (rss, the amount of memory not swapped out/shared with other
80 # processes). If either limit is reached at the end of the request
81 # then the kivitendo process will exit.
82 #
83 # This only makes sense when running under FCGI. The FCGI manager will
84 # then automatically start a new process.
85 #
86 # Numbers can be postfixed with KB, MB, GB. If no number is given or
87 # the number is 0 then no checking will be performed.
88 memory_limit_rss =
89 memory_limit_vsz =
90
91 [paths]
92 # path to temporary files (must be writeable by the web server)
93 userspath = users
94 # spool directory for batch printing
95 spool = spool
96 # templates base directory
97 templates = templates
98 # Path to the old memberfile (ignored on new installations)
99 memberfile = users/members
100 # Path to ELSTER geierlein webserver path inside kivitendo
101 # (must be inside kivitendo but you can set an ALIAS for apache/oe
102 # if set the export to geierlein is enabled
103 # geierlein_path = geierlein
104
105 #
106 # document path for FileSystem FileManagement:
107 #  (must be reachable read/write but not executable from webserver)
108 # document_path = /var/local/kivi_documents
109 #
110
111 [mail_delivery]
112 # Delivery method can be 'sendmail' or 'smtp'. For 'method = sendmail' the
113 # parameter 'mail_delivery.sendmail' is used as the executable to call. If
114 # 'applications.sendmail' still exists (backwards compatibility) then
115 # 'applications.sendmail' will be used instead of 'mail_delivery.sendmail'.
116 # If method is empty, mail delivery is disabled.
117 method = smtp
118 # Location of sendmail for 'method = sendmail'
119 sendmail = /usr/sbin/sendmail -t<%if myconfig_email%> -f <%myconfig_email%><%end%>
120 # Settings for 'method = smtp'. Only set 'port' if your SMTP server
121 # runs on a non-standard port (25 for 'security=none' or
122 # 'security=tls', 465 for 'security=ssl').
123 host = localhost
124 #port = 25
125 # Security can be 'tls', 'ssl' or 'none'. Unset equals 'none'. This
126 # determines whether or not encryption is used and which kind. For
127 # 'tls' the module 'Net::SSLGlue' is required; for 'ssl'
128 # 'Net::SMTP::SSL' is required and 'none' only uses 'Net::SMTP'.
129 security = none
130 # Authentication is only used if 'login' is set. You should only use
131 # that with 'tls' or 'ssl' encryption.
132 login =
133 password =
134
135 [applications]
136 # Location of OpenOffice.org writer
137 openofficeorg_writer = oowriter
138 # Location of the X virtual frame buffer used for OpenOffice
139 xvfb = Xvfb
140 # Location of the html2ps binary
141 html2ps = html2ps
142 # Location of the Ghostscript binary
143 ghostscript = gs
144 # Location of the pdflatex (or compatible, e.g. xetex) binary
145 latex = pdflatex
146 # Location of the Python interpreter to use when converting from
147 # OpenDocument to PDF. Some distributions compile UNO support only
148 # into binaries located in different locations than the main Python
149 # binary.
150 python_uno = python
151
152 # Location of the aqbanking binary to use when converting MT940 files
153 # into the kivitendo import format
154 aqbanking = /usr/bin/aqbanking-cli
155
156 [environment]
157 # Add the following paths to the PATH environment variable.
158 path = /usr/local/bin:/usr/X11R6/bin:/usr/X11/bin
159 # Add the following paths to the PERL5LIB environment variable.
160 # "/sw/lib/perl5" is for Mac OS X with Fink's Perl.
161 lib = /sw/lib/perl5
162 # Add the following paths to the PYTHONPATH environment variable for
163 # locating Python modules. Python is used when converting OpenDocument
164 # files into PDF files.
165 python_uno_path =
166
167 [print_templates]
168 # If you have LaTeX installed set to 1
169 latex = 1
170 # Minimal support for Excel print templates
171 excel = 0
172 # Enable or disable support for OpenDocument print templates
173 opendocument = 1
174 # Chose whether or not OpenOffice should remain running after a
175 # conversion. If yes then the conversion of subsequent documents will
176 # be a lot faster. You need to have Python and the Python UNO bindings
177 # (part of OpenOffice) installed.
178 openofficeorg_daemon = 1
179 openofficeorg_daemon_port = 2002
180
181 [task_server]
182 # Set to 1 for debug messages in /tmp/kivitendo-debug.log
183 debug = 0
184 # Chose a system user the daemon should run under when started as root.
185 run_as =
186
187 [task_server/notify_on_failure]
188 # If you want email notifications for failed jobs then set this to a
189 # kivitendo user (login) name. The subject can be changed as well.
190 send_email_to  =
191 # The "From:" header for said email.
192 email_from     = kivitendo Daemon <root@localhost>
193 # The subject for said email.
194 email_subject  = kivitendo Task-Server: Hintergrundjob fehlgeschlagen
195 # The template file used for the email's body.
196 email_template = templates/webpages/task_server/failure_notification_email.txt
197
198 [periodic_invoices]
199 # The user name a report about the posted and printed invoices is sent
200 # to.
201 send_email_to  = mb
202 # The "From:" header for said email.
203 email_from     = kivitendo Daemon <root@localhost>
204 # The subject for said email.
205 email_subject  = Benachrichtigung: automatisch erstellte Rechnungen
206 # The template file used for the email's body.
207 email_template = templates/webpages/oe/periodic_invoices_email.txt
208
209 [self_test]
210
211 # modules to be tested
212 # Add without SL::BackgroundJob::SelfTest:: prefix
213 # Separate with space.
214 modules = Transactions
215
216 # you probably don't want to be spammed with "everything ok" every day. enable
217 # this when you add new tests to make sure they run correctly for a few days
218 send_email_on_success = 0
219
220 # will log into the standard logfile
221 log_to_file = 0
222
223 # user login (!) to send the email to.
224 send_email_to  =
225 # will be used to send your report mail
226 email_from     =
227 # The subject line for your report mail
228 email_subject  = kivitendo self test report
229 # template. currently txt and html templates are recognized and correctly mime send.
230 email_template = templates/mail/self_test/status_mail.txt
231
232 [console]
233 # Automatic login will only work if both "client" and "login" are
234 # given.  "client" can be a client's database ID or its name. "login"
235 # is simply a user's login name.
236 client =
237 login =
238
239 # autorun lines will be executed after autologin.
240 # be warned that loading huge libraries will noticably lengthen startup time.
241 #autorun = require "bin/mozilla/common.pl";
242 #        = use English qw(-no_match_vars);
243 #        = use List::Util qw(min max);
244 #        = sub take { my $max = shift; my $r = ref($_[0]) eq 'ARRAY' ? $_[0] : \@_; return @{$r}[0..List::Util::min($max, scalar(@{$r})) - 1]; }
245
246 # location of history file for permanent history
247 history_file = users/console_history
248
249 # location of a separate log file for the console. everything normally written
250 # to the kivitendo log will be put here if triggered from the console
251 log_file = /tmp/kivitendo_console_debug.log
252
253 [testing]
254
255 # Several tests need a database they can alter data in freely. This
256 # database will be dropped & created before any other test is run. The
257 # following parameters must be given:
258 [testing/database]
259 host               = localhost
260 port               = 5432
261 db                 =
262 user               = postgres
263 password           =
264 template           = template1
265 superuser_user     = postgres
266 superuser_password =
267
268 [devel]
269 # Several settings related to the development of kivitendo.
270
271 # "client" is used by several scripts (e.g. rose_auto_create_model.pl)
272 # when they need access to the database. It can be either a client's
273 # database ID or its name.
274 client =
275
276 [debug]
277 # Use DBIx::Log4perl for logging DBI calls. The string LXDEBUGFILE
278 # will be replaced by the file name configured for $::lxdebug.
279 dbix_log4perl = 0
280 dbix_log4perl_config = log4perl.logger = FATAL, LOGFILE
281                      = log4perl.appender.LOGFILE=Log::Log4perl::Appender::File
282                      = log4perl.appender.LOGFILE.filename=LXDEBUGFILE
283                      = log4perl.appender.LOGFILE.mode=append
284                      = log4perl.appender.LOGFILE.Threshold = ERROR
285                      = log4perl.appender.LOGFILE.layout=PatternLayout
286                      = log4perl.appender.LOGFILE.layout.ConversionPattern=[%r] %F %L %c - %m%n
287                      = log4perl.logger.DBIx.Log4perl=DEBUG, A1
288                      = log4perl.appender.A1=Log::Log4perl::Appender::File
289                      = log4perl.appender.A1.filename=LXDEBUGFILE
290                      = log4perl.appender.A1.mode=append
291                      = log4perl.appender.A1.layout=Log::Log4perl::Layout::PatternLayout
292                      = log4perl.appender.A1.layout.ConversionPattern=%d %p> %F{1}:%L %M - %m%n
293
294 # Activate certain global debug messages. If you want to combine
295 # several options then list them separated by spaces.
296 #
297 # Possible values include:
298 #   NONE   - no debug output (default)
299 #   INFO
300 #   DEBUG1
301 #   DEBUG2
302 #   QUERY              - Dump SQL queries (only in legacy code; see also "dbix_log4perl" above)
303 #   TRACE              - Track function calls and returns
304 #   BACKTRACE_ON_ERROR - Print a function call backtrace when $form->error() is called
305 #   REQUEST_TIMER      - Log timing of HTTP requests
306 #   REQUEST            - Log each request. Careful! Passwords get filtered, but
307 #                        there may be confidential information being logged here
308 #   WARN               - warnings
309 #   SHOW_CALLER        - include the file name & line number from where a call
310 #                        to "message" or "dump" was called
311 #   ALL                - all possible debug messages
312 #
313 #   DEVEL              - sames as "INFO QUERY TRACE BACKTRACE_ON_ERROR REQUEST_TIMER"
314 #
315 # Example:
316 #   global_level = TRACE QUERY
317 global_level = NONE
318
319 # Activate monitoring of the content of $form. If it is active then
320 # monitoring can be turned on for certain variables with the
321 # following:
322 #   $form->{"Watchdog::<variable>"} = 1;
323 # Monitoring has a performance cost and is therefore deactivated by
324 # default.
325 watch_form = 0
326
327 # If you want to debug the creation of LaTeX files then set this to 1.
328 # That way the temporary LaTeX files created during PDF creation are
329 # not removed and remain in the "users" directory.
330 keep_temp_files = 0
331
332 # Restart the FastCGI process if changes to the program or template
333 # files have been detected. The restart will occur after the request
334 # in which the changes have been detected has completed.
335 restart_fcgi_process_on_changes = 0
336
337 # The file name where the debug messages are written to.
338 file_name = /tmp/kivitendo-debug.log
339
340 # If set to 1 then the installation will be kept unlocked even if a
341 # database upgrade fails.
342 keep_installation_unlocked = 0
343
344 # If set to 1 then all resource links (JavaScript, CSS files) output
345 # via $::request->{layout}->use_stylesheet() / use_javascript() will
346 # be made unique by appending a random GET parameter. This will cause
347 # the web browser to always reload the resources.
348 auto_reload_resources = 0
349
350 # If set to 1 each exception will include a full stack backtrace.
351 backtrace_on_die = 0
352
353 [cti]
354 # If you want phone numbers to be clickable then this must be set to a
355 # command that does the actually dialing. Within this command three
356 # variables are replaced before it is executed:
357 #
358 # 1. <%phone_extension%> and <%phone_password%> are taken from the user
359 #    configuration (changeable in the admin interface).
360 # 2. <%number%> is the number to dial. It has already been sanitized
361 #    and formatted correctly regarding e.g. the international dialing
362 #    prefix.
363 #
364 # The following is an example that works with the OpenUC telephony
365 # server:
366 # dial_command = curl --insecure -X PUT https://<%phone_extension%>:<%phone_password%>@IP.AD.DR.ESS:8443/sipxconfig/rest/my/call/<%number%>
367 dial_command =
368 # If you need to dial something before the actual number then set
369 # external_prefix to it.
370 external_prefix = 0
371 # The prefix for international calls (numbers starting with +).
372 international_dialing_prefix = 00