2 # The cleartext password for access to the administrative part. It
3 # can only be changed in this file, not via the administrative
5 admin_password = admin123
7 # Which modules to use for authentication. Valid values are 'DB',
8 # 'LDAP', 'HTTPHeaders'. You can use multiple modules separated by spaces.
10 # Multiple LDAP modules with different configurations can be used by
11 # postfixing 'LDAP' with the name of the configuration section to use:
12 # 'LDAP:ldap_fallback' would use the data from
13 # '[authentication/ldap_fallback]'. The name defaults to 'ldap' if it
16 # Note that the LDAP module doesn't support changing the password.
19 # The cookie name can be changed if desired.
20 cookie_name = kivitendo_session_id
22 # The number of minutes a session is valid. The default value is eight
26 # The number of seconds to penalize failed login attempts. 0 disables
28 failed_login_penalty = 5
30 [authentication/database]
31 # Connection information for the database with the user and group
32 # inforamtion. This information is always needed, even if LDAP is
33 # used for authentication, as the user information is stored in this
34 # database while LDAP is only used for password verification.
36 # If 'module' is set to 'DB' then this database also contains the
45 # This section is only relevant if 'module' is set to 'LDAP'. It names
46 # the LDAP server the passwords are verified against by doing a LDAP
49 # At least the parameters 'host', 'attribute' and 'base_dn' have to be
52 # tls: Activate encryption via TLS
53 # verify: If 'tls' is used, how to verify the server's certificate.
54 # Can be one of 'require' or 'none'.
55 # attribute: Name of the LDAP attribute containing the user's login name
56 # base_dn: Base DN the LDAP searches start from
57 # filter: An optional LDAP filter specification. The string '<%login%>'
58 # is replaced by the user's login name before the search is started.
59 # bind_dn and bind_password:
60 # If searching the LDAP tree requires user credentials
61 # (e.g. ActiveDirectory) then these two parameters specify
62 # the user name and password to use.
63 # timeout: Timeout when connecting to the server in seconds.
65 # You can specify a fallback LDAP server to use in case the main one
66 # isn't reachable by duplicating this whole section as
67 # "[authentication/ldap_fallback]".
80 # For use with module 'HTTPHeaders':
81 [authentication/http_basic]
84 # For use with module 'HTTPHeaders':
85 [authentication/http_headers]
87 client_id_header = X-Kivitendo-Client-ID
88 user_header = Auth-User
89 secret_header = X-Kivitendo-App-Secret
93 # Set language for login and admin forms. Currently "de" (German)
94 # and "en" (English, not perfect) are available.
97 # Set stylesheet for login and admin forms. Supported:
99 # kivitendo - was the default until version 3.9.2; will be dropped in version 4.0
101 stylesheet = design40
104 # must be less than cgi timeout
106 massprint_timeout = 30
108 # Set default_manager for admin forms. Currently "german"
109 # and "swiss" are available.
110 default_manager = german
112 # The memory limits given here determine the maximum process size
113 # (vsz, the total amount of memory this process uses including memory
114 # swapped out or shared with other processes) or resident set size
115 # (rss, the amount of memory not swapped out/shared with other
116 # processes). If either limit is reached at the end of the request
117 # then the kivitendo process will exit.
119 # This only applies for processes under FCGI and the task manager.
120 # For CGI configurations the process will be terminated after each request
121 # regardless of this setting.
123 # Note: this will only terminate processes with too high memory consumption. It
124 # is assumed that an external managing service will start new instances. For
125 # FCGI this will usually be apache or the wrapper scripts for nginx, for the
126 # task server this will have to be the system manager.
128 # Numbers can be postfixed with KB, MB, GB. If no number is given or
129 # the number is 0 then no checking will be performed.
134 # path to temporary files (must be writeable by the web server)
136 # spool directory for batch printing
138 # templates base directory
139 templates = templates
140 # Path to the old memberfile (ignored on new installations)
141 memberfile = users/members
142 # Path to ELSTER geierlein webserver path inside kivitendo
143 # (must be inside kivitendo but you can set an ALIAS for apache/oe
144 # if set the export to geierlein is enabled
145 # geierlein_path = geierlein
148 # document path for FileSystem FileManagement:
149 # (must be reachable read/write but not executable from webserver)
150 # document_path = /var/local/kivi_documents
154 # Delivery method can be 'sendmail' or 'smtp'. For 'method = sendmail' the
155 # parameter 'mail_delivery.sendmail' is used as the executable to call. If
156 # 'applications.sendmail' still exists (backwards compatibility) then
157 # 'applications.sendmail' will be used instead of 'mail_delivery.sendmail'.
158 # If method is empty, mail delivery is disabled.
160 # Location of sendmail for 'method = sendmail'
161 sendmail = /usr/sbin/sendmail -t<%if myconfig_email%> -f <%myconfig_email%><%end%>
162 # Settings for 'method = smtp'. Only set 'port' if your SMTP server
163 # runs on a non-standard port (25 for 'security=none' or
164 # 'security=tls', 465 for 'security=ssl').
167 # Security can be 'tls', 'ssl' or 'none'. Unset equals 'none'. This
168 # determines whether or not encryption is used and which kind. For
169 # 'tls' the module 'Net::SSLGlue' is required; for 'ssl'
170 # 'Net::SMTP::SSL' is required and 'none' only uses 'Net::SMTP'.
172 # Authentication is only used if 'login' is set. You should only use
173 # that with 'tls' or 'ssl' encryption.
182 # This folder can be managed with kivitendo through the background jobs
183 # CleanUpEmailSubfolders and SyncEmailFolder. Create no subfolder in the
184 # base folder by hand. Use / for subfolders.
186 # Port only needs to be changed if it is not the default port.
188 # If SSL is to be used, then set port to 993 or leave empty
191 # Define a server for a specific email (e.g. info@test.de) with
192 # '[sent_emails_in_imap/email/info@test.de]'
193 [sent_emails_in_imap]
198 # This folder must exist. Use / for subfolders.
199 folder = Sent/Kivitendo
200 # Port only needs to be changed if it is not the default port.
202 # If SSL is used, default port is 993
206 # Location of OpenOffice.org/LibreOffice writer
207 openofficeorg_writer = lowriter
208 # Location of the html2ps binary
210 # Location of the Ghostscript binary
212 # Location of the program to create PDFs from TeX documents
213 latex = latexmk --pdflatex
214 # Location of the Python interpreter to use when converting from
215 # OpenDocument to PDF. Some distributions compile UNO support only
216 # into binaries located in different locations than the main Python
221 # Add the following paths to the PATH environment variable.
222 path = /usr/local/bin:/usr/X11R6/bin:/usr/X11/bin
223 # Add the following paths to the PERL5LIB environment variable.
224 # "/sw/lib/perl5" is for Mac OS X with Fink's Perl.
226 # Add the following paths to the PYTHONPATH environment variable for
227 # locating Python modules. Python is used when converting OpenDocument
228 # files into PDF files.
232 # If you have LaTeX installed set to 1
234 # Minimal support for Excel print templates
236 # Enable or disable support for OpenDocument print templates
238 # Chose whether or not OpenOffice/LibreOffice should remain running after a
239 # conversion. If yes then the conversion of subsequent documents will
240 # be a bit faster. You need to have Python and the Python UNO bindings
241 # (part of OpenOffice/LibreOffice) installed.
242 openofficeorg_daemon = 0
243 openofficeorg_daemon_port = 2002
246 # Set to 1 for debug messages in users/kivitendo-debug.log
248 # Chose a system user the daemon should run under when started as root.
250 # Task servers can run on multiple machines. Each needs its own unique
251 # ID. If unset, it defaults to the host name. All but one task server
252 # must have 'only_run_tasks_for_this_node' set to 1.
254 only_run_tasks_for_this_node = 0
256 [task_server/notify_on_failure]
257 # If you want email notifications for failed jobs then set this to a
258 # kivitendo user (login) name. The subject can be changed as well.
260 # The "From:" header for said email.
261 email_from = kivitendo Daemon <root@localhost>
262 # The subject for said email.
263 email_subject = kivitendo Task-Server: Hintergrundjob fehlgeschlagen
264 # The template file used for the email's body.
265 email_template = templates/webpages/task_server/failure_notification_email.txt
268 # The user name or email address a report about the posted and printed
269 # invoices is sent to.
271 # The "From:" header for said email.
272 email_from = kivitendo Daemon <root@localhost>
273 # The subject for said email.
274 email_subject = Benachrichtigung: automatisch erstellte Rechnungen
275 # The template file used for the email's body.
276 email_template = templates/webpages/oe/periodic_invoices_email.txt
277 # Whether to always send the mail (0), or only if there were errors
279 send_for_errors_only = 0
283 # modules to be tested
284 # Add without SL::BackgroundJob::SelfTest:: prefix
285 # Separate with space.
286 modules = Transactions
288 # you probably don't want to be spammed with "everything ok" every day. enable
289 # this when you add new tests to make sure they run correctly for a few days
290 send_email_on_success = 0
292 # will log into the standard logfile
295 # user login (!) to send the email to.
297 # will be used to send your report mail
299 # The subject line for your report mail
300 email_subject = kivitendo self test report
301 # template. currently txt and html templates are recognized and correctly mime send.
302 email_template = templates/mail/self_test/status_mail.txt
304 [check_below_minimum_stock]
305 # The user name or email address a report about the under stock parts is sent
308 # The "From:" header for said email.
309 email_from = kivitendo Daemon <root@localhost>
310 # The subject for said email.
311 email_subject = Benachrichtigung: Artikel unter Mindestbestand
312 # The template file used for the email's body.
313 email_template = templates/mail/below_minimum_stock/error_email.html
316 # Email notifications for due follow ups.
317 # The "From:" header for said email.
318 email_from = kivitendo Daemon <root@localhost>
319 # The subject for said email.
320 email_subject = kivitendo: fällige Wiedervorlagen
321 # The template file used for the email's body.
322 # If empty fu/follow_up_reminder_mail.html will be used.
326 # Email notification for new follow ups.
327 email_from = kivitendo Daemon <root@localhost>
328 email_subject = kivitendo: neue Wiedervorlagen für Sie von <%creator_name%>
329 email_template = templates/mail/follow_up_notify/email_body.txt
332 # Automatic login will only work if both "client" and "login" are
333 # given. "client" can be a client's database ID or its name. "login"
334 # is simply a user's login name.
338 # autorun lines will be executed after autologin.
339 # be warned that loading huge libraries will noticably lengthen startup time.
340 #autorun = require "bin/mozilla/common.pl";
341 # = use English qw(-no_match_vars);
342 # = use List::Util qw(min max);
343 # = sub take { my $max = shift; my $r = ref($_[0]) eq 'ARRAY' ? $_[0] : \@_; return @{$r}[0..List::Util::min($max, scalar(@{$r})) - 1]; }
345 # location of history file for permanent history
346 history_file = users/console_history
348 # Location of a separate log file for the console. Everything normally written
349 # to the kivitendo log will be put here if triggered from the console.
350 log_file = users/kivitendo_console_debug.log
354 # Several tests need a database they can alter data in freely. This
355 # database will be dropped & created before any other test is run. The
356 # following parameters must be given:
364 superuser_user = postgres
368 # Several settings related to the development of kivitendo.
370 # "client" is used by several scripts (e.g. rose_auto_create_model.pl)
371 # when they need access to the database. It can be either a client's
372 # database ID or its name.
376 # Use DBIx::Log4perl for logging DBI calls. The string LXDEBUGFILE
377 # will be replaced by the file name configured for $::lxdebug.
379 dbix_log4perl_config = log4perl.logger = FATAL, LOGFILE
380 = log4perl.appender.LOGFILE=Log::Log4perl::Appender::File
381 = log4perl.appender.LOGFILE.filename=LXDEBUGFILE
382 = log4perl.appender.LOGFILE.mode=append
383 = log4perl.appender.LOGFILE.Threshold = ERROR
384 = log4perl.appender.LOGFILE.layout=PatternLayout
385 = log4perl.appender.LOGFILE.layout.ConversionPattern=[%r] %F %L %c - %m%n
386 = log4perl.logger.DBIx.Log4perl=DEBUG, A1
387 = log4perl.appender.A1=Log::Log4perl::Appender::File
388 = log4perl.appender.A1.filename=LXDEBUGFILE
389 = log4perl.appender.A1.mode=append
390 = log4perl.appender.A1.layout=Log::Log4perl::Layout::PatternLayout
391 = log4perl.appender.A1.layout.ConversionPattern=%d %p> %F{1}:%L %M - %m%n
393 # Activate certain global debug messages. If you want to combine
394 # several options then list them separated by spaces.
396 # Possible values include:
397 # NONE - no debug output (default)
401 # QUERY - Dump SQL queries (only in legacy code; see also "dbix_log4perl" above)
402 # TRACE - Track function calls and returns
403 # BACKTRACE_ON_ERROR - Print a function call backtrace when $form->error() is called
404 # REQUEST_TIMER - Log timing of HTTP requests
405 # REQUEST - Log each request. Careful! Passwords get filtered, but
406 # there may be confidential information being logged here
408 # SHOW_CALLER - include the file name & line number from where a call
409 # to "message" or "dump" was called
410 # ALL - all possible debug messages
412 # DEVEL - sames as "INFO QUERY TRACE BACKTRACE_ON_ERROR REQUEST_TIMER"
415 # global_level = TRACE QUERY
418 # Activate monitoring of the content of $form. If it is active then
419 # monitoring can be turned on for certain variables with the
421 # $form->{"Watchdog::<variable>"} = 1;
422 # Monitoring has a performance cost and is therefore deactivated by
426 # If you want to debug the creation of LaTeX files then set this to 1.
427 # That way the temporary LaTeX files created during PDF creation are
428 # not removed and remain in the "users" directory.
431 # Restart the FastCGI process if changes to the program or template
432 # files have been detected. The restart will occur after the request
433 # in which the changes have been detected has completed.
434 restart_fcgi_process_on_changes = 0
436 # The file name where the debug messages are written to.
437 file_name = users/kivitendo-debug.log
439 # If set to 1 then the installation will be kept unlocked even if a
440 # database upgrade fails.
441 keep_installation_unlocked = 0
443 # If set to 1 then all resource links (JavaScript, CSS files) output
444 # via $::request->{layout}->use_stylesheet() / use_javascript() will
445 # be made unique by appending a random GET parameter. This will cause
446 # the web browser to always reload the resources.
447 auto_reload_resources = 0
449 # If set to 1 each exception will include a full stack backtrace.
453 # If you want phone numbers to be clickable then this must be set to a
454 # command that does the actually dialing. Within this command three
455 # variables are replaced before it is executed:
457 # 1. <%phone_extension%> and <%phone_password%> are taken from the user
458 # configuration (changeable in the admin interface).
459 # 2. <%number%> is the number to dial. It has already been sanitized
460 # and formatted correctly regarding e.g. the international dialing
463 # The following is an example that works with the OpenUC telephony
465 # dial_command = curl --insecure -X PUT https://<%phone_extension%>:<%phone_password%>@IP.AD.DR.ESS:8443/sipxconfig/rest/my/call/<%number%>
467 # If you need to dial something before the actual number then set
468 # external_prefix to it.
470 # The prefix for international calls (numbers starting with +).
471 international_dialing_prefix = 00
472 # Our own country code
473 our_country_code = 49