2374 lines
107 KiB
XML
2374 lines
107 KiB
XML
<?xml version="1.0"?>
|
|
<!-- $Id: 5841de7a8bd742b764f603953bef5d16a75a0da4 $ -->
|
|
<configuration>
|
|
<configtab name="general" desc="General">
|
|
<configheader>General Horde Settings</configheader>
|
|
<configboolean name="vhosts" desc="Enable virtual host configuration? If you
|
|
want to use a single Horde installation for different virtual hosts, you can
|
|
create separate configuration files for each virtual host,
|
|
e.g. <code>conf-www.example.com.php</code> or
|
|
<code>prefs-mail.example.com.php</code>. The global configuration
|
|
files are always loaded first, and virtual host specific files are not
|
|
required. If running command line scripts, you can specify the host name with
|
|
the environment variable SERVER_NAME.">false</configboolean>
|
|
<configheader>PHP Settings</configheader>
|
|
<configphp name="debug_level" desc="The value to set
|
|
error_reporting() to.
|
|
See http://www.php.net/manual/function.error-reporting.php for more
|
|
information and possible values.">E_ALL & ~E_NOTICE</configphp>
|
|
<configinteger name="max_exec_time" desc="If we need to perform a long
|
|
operation, what should we set max_execution_time to (in seconds)? 0 means no
|
|
limit; however, a value of 0 will cause a warning if you are running in safe
|
|
mode. See http://www.php.net/manual/function.set-time-limit.php for more
|
|
information.">0</configinteger>
|
|
<configboolean name="compress_pages" desc="If this option is set to true, and
|
|
you have the php zlib extension installed, pages over a certain size will be
|
|
compressed and sent to the browser as gzip-encoded data in order to save
|
|
bandwidth. There is little reason not to enable this.">true</configboolean>
|
|
<configsecret name="secret_key" desc="Secret key for generating signed
|
|
messages from this server. This is a random string unique to this Horde
|
|
installation."></configsecret>
|
|
<configinteger name="umask" octal="true" desc="What umask should we run
|
|
with? This will affect the permissions on any temporary files that are
|
|
created. This value is an integer.">077</configinteger>
|
|
<configboolean name="testdisable" desc="Disable the test script
|
|
(horde/test.php)? For security reasons, this is disabled by
|
|
default">true</configboolean>
|
|
<configstring name="tmpdir" required="false" desc="If you want to use a
|
|
temporary directory other than the system default or the one specified in
|
|
php's upload_tmp_dir value, enter it here."/>
|
|
<configheader>URL Settings</configheader>
|
|
<configenum name="use_ssl" quote="false" desc="Determines how we generate
|
|
full URLs (for location headers and such).">2
|
|
<values>
|
|
<value desc="Assume that we are not using SSL and never generate https
|
|
URLs.">0</value>
|
|
<value desc="Assume that we are using SSL and always generate https
|
|
URLs.">1</value>
|
|
<value desc="Attempt to auto-detect, and generate URLs
|
|
appropriately">2</value>
|
|
<value desc="Assume that we are not using SSL and generate https URLs only
|
|
for login.">3</value>
|
|
</values>
|
|
</configenum>
|
|
|
|
<configsection name="server">
|
|
<configphp name="name" desc="What server name should we use? You'll probably
|
|
know if you need to change this default; only in situations where you need
|
|
to override what Apache thinks the server name is.">
|
|
$_SERVER['SERVER_NAME']</configphp>
|
|
<configphp name="port" required="false" desc="What port number is the
|
|
webserver running on? Again, you shouldn't need to change the default, and
|
|
you probably know it if you do. The exception is if you have chosen to
|
|
always generate https URLs, as described above."/>
|
|
</configsection>
|
|
|
|
<configsection name="urls">
|
|
<configinteger name="token_lifetime" desc="This is the length of time in
|
|
minutes that links protected with request tokens (to prevent cross-site
|
|
request forgery) will be valid. Higher values may make your users more
|
|
vulnerable to these attacks.">30</configinteger>
|
|
<configinteger name="hmac_lifetime" desc="This is the length of time in
|
|
minutes that links signed with HMACs (to prevent forged URL parametes)
|
|
will be valid. Higher values may make your users more vulnerable to
|
|
forgery or phishing.">30</configinteger>
|
|
<configenum name="pretty" required="false" desc="Use pretty URLs?">false
|
|
<values>
|
|
<value desc="No (GET-based URLs)">false</value>
|
|
<value desc="URL rewriting (mod_rewrite, lighttpd rules, etc.)">rewrite</value>
|
|
</values>
|
|
</configenum>
|
|
</configsection>
|
|
|
|
<configlist name="safe_ips" required="false" desc="A list of IP subnets
|
|
that are considered safe, e.g. to transfer encryption passphrases without
|
|
requiring an HTTPS connection. (Example: 192.168.0.0, 10.0.0.0) To consider
|
|
all connections to be safe (e.g. when SSL is handled by an SSL crypto card
|
|
and not by the webserver) this value should be '*'."/>
|
|
|
|
<configheader>Session Settings</configheader>
|
|
<configsection name="session">
|
|
<configstring name="name" desc="What name should we use for the session
|
|
that Horde applications share? If you want to share sessions with other
|
|
applications on your webserver, you will need to make sure that they are
|
|
using the same session name. This value can also be used to invalidate
|
|
previous sessions when upgrading your local version of Horde (Note: Session
|
|
names must consist of only alphanumeric characters.)">Horde</configstring>
|
|
<configboolean name="use_only_cookies" desc="Should we only allow session
|
|
information to be stored in a session cookie and not be passed by URL (GET)
|
|
parameters? This is on by default because passing session information in
|
|
the URL is a security risk. <b>Consider carefully before turning it
|
|
off</b>. Cookies must be working and enabled in the browser though, or
|
|
you won't be able to login to Horde. If false, session information will be
|
|
passed via both the URL and cookies.">true</configboolean>
|
|
<configinteger name="timeout" desc="The cookie lifetime (in seconds). If 0,
|
|
(DEFAULT; RECOMMENDED) cookies will expire when the browser closes.
|
|
Otherwise, this is the length after which a cookie will expire (this
|
|
lifetime is updated after every browser request). Setting a non-zero value
|
|
is NOT RECOMMENDED as there is no guarantee a session will ever expire;
|
|
additionally, the session expiration value is based on the SERVER, not the
|
|
CLIENT, so this will most certainly not work the way you want/think it
|
|
should (see
|
|
http://www.php.net/manual/en/function.session-set-cookie-params.php) for
|
|
further information.">0</configinteger>
|
|
<configstring name="cache_limiter" desc="What caching level should we use
|
|
for the session? DO NOT CHANGE THIS UNLESS YOU <strong>REALLY
|
|
</strong> KNOW WHAT YOU ARE DOING. Setting this to anything other
|
|
than 'nocache' will almost certainly result in severely broken script
|
|
behavior.">nocache</configstring>
|
|
<configinteger name="max_time" desc="The maximum length of time (in
|
|
seconds) a session can be active after user authentication before it will
|
|
be destroyed. (Sessions may otherwise never timeout if a user never closes
|
|
their browser.) 0 means there is no maximum session time (NOT
|
|
RECOMMENDED).">604800</configinteger>
|
|
</configsection>
|
|
<configsection name="cookie">
|
|
<configphp name="domain" desc="What domain should we set cookies from? If
|
|
you have a cluster that needs to share cookies, this might be '.example.com'
|
|
- the leading '.' is important. If you only use session cookies (see
|
|
above), but you are running Horde on an intranet server without a domain
|
|
part, i.e. http//horde/, you need to set this value to ''. Most likely,
|
|
though, you won't have to change the
|
|
default.">$_SERVER['SERVER_NAME']</configphp>
|
|
<configstring name="path" desc="What path should we set cookies to? For
|
|
maximum security this should match the URL where Horde is on your webserver.
|
|
If Horde is at /horde, then this should be '/horde'. If Horde is installed
|
|
as the document root, then this needs to be '/' - NOT ''. If IE will be
|
|
used to access Horde modules, you should read this first
|
|
(discussing issues with IE's Content Advisor):
|
|
http://lists.horde.org/archives/imp/Week-of-Mon-20030113/029149.html">
|
|
/</configstring>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="db" desc="Database">
|
|
<configdescription><strong>NOTE:</strong> These are only the
|
|
<em>default</em> values for any database driven backends. You
|
|
still need to configure the different systems like "Preferences" to actually
|
|
<em>use</em> a database backend.</configdescription>
|
|
<configsection name="sql">
|
|
<configheader>SQL Database Settings</configheader>
|
|
<configdescription>These are the database settings for the traditional
|
|
relational databases backends (e.g. databases that use SQL to manage its
|
|
data).</configdescription>
|
|
<configsql switchname="phptype" baseconfig="true" />
|
|
</configsection>
|
|
<configsection name="nosql">
|
|
<configheader>NoSQL Database Settings</configheader>
|
|
<configdescription>These are the database settings for the NoSQL database
|
|
backends. These are databases generally optimized for
|
|
scalability/availability, but do not use a standardized query language to
|
|
interact with the data.</configdescription>
|
|
<confignosql switchname="phptype" baseconfig="true" default="false"/>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="ldap" desc="LDAP">
|
|
<configsection name="ldap">
|
|
<configheader>LDAP Settings</configheader>
|
|
<configdescription><strong>NOTE:</strong> These are only the
|
|
<em>default</em> values for any LDAP driven backends. You
|
|
still need to configure the different systems like "Preferences" to actually
|
|
<em>use</em> a LDAP backend.</configdescription>
|
|
<configldap switchname="useldap" baseconfig="true" />
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="auth" desc="Authentication">
|
|
<configsection name="auth">
|
|
<configheader>Authentication Settings</configheader>
|
|
<configlist name="admins" desc="Which users should be treated as
|
|
administrators (root, super-user) by Horde?" required="false"/>
|
|
<configboolean name="checkip" desc="Should we always store and validate
|
|
the IP address of the client (as seen by the web server) in the session?
|
|
Doing so will help increase security by making it harder for an attacker
|
|
from another host to hijack the session.">true</configboolean>
|
|
<configboolean name="checkbrowser" desc="Should we always store and
|
|
validate the browser string of the client (as seen by the web server) in
|
|
the session? Doing so will help increase security by making it harder for
|
|
an attacker to hijack the session.">true</configboolean>
|
|
<configswitch name="resetpassword" desc="Allow users to reset passwords and
|
|
provide a link on the login screen?">true
|
|
<case name="true" desc="Yes">
|
|
<configstring name="resetpassword_from" required="false" desc="The e-mail
|
|
address to send password reset e-mails from. If empty, is sent from the
|
|
user's e-mail address."/>
|
|
</case>
|
|
<case name="false" desc="No"/>
|
|
</configswitch>
|
|
<configstring name="alternate_login" desc="If this is not false, it is
|
|
assumed to be the URL of an alternate login screen which will be used in
|
|
place of horde's default login screen. The URL will have an "app"
|
|
parameter appended that contains the application that redirected to the
|
|
login screen, and a "url" parameter with the originally requested
|
|
URL. The alternate login screen should redirect to that URL after
|
|
authentication. Alternatively you can include a "%u" place holder
|
|
in the alternate URL that will be replaced by that original
|
|
URL. Optionally appended URL parameters are "logout_reason" that
|
|
contains a number with the logout reason (see the Horde_Auth::REASON_*
|
|
constants for possible values), and "logout_msg" that contains an
|
|
error message describing the logout reason.">false</configstring>
|
|
<configstring name="redirect_on_logout" desc="If this is not false, it is
|
|
assumed to be the URL of an alternate logout page which users will be sent
|
|
to when they log out.">false</configstring>
|
|
<configenum name="list_users" desc="If the authentication backend is
|
|
capable of listing all users, should we show this list to the users,
|
|
e.g. in the permissions screen?">list
|
|
<values>
|
|
<value desc="Show a drop down list">list</value>
|
|
<value desc="Show an input field">input</value>
|
|
<value desc="Show both, a list and an input field">both</value>
|
|
</values>
|
|
</configenum>
|
|
|
|
<configswitch name="driver" desc="What backend should we use for
|
|
authenticating users to Horde?">
|
|
|
|
<case name="application" desc="Let a Horde application handle
|
|
authentication">
|
|
<configsection name="params">
|
|
<configenum name="app" desc="The application which is providing
|
|
authentication">imp
|
|
<values>
|
|
<configspecial application="horde" name="apps" />
|
|
</values>
|
|
</configenum>
|
|
</configsection>
|
|
</case>
|
|
|
|
<case name="auto" desc="Automatic authentication as a certain user">
|
|
<configsection name="params">
|
|
<configstring name="username" desc="The username to authenticate
|
|
everyone as">horde_user</configstring>
|
|
<configstring name="password" desc="The password to use for the user's
|
|
credentials" required="false"/>
|
|
<configboolean name="requestuser" desc="Allow username to be passed by
|
|
GET, POST or cookie?">false</configboolean>
|
|
</configsection>
|
|
</case>
|
|
|
|
<case name="composite" desc="Composite authentication">
|
|
<configdescription>
|
|
This authentication driver needs manual configuration not possible
|
|
through this interface. Add the appropriate configuration lines at the
|
|
end of the generated configuration file. See
|
|
http://wiki.horde.org/AuthCompositeHowTo for details.
|
|
</configdescription>
|
|
</case>
|
|
|
|
<case name="ftp" desc="FTP authentication">
|
|
<configsection name="params">
|
|
<configstring name="hostspec" desc="The hostname or IP address of the
|
|
FTP server">localhost</configstring>
|
|
<configinteger name="port" desc="The server port to connect to">
|
|
21</configinteger>
|
|
</configsection>
|
|
</case>
|
|
|
|
<case name="http" desc="HTTP (Basic Authentication/.htpasswd)
|
|
authentication">
|
|
<configsection name="params">
|
|
<configboolean name="show_encryption" required="false" desc="Prepend the
|
|
password algorithm to the password value?">true</configboolean>
|
|
<configstring name="htpasswd_file" required="false" desc="The location of
|
|
the htpasswd file containing the user names and passwords"/>
|
|
<configenum name="encryption" desc="The password hashing algorithm used in the htpasswd file">crypt-des
|
|
<values>
|
|
<value>aprmd5</value>
|
|
<value>crypt</value>
|
|
<value>crypt-blowfish</value>
|
|
<value>crypt-des</value>
|
|
<value>crypt-md5</value>
|
|
<value>crypt-sha256</value>
|
|
<value>crypt-sha512</value>
|
|
<value>md5-base64</value>
|
|
<value>md5-hex</value>
|
|
<value>plain</value>
|
|
<value>sha</value>
|
|
<value>smd5</value>
|
|
<value>ssha</value>
|
|
</values>
|
|
</configenum>
|
|
</configsection>
|
|
</case>
|
|
|
|
<case name="httpRemote" desc="Remote HTTP Authentication">
|
|
<configsection name="params">
|
|
<configstring name="url" desc="The remote HTTP endpoint to authenticate against" />
|
|
</configsection>
|
|
</case>
|
|
|
|
<case name="imap" desc="IMAP authentication">
|
|
<configsection name="params">
|
|
<configstring name="hostspec" desc="The hostname or IP address of the
|
|
server">localhost</configstring>
|
|
<configinteger name="port" desc="The server port to which we will
|
|
connect. IMAP is generally 143, while IMAP-SSL is generally
|
|
993.">143</configinteger>
|
|
<configenum name="secure" desc="The encryption to use to connect to
|
|
the IMAP server.">tls
|
|
<values>
|
|
<value>none</value>
|
|
<value>tls</value>
|
|
<value>ssl</value>
|
|
</values>
|
|
</configenum>
|
|
</configsection>
|
|
</case>
|
|
|
|
<case name="imsp" desc="IMSP server authentication" />
|
|
|
|
<case name="ipbasic" desc="IP based authentication">
|
|
<configsection name="params">
|
|
<configlist name="blocks" desc="A list of CIDR masks which are allowed
|
|
access"/>
|
|
</configsection>
|
|
</case>
|
|
|
|
<case name="kolab" desc="Kolab authentication">
|
|
<configsection name="params">
|
|
</configsection>
|
|
</case>
|
|
|
|
<case name="ldap" desc="LDAP authentication">
|
|
<configsection name="params">
|
|
<configldap switchname="driverconfig" excludebind="user">
|
|
<configstring name="sizelimit" required="false" desc="Size limit for
|
|
listing users on large directories"/>
|
|
<configboolean name="ad" desc="Is this an AD server?">
|
|
false</configboolean>
|
|
<configstring name="uid" desc="The username search key (set to
|
|
samaccountname for AD)"/>
|
|
<configenum name="encryption" desc="The password hashing algorithm to
|
|
use">ssha
|
|
<values>
|
|
<value>aprmd5</value>
|
|
<value>crypt</value>
|
|
<value>crypt-blowfish</value>
|
|
<value>crypt-des</value>
|
|
<value>crypt-md5</value>
|
|
<value>crypt-sha256</value>
|
|
<value>crypt-sha512</value>
|
|
<value>md5-base64</value>
|
|
<value>md5-hex</value>
|
|
<value>msad</value>
|
|
<value>plain</value>
|
|
<value>sha</value>
|
|
<value>smd5</value>
|
|
<value>ssha</value>
|
|
</values>
|
|
</configenum>
|
|
<configlist name="newuser_objectclass" desc="What objectclasses should a
|
|
new user account be member of? These objectclasses should cover the
|
|
cn,sn,userPassword attributes as well as the username search key">
|
|
shadowAccount,inetOrgPerson</configlist>
|
|
<configstring name="filter" desc="The LDAP RFC formatted filter used
|
|
to search for users.">(objectclass=shadowAccount)
|
|
</configstring>
|
|
<configswitch name="password_expiration" desc="Enable the creating of
|
|
accounts with expiring passwords? (Note: New users should have the
|
|
shadowAccount objectclass)">no
|
|
<case name="no" desc="no" />
|
|
<case name="yes" desc="yes">
|
|
<configstring name="minage" desc="After how many days may a password
|
|
be changed again?">5</configstring>
|
|
<configstring name="maxage" desc="How many days will a password
|
|
remain valid?">30</configstring>
|
|
<configstring name="warnage" desc="How many days before expiration
|
|
should a user be warned?">5</configstring>
|
|
</case>
|
|
</configswitch>
|
|
</configldap>
|
|
</configsection>
|
|
</case>
|
|
|
|
<case name="login" desc="Login (su) authentication">
|
|
<configsection name="params">
|
|
<configstring name="location" desc="Location of the su binary">
|
|
/bin/su</configstring>
|
|
</configsection>
|
|
</case>
|
|
|
|
<case name="pam" desc="PAM (Pluggable Authentication Modules)
|
|
authentication">
|
|
<configsection name="params">
|
|
<configstring name="service" desc="The name of the PAM service to use
|
|
when authenticating">php</configstring>
|
|
</configsection>
|
|
</case>
|
|
|
|
<case name="passwd" desc="password file authentication">
|
|
<configsection name="params">
|
|
<configstring name="filename" desc="The password file to use">
|
|
/etc/passwd</configstring>
|
|
<configenum name="encryption" required="false" desc="The password
|
|
hashing algorithm used in the password file">crypt
|
|
<values>
|
|
<value>aprmd5</value>
|
|
<value>crypt</value>
|
|
<value>crypt-blowfish</value>
|
|
<value>crypt-des</value>
|
|
<value>crypt-md5</value>
|
|
<value>crypt-sha256</value>
|
|
<value>crypt-sha512</value>
|
|
<value>md5-base64</value>
|
|
<value>md5-hex</value>
|
|
<value>plain</value>
|
|
<value>sha</value>
|
|
<value>smd5</value>
|
|
<value>ssha</value>
|
|
</values>
|
|
</configenum>
|
|
<configboolean name="show_encryption" required="false" desc="Prepend the
|
|
password algorithm to the password value?">false</configboolean>
|
|
<configstring name="group_filename" required="false" desc="An accompanying group file" />
|
|
<configlist name="required_groups" required="false" desc="A comma-separated list of groups allowed to log in. If blank, or if there is no group file, any valid user will be allowed to log in." />
|
|
<configboolean name="lock" desc="Should we lock the password file? This incurs a concurrent performance penalty, but is required if you want the ability to add, update, or delete users.">
|
|
false</configboolean>
|
|
</configsection>
|
|
</case>
|
|
|
|
<case name="radius" desc="Radius authentication">
|
|
<configsection name="params">
|
|
<configstring name="host" desc="The RADIUS host to use (IP address or
|
|
fully qualified hostname)">localhost</configstring>
|
|
<configinteger name="port" required="false" desc="The port to use on the
|
|
RADIUS server"/>
|
|
<configenum name="method" desc="The RADIUS method to use for validating
|
|
the request">PAP
|
|
<values>
|
|
<value desc="PAP">PAP</value>
|
|
<value desc="CHAP_MD5 (not supported at the moment)">CHAP_MD5</value>
|
|
<value desc="MSCHAPv1 (not supported at the moment)">MSCHAPv1</value>
|
|
<value desc="MSCHAPv2 (not supported at the moment)">MSCHAPv2</value>
|
|
</values>
|
|
</configenum>
|
|
<configstring name="nas" required="false" desc="The RADIUS NAS
|
|
identifier to use." />
|
|
<configstring name="secret" desc="The RADIUS shared secret string for the
|
|
host. The RADIUS protocol ignores all but the leading 128 bytes of the
|
|
shared secret."/>
|
|
<configinteger name="retries" required="false" desc="The maximum number
|
|
of repeated requests to make before giving up [3]"/>
|
|
<configstring name="suffix" required="false" desc="The domain name to add
|
|
to unqualified user names"/>
|
|
<configinteger name="timeout" required="false" desc="The timeout for
|
|
receiving replies from the server (in seconds) [3]"/>
|
|
</configsection>
|
|
</case>
|
|
|
|
<case name="peclsasl" desc="SASL authentication">
|
|
<configsection name="params">
|
|
<configstring name="app" desc="The name of the authenticating
|
|
application">horde</configstring>
|
|
<configstring name="service" desc="The name of the SASL service to use
|
|
when authenticating">php</configstring>
|
|
</configsection>
|
|
</case>
|
|
|
|
<case name="shibboleth" desc="Shibboleth Authentication">
|
|
<configsection name="params">
|
|
<configstring name="username_header" desc="The HTTP header holding the
|
|
username">REMOTE_USER</configstring>
|
|
<configswitch name="password_holder" desc="Where should we get the
|
|
password for hordeauth from?">
|
|
<case name="none" desc="No passwords"/>
|
|
<case name="header" desc="HTTP Header">
|
|
<configstring name="password_header" desc="The HTTP header holding the
|
|
password" required="false"></configstring>
|
|
</case>
|
|
<case name="preferences" desc="Horde Preferences">
|
|
<configstring name="password_preference" desc="The Horde preference
|
|
that contains the password" required="false"></configstring>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</case>
|
|
|
|
<case name="smb" desc="SMB (smbauth extension) authentication">
|
|
<configsection name="params">
|
|
<configstring name="hostspec" desc="IP, DNS Name, or NetBios Name of the
|
|
SMB server to authenticate with">localhost</configstring>
|
|
<configstring name="domain" desc="The domain name to authenticate with"/>
|
|
<configstring name="group" required="false" desc="Optional group name
|
|
that the user must be a member of"/>
|
|
</configsection>
|
|
</case>
|
|
|
|
<case name="smbclient" desc="SMB (smbclient) authentication">
|
|
<configsection name="params">
|
|
<configstring name="hostspec" desc="IP, DNS Name, or NetBios Name of the
|
|
SMB server to authenticate with">localhost</configstring>
|
|
<configstring name="domain" desc="The domain name to authenticate with"/>
|
|
<configstring name="smbclient_path" desc="The location of the smbclient program">/usr/bin/smbclient</configstring>
|
|
</configsection>
|
|
</case>
|
|
|
|
<case name="sql" desc="SQL authentication">
|
|
<configsection name="params">
|
|
<configsql switchname="driverconfig" />
|
|
<configstring name="table" required="false" desc="The name of the auth
|
|
table in the database [horde_users]"/>
|
|
<configstring name="username_field" required="false" desc="The name of
|
|
the username field in the auth table [user_uid]"/>
|
|
<configstring name="password_field" required="false" desc="The name of
|
|
the password field in the auth table [user_pass]"/>
|
|
<configstring name="soft_expiration_field" required="false" desc="The
|
|
name of a field containing a UNIX timestamp. When a user logs in after
|
|
the specified time, if 'passwd' is installed, that user will be asked to
|
|
change his or her password. This feature is disabled by default."/>
|
|
<configstring name="hard_expiration_field" required="false" desc="The
|
|
name of a field containing a UNIX timestamp. A user will not be able to
|
|
log in after the specified time. This feature is disabled by default."/>
|
|
<configinteger name="soft_expiration_window" required="false"
|
|
desc="This is how often, in days, the user must change his or her
|
|
password. When the user's password is updated, the "soft"
|
|
expiration is set this many days in the future. If not provided,
|
|
the user's password will not expire by default."/>
|
|
<configinteger name="hard_expiration_window" required="false" desc="The
|
|
number of days in the grace period the user has to change his or her
|
|
password after it has expired. If not provided, the grace period will
|
|
not expire."/>
|
|
<configenum name="encryption" required="false" desc="The password hashing algorithm to use">ssha
|
|
<values>
|
|
<value>aprmd5</value>
|
|
<value>crypt</value>
|
|
<value>crypt-blowfish</value>
|
|
<value>crypt-des</value>
|
|
<value>crypt-md5</value>
|
|
<value>crypt-sha256</value>
|
|
<value>crypt-sha512</value>
|
|
<value>joomla-md5</value>
|
|
<value>md5-base64</value>
|
|
<value>md5-hex</value>
|
|
<value>mysql</value>
|
|
<value>plain</value>
|
|
<value>sha</value>
|
|
<value>smd5</value>
|
|
<value>ssha</value>
|
|
</values>
|
|
</configenum>
|
|
<configboolean name="show_encryption" required="false" desc="Prepend the password algorithm to the password value?">false</configboolean>
|
|
</configsection>
|
|
</case>
|
|
|
|
<case name="customsql" desc="SQL authentication w/custom-made queries">
|
|
<configsection name="params">
|
|
<configenum name="phptype" desc="The name of the database">mysql
|
|
<values>
|
|
<value desc="MySQL">mysql</value>
|
|
<value desc="MySQL (mysqli)">mysqli</value>
|
|
<value desc="ODBC">odbc</value>
|
|
<value desc="PostgreSQL">pgsql</value>
|
|
</values>
|
|
</configenum>
|
|
<configswitch name="protocol" desc="What protocol will we use to connect
|
|
to the database?">unix
|
|
<case name="unix" desc="UNIX Sockets">
|
|
<configstring name="socket" required="false" desc="Location of UNIX
|
|
socket"></configstring>
|
|
</case>
|
|
<case name="tcp" desc="TCP/IP">
|
|
<configstring name="hostspec" desc="What hostname is the database server
|
|
running on, or what is the name of the system DSN to use?">
|
|
localhost</configstring>
|
|
<configinteger name="port" required="false" desc="Port the DB is
|
|
running on, if non-standard"/>
|
|
</case>
|
|
</configswitch>
|
|
<configstring name="username" desc="What username do we authenticate to
|
|
the database server as?">horde</configstring>
|
|
<configstring name="password" required="false" desc="What password do we
|
|
authenticate to the database server with?"/>
|
|
<configstring name="database" desc="What database name/tablespace are we
|
|
using?">horde</configstring>
|
|
<configdescription>
|
|
Some special tokens can be used in the sql query. They are replaced at
|
|
the query stage:<ul>
|
|
<li>"\L" will be replaced by the user's login</li>
|
|
<li>"\P" will be replaced by the user's password</li>
|
|
<li>"\O" will be replaced by the old user's login (required for
|
|
update)</li></ul>
|
|
Eg: "SELECT * FROM users WHERE uid = \L AND passwd = \P AND billing =
|
|
'paid'"
|
|
</configdescription>
|
|
<configstring name="query_auth" required="false" desc="Authenticate the user"/>
|
|
<configstring name="query_add" required="false" desc="Add user"/>
|
|
<configstring name="query_getpw" required="false" desc="Get a user's password"/>
|
|
<configstring name="query_update" required="false" desc="Update user"/>
|
|
<configstring name="query_resetpassword" required="false" desc="Reset a user's password"/>
|
|
<configstring name="query_remove" required="false" desc="Remove user"/>
|
|
<configstring name="query_list" required="false" desc="List users"/>
|
|
<configstring name="query_exists" required="false" desc="Check if an account exists"/>
|
|
<configenum name="encryption" desc="The password hashing algorithm to use">ssha
|
|
<values>
|
|
<value>aprmd5</value>
|
|
<value>crypt</value>
|
|
<value>crypt-blowfish</value>
|
|
<value>crypt-des</value>
|
|
<value>crypt-md5</value>
|
|
<value>crypt-sha256</value>
|
|
<value>crypt-sha512</value>
|
|
<value>joomla-md5</value>
|
|
<value>md5-base64</value>
|
|
<value>md5-hex</value>
|
|
<value>mysql</value>
|
|
<value>plain</value>
|
|
<value>sha</value>
|
|
<value>smd5</value>
|
|
<value>ssha</value>
|
|
</values>
|
|
</configenum>
|
|
<configboolean name="show_encryption" desc="Prepend the password algorithm to the password value?">false</configboolean>
|
|
</configsection>
|
|
</case>
|
|
|
|
<case name="cyrsql" desc="SQL implementation for the Cyrus IMAP server">
|
|
<configsection name="params">
|
|
<configstring name="cyradmin" desc="The username of the cyrus
|
|
administrator"/>
|
|
<configstring name="cyrpass" desc="The password for the cyrus
|
|
administrator"/>
|
|
<configstring name="cyrhost" desc="The hostname or IP address of the
|
|
server">localhost</configstring>
|
|
<configinteger name="cyrport" desc="The server port to which we will
|
|
connect. IMAP is generally 143, while IMAP-SSL is generally
|
|
993.">143</configinteger>
|
|
<configenum name="secure" desc="The encryption to use to connect to
|
|
the IMAP server.">none
|
|
<values>
|
|
<value>none</value>
|
|
<value>tls</value>
|
|
<value>ssl</value>
|
|
</values>
|
|
</configenum>
|
|
<configenum name="phptype" desc="The name of the database">mysql
|
|
<values>
|
|
<value desc="MySQL">mysql</value>
|
|
<value desc="ODBC">odbc</value>
|
|
<value desc="PostgreSQL">pgsql</value>
|
|
</values>
|
|
</configenum>
|
|
<configswitch name="protocol" desc="What protocol will we use to connect
|
|
to the database?">unix
|
|
<case name="unix" desc="UNIX Sockets">
|
|
<configstring name="socket" required="false" desc="Location of UNIX
|
|
socket"></configstring>
|
|
</case>
|
|
<case name="tcp" desc="TCP/IP">
|
|
<configinteger name="port" required="false" desc="Port the DB is
|
|
running on, if non-standard">5432</configinteger>
|
|
</case>
|
|
</configswitch>
|
|
<configstring name="hostspec" desc="What hostname is the database server
|
|
running on, or what is the name of the system DSN to use?">
|
|
localhost</configstring>
|
|
<configstring name="username" desc="What username do we authenticate to
|
|
the database server as?">horde</configstring>
|
|
<configstring name="password" required="false" desc="What password do we
|
|
authenticate to the database server with?"/>
|
|
<configstring name="database" desc="What database name/tablespace are we
|
|
using?">horde</configstring>
|
|
<configstring name="table" desc="The name of the auth table in the
|
|
database">horde_users</configstring>
|
|
<configstring name="username_field" desc="The name of the username field
|
|
in the auth table">user_uid</configstring>
|
|
<configstring name="password_field" desc="The name of the password field
|
|
in the auth table">user_pass</configstring>
|
|
<configstring name="domain_field" desc="If set to anything other than
|
|
'none' this is used as field name where domain is
|
|
stored">none</configstring>
|
|
<configenum name="encryption" desc="The password hashing algorithm to use">ssha
|
|
<values>
|
|
<value>aprmd5</value>
|
|
<value>crypt</value>
|
|
<value>crypt-blowfish</value>
|
|
<value>crypt-des</value>
|
|
<value>crypt-md5</value>
|
|
<value>crypt-sha256</value>
|
|
<value>crypt-sha512</value>
|
|
<value>md5-base64</value>
|
|
<value>md5-hex</value>
|
|
<value>plain</value>
|
|
<value>sha</value>
|
|
<value>smd5</value>
|
|
<value>ssha</value>
|
|
</values>
|
|
</configenum>
|
|
<configlist name="folders" required="false" desc="A list of folders to
|
|
create under username"/>
|
|
<configinteger name="quota" required="false" desc="The quota (in
|
|
kilobytes) to grant on the mailbox"/>
|
|
<configstring name="userhierarchy" required="false" desc="The user
|
|
hierarchy prefix."/>
|
|
<configlist name="hidden_accounts" required="false" desc="A list of accounts to
|
|
hide from the user interface">cyrus</configlist>
|
|
</configsection>
|
|
</case>
|
|
|
|
<case name="x509" desc="X509 Client Certificates">
|
|
<configsection name="params">
|
|
<configstring name="username_field" desc="The X509 field containing the username">
|
|
SSL_CLIENT_S_DN_CN</configstring>
|
|
<configswitch name="password_source" desc="Where should Horde attempt to
|
|
find user passwords?">
|
|
<case name="none" desc="Either no passwords are needed, or the
|
|
postauthenticate hook will provide them."/>
|
|
<case name="unified" desc="A single password will be used for all
|
|
users. ONLY USE THIS IF YOU KNOW WHAT YOU ARE DOING! YOUR SYSTEM MUST
|
|
BE PROPERLY SECURED!">
|
|
<configstring name="unified_password" desc="The password to use.">
|
|
</configstring>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
<configsection name="params">
|
|
<configboolean name="count_bad_logins" required="false" desc="Should Horde
|
|
count the number of bad logins?">false</configboolean>
|
|
<configboolean name="login_block" required="false" desc="Allow to block
|
|
logins for certain users?">false</configboolean>
|
|
<configinteger name="login_block_count" required="false" desc="After how
|
|
many failed logins the login should be blocked? Setting 0 disables the
|
|
feature">5</configinteger>
|
|
<configinteger name="login_block_time" required="false" desc="How many
|
|
minutes should the login be blocked? Setting 0 means permanent
|
|
blocking">5</configinteger>
|
|
</configsection>
|
|
</configsection>
|
|
|
|
<configsection name="tos">
|
|
<configheader>Terms of Service Agreement</configheader>
|
|
<configstring name="file" required="false" desc="If you want to require
|
|
users to accept certain terms before they can use the system, enter the
|
|
path of the agreement file to display here."/>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="signup" desc="Signing Up">
|
|
<configsection name="signup">
|
|
<configheader>Sign Up Settings</configheader>
|
|
<configswitch name="allow" desc="Allow non-registered users to register and
|
|
provide a link on the login screen?">false
|
|
<case name="true" desc="Yes">
|
|
<configswitch name="driver" desc="What signup driver should we
|
|
use?">
|
|
<case name="Sql" desc="SQL Database">
|
|
<configsection name="params">
|
|
<configsql switchname="driverconfig">
|
|
<configstring name="table" required="false" desc="The name of the
|
|
signup table in the database [horde_signups]"/>
|
|
</configsql>
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
<configstring name="email" desc="Specify an email address, if a message
|
|
should be send to notify about new signups, including links for approving
|
|
and denying." required="false"/>
|
|
<configboolean name="approve" desc="Admin has to approve any user
|
|
submitted registration requests? (WARNING: Setting to false would mean
|
|
that every user who signs up would have automatic access to your horde
|
|
system.)" required="false">true</configboolean>
|
|
</case>
|
|
<case name="false" desc="No" />
|
|
</configswitch>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="log" desc="Logging">
|
|
<configsection name="log">
|
|
<configheader>Logging Settings</configheader>
|
|
<configswitch name="enabled" quote="false" desc="Should Horde log errors and
|
|
other useful information?">true
|
|
<case name="true" desc="Yes">
|
|
<configenum name="priority" desc="What level of messages should we log?
|
|
Each level logs itself and all those that come before it: ALERT would
|
|
only log alerts and emergencies, but DEBUG would log everything.">NOTICE
|
|
<values>
|
|
<value desc="EMERG">EMERG</value>
|
|
<value desc="ALERT">ALERT</value>
|
|
<value desc="CRIT">CRIT</value>
|
|
<value desc="ERR">ERR</value>
|
|
<value desc="WARN">WARNING</value>
|
|
<value desc="NOTICE">NOTICE</value>
|
|
<value desc="INFO">INFO</value>
|
|
<value desc="DEBUG">DEBUG</value>
|
|
</values>
|
|
</configenum>
|
|
<configstring name="ident" required="false" desc="What identifier should
|
|
we use in the logs?">HORDE</configstring>
|
|
<configstring name="time_format" required="false" desc="What time format
|
|
should we use in the logs? (Acceptable formats are the inputs to PHP's
|
|
date() function). Leave blank to use the default."></configstring>
|
|
|
|
<configswitch name="type" desc="What log driver should we use?">file
|
|
<case name="file" desc="File">
|
|
<configstring name="name" desc="Path to the log
|
|
file">/tmp/horde.log</configstring>
|
|
<configsection name="params">
|
|
<configboolean name="append" desc="Should new log entries be appended
|
|
to an existing log file? If this is false, new log files will
|
|
overwrite existing ones.">true</configboolean>
|
|
<configswitch name="format" required="false" desc="What format should
|
|
the log entries be in?">default
|
|
<case name="custom" desc="Custom Template">
|
|
<configstring name="template" desc="The custom logging template
|
|
to use."></configstring>
|
|
</case>
|
|
<case name="default" desc="Default" />
|
|
<case name="xml" desc="XML" />
|
|
</configswitch>
|
|
</configsection>
|
|
</case>
|
|
|
|
<case name="stream" desc="PHP Stream">
|
|
<configstring name="name" desc="A valid-PHP stream interface to use
|
|
for logging."></configstring>
|
|
<configsection name="params">
|
|
<configswitch name="format" required="false" desc="What format should
|
|
the log entries be in?">default
|
|
<case name="custom" desc="Custom Template">
|
|
<configstring name="template" desc="The custom logging template
|
|
to use."></configstring>
|
|
</case>
|
|
<case name="default" desc="Default" />
|
|
<case name="xml" desc="XML" />
|
|
</configswitch>
|
|
</configsection>
|
|
</case>
|
|
|
|
<case name="syslog" desc="Syslog">
|
|
<configphp name="name" quote="false" desc="Syslog facility to use"/>
|
|
</case>
|
|
</configswitch>
|
|
|
|
</case>
|
|
<case name="false" desc="No"/>
|
|
</configswitch>
|
|
</configsection>
|
|
<configboolean name="log_accesskeys" desc="Should Horde log statistics about
|
|
used access keys? This is only useful for translators of the
|
|
UI. You also need to set the log level to at least
|
|
INFO.">false</configboolean>
|
|
</configtab>
|
|
|
|
<configtab name="prefs" desc="Preferences">
|
|
<configsection name="prefs">
|
|
<configheader>Preferences Settings</configheader>
|
|
<configinteger name="maxsize" desc="The maximum size of a preferences entry
|
|
(in bytes).">65535</configinteger>
|
|
<configswitch name="driver" desc="What preferences driver should we
|
|
use?">Sql
|
|
<case name="Nosql" desc="NoSQL Database">
|
|
<configsection name="params">
|
|
<confignosql switchname="driverconfig" />
|
|
</configsection>
|
|
</case>
|
|
<case name="Sql" desc="SQL Database">
|
|
<configsection name="params">
|
|
<configsql switchname="driverconfig">
|
|
<configstring name="table" required="false" desc="The name of the
|
|
preference table in the database [horde_prefs]"/>
|
|
</configsql>
|
|
</configsection>
|
|
</case>
|
|
<case name="File" desc="Files">
|
|
<configsection name="params">
|
|
<configstring name="directory" required="true" desc="Directory to store the preferences in."/>
|
|
</configsection>
|
|
</case>
|
|
<case name="Ldap" desc="LDAP">
|
|
<configsection name="params">
|
|
<configldap switchname="driverconfig">
|
|
<configstring name="uid" desc="The username search key for finding
|
|
preferences">uid</configstring>
|
|
</configldap>
|
|
</configsection>
|
|
</case>
|
|
<case name="Session" desc="PHP Sessions"/>
|
|
<case name="KolabImap" desc="IMAP/Kolab Server" />
|
|
<case name="Imsp" desc="IMSP Server" />
|
|
</configswitch>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="alarms" desc="Alarms">
|
|
<configsection name="alarms">
|
|
<configheader>Alarms Settings</configheader>
|
|
<configswitch name="driver" desc="What alarm storage driver should we
|
|
use?">Sql
|
|
<case name="false" desc="None"/>
|
|
<case name="Sql" desc="SQL Database">
|
|
<configsection name="params">
|
|
<configsql switchname="driverconfig">
|
|
<configstring name="table" required="false" desc="The name of the
|
|
alarm table in the database [horde_alarms]"/>
|
|
</configsql>
|
|
<configinteger name="ttl" desc="How often should the applications be
|
|
queried for new alarms, in seconds?">300</configinteger>
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="group" desc="Groups">
|
|
<configsection name="group">
|
|
<configheader>Groups Settings</configheader>
|
|
<configswitch name="driver" desc="What backend should we use for Horde
|
|
Groups?">Sql
|
|
<case name="Kolab" desc="Kolab">
|
|
<configsection name="params">
|
|
<configldap switchname="driverconfig">
|
|
<configstring name="gid" desc="The group search key">cn</configstring>
|
|
<configstring name="memberuid" desc="Group membership field">
|
|
memberUid</configstring>
|
|
<configswitch name="attrisdn" required="false" desc="Are the user member
|
|
attributes returned from LDAP expected to be fully qualified DNs?">false
|
|
<case name="false" desc="No"/>
|
|
<case name="true" desc="Yes">
|
|
<configldapuser/>
|
|
</case>
|
|
</configswitch>
|
|
<configlist name="newgroup_objectclass" desc="What objectclasses should
|
|
a new group be member of? These objectclasses should cover the mail and
|
|
gidnumber attributes as well as the group search key">
|
|
posixGroup,hordeGroup</configlist>
|
|
<configstring name="writedn" desc="DN used to bind for creating and
|
|
editing LDAP groups." required="false"/>
|
|
<configstring name="writepw" desc="Password for bind DN."
|
|
required="false"/>
|
|
<configsection name="search">
|
|
<configswitch name="filter_type" desc="How to specify a filter for the
|
|
group lists">objectclass
|
|
<case name="objectclass" desc="One or more objectclass filters">
|
|
<configlist name="objectclass" desc="The objectclass filter used to
|
|
search for groups. Can be a single objectclass or a list.">
|
|
posixGroup</configlist>
|
|
</case>
|
|
<case name="filter" desc="A complete LDAP filter expression">
|
|
<configstring name="filter" desc="The LDAP RFC formatted filter used
|
|
to search for groups."/>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</configldap>
|
|
</configsection>
|
|
</case>
|
|
<case name="Ldap" desc="LDAP">
|
|
<configsection name="params">
|
|
<configldap switchname="driverconfig">
|
|
<configstring name="gid" desc="The group search key">cn</configstring>
|
|
<configstring name="memberuid" desc="Group membership field">
|
|
memberUid</configstring>
|
|
<configswitch name="attrisdn" required="false" desc="Are the user member
|
|
attributes returned from LDAP expected to be fully qualified DNs?">false
|
|
<case name="false" desc="No"/>
|
|
<case name="true" desc="Yes">
|
|
<configldapuser/>
|
|
</case>
|
|
</configswitch>
|
|
<configlist name="newgroup_objectclass" desc="What objectclasses should
|
|
a new group be member of? These objectclasses should cover the mail and
|
|
gidnumber attributes as well as the group search key">
|
|
posixGroup,hordeGroup</configlist>
|
|
<configstring name="writedn" desc="DN used to bind for creating and
|
|
editing LDAP groups." required="false"/>
|
|
<configstring name="writepw" desc="Password for bind DN."
|
|
required="false"/>
|
|
<configsection name="search">
|
|
<configswitch name="filter_type" desc="How to specify a filter for the
|
|
group lists">objectclass
|
|
<case name="objectclass" desc="One or more objectclass filters">
|
|
<configlist name="objectclass" desc="The objectclass filter used to
|
|
search for groups. Can be a single objectclass or a list.">
|
|
posixGroup</configlist>
|
|
</case>
|
|
<case name="filter" desc="A complete LDAP filter expression">
|
|
<configstring name="filter" desc="The LDAP RFC formatted filter used
|
|
to search for groups."/>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</configldap>
|
|
</configsection>
|
|
</case>
|
|
<case name="Mock" desc="No Groups"/>
|
|
<case name="Sql" desc="SQL">
|
|
<configsection name="params">
|
|
<configsql switchname="driverconfig" />
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="perms" desc="Permissions">
|
|
<configsection name="perms">
|
|
<configheader>Permissions Settings</configheader>
|
|
<configswitch name="driver" desc="What backend should we use for Horde
|
|
Permissions?">Sql
|
|
<case name="Null" desc="Disable Permissions"/>
|
|
<case name="Sql" desc="SQL">
|
|
<configsql switchname="driverconfig" />
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="share" desc="Shares">
|
|
<configheader>Shares Settings</configheader>
|
|
<configdescription>Shares are objects or lists that can be shared with other
|
|
users, e.g. calendars that other users can be given read or write access
|
|
to.</configdescription>
|
|
<configsection name="share">
|
|
<configheader>Allow Sharing?</configheader>
|
|
<configboolean name="no_sharing" required="false" desc="Prevent users from
|
|
editing permissions on their shares. This will keep a user from granting
|
|
other users (or guests) access to their address book, notebook, calendar,
|
|
etc.">false</configboolean>
|
|
<configboolean name="auto_create" required="false" desc="Automatically
|
|
create personal default shares for any users that don't own any
|
|
shares?">true</configboolean>
|
|
<configboolean name="world" required="false" desc="If you enable this
|
|
option, users will be able to share their resources with all (authenticated
|
|
and guest) users on the system.">true</configboolean>
|
|
<configboolean name="any_group" required="false" desc="If you enable this
|
|
option, users will be able to share their resources with any group,
|
|
regardless of whether or not they are a member. If you disable it, users
|
|
will only be able to share their resources with groups they are members
|
|
of.">false</configboolean>
|
|
<configboolean name="hidden" required="false" desc="If you enable this
|
|
option, the shares that a user has access to will NOT be displayed
|
|
automatically, but only if the user subscribed to
|
|
them.">false</configboolean>
|
|
<configheader>Share Caching</configheader>
|
|
<configdescription>Enabling share caching improves performance because the
|
|
share backend will only be queried once per session. But it also increases
|
|
the users' session sizes, and share changes won't take effect before the
|
|
users log in the next time.</configdescription>
|
|
<configboolean name="cache" required="false" desc="Enable share
|
|
caching?">false</configboolean>
|
|
<configheader>Shares Driver</configheader>
|
|
<configdescription>
|
|
You can use different driver types for the Horde Share
|
|
system. The default driver is the SQL-NG driver.
|
|
</configdescription>
|
|
<configenum name="driver" desc="What backend should we use for Horde
|
|
Shares?">Sqlng
|
|
<values>
|
|
<value desc="IMAP/Kolab">Kolab</value>
|
|
<value desc="Next-Generation SQL">Sqlng</value>
|
|
<value desc="SQL">Sql</value>
|
|
</values>
|
|
</configenum>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="cache" desc="Caching">
|
|
<configsection name="cache">
|
|
<configheader>Caching Settings</configheader>
|
|
<configinteger name="default_lifetime" desc="How long, in seconds, should
|
|
data be cached by default?">86400</configinteger>
|
|
<configswitch name="driver" desc="If you want to enable the Horde Cache,
|
|
select a driver here. This is used to speed up portions of Horde by storing
|
|
commonly processed objects.">File
|
|
<case name="Null" desc="Don't cache any data (NOT RECOMMENDED)"/>
|
|
<case name="Apc" desc="Use the APC cache (NOT RECOMMENDED)">
|
|
<configdescription>
|
|
APC is not recommended for general purpose caching as it is not
|
|
persistent and the size of the cached data for even a small installation
|
|
(25+ users) will likely exceed the default APC storage size.
|
|
</configdescription>
|
|
<configsection name="params">
|
|
<configstring name="prefix" required="false" desc="The prefix to use for
|
|
cache entries."/>
|
|
</configsection>
|
|
</case>
|
|
<case name="File" desc="Store data in filesystem">
|
|
<configsection name="params">
|
|
<configstring name="dir" required="false" desc="The location to store the
|
|
cached files"/>
|
|
<configinteger name="sub" required="false" desc="If non-zero, the number
|
|
of subdirectories to create to store the file (see, e.g.,
|
|
http://php.net/manual/en/ref.session.php#ini.session.save-path). When
|
|
creating the directory tree, the md5sum of the cache id will be used.
|
|
Thus, each level of the tree will have up to 16 subdirectories named
|
|
[0-9a-f].">0</configinteger>
|
|
<configstring name="prefix" required="false" desc="The filename prefix to
|
|
use for the cache files."/>
|
|
</configsection>
|
|
</case>
|
|
<case name="Hashtable" desc="Use a Distributed Hash Table server">
|
|
<configsection name="params">
|
|
<configstring name="prefix" required="false" desc="The prefix to use for
|
|
cache entries."/>
|
|
</configsection>
|
|
</case>
|
|
<case name="Nosql" desc="NoSQL-based cache storage">
|
|
<configsection name="params">
|
|
<confignosql switchname="driverconfig" />
|
|
</configsection>
|
|
</case>
|
|
<case name="Sql" desc="SQL-based cache storage (NOT RECOMMENDED)">
|
|
<configdescription>
|
|
SQL is not recommended for caching as the overhead required to
|
|
store/retreive the data cancels much of the benefit of caching.
|
|
</configdescription>
|
|
<configsection name="params">
|
|
<configsql switchname="driverconfig">
|
|
<configstring name="table" required="false" desc="The name of the
|
|
cache table in the database [horde_cache]"/>
|
|
</configsql>
|
|
</configsection>
|
|
</case>
|
|
<case name="Xcache" desc="Use the xCache cache (NOT RECOMMENDED)">
|
|
<configdescription>
|
|
xCache is not recommended for general purpose caching as it is not
|
|
persistent and the size of the cached data for even a small installation
|
|
(25+ users) will likely exceed the default xCache storage size.
|
|
</configdescription>
|
|
<configsection name="params">
|
|
<configstring name="prefix" required="false" desc="The prefix to use for
|
|
cache entries."/>
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
<configswitch name="use_memorycache" required="false" desc="Use a
|
|
separate memory cache driver to store data in memory? If data is not found
|
|
in this driver, we will fall back to accessing the persistent backend. This
|
|
setting has no effect if already using a memory caching backend.">
|
|
<case name="" desc="None"/>
|
|
<case name="Apc" desc="APC"/>
|
|
<case name="Eaccelerator" desc="eAccelerator"/>
|
|
<case name="Hashtable" desc="Hashtable"/>
|
|
<case name="Xcache" desc="xCache"/>
|
|
</configswitch>
|
|
</configsection>
|
|
|
|
<configheader>CSS Caching</configheader>
|
|
<configdescription>
|
|
CSS caching packages all stylesheets used in a page into a single file
|
|
sent to the browser. It also allows compression and optimization of this
|
|
file to reduce the data size. Caching reduces server load, speeds up the
|
|
user's browsing experience, and is HIGHLY RECOMMENDED.
|
|
</configdescription>
|
|
<configswitch name="cachecss" desc="Cache CSS?">false
|
|
<case name="false" desc="No">
|
|
<configsection name="cachecssparams">
|
|
<configboolean name="url_version_param" desc="Add version information to
|
|
CSS URLs?">true</configboolean>
|
|
</configsection>
|
|
</case>
|
|
<case name="true" desc="Yes">
|
|
<configsection name="cachecssparams">
|
|
<configswitch name="driver" desc="How should we store the cached data?">
|
|
<case name="filesystem" desc="Filesystem (recommended)">
|
|
<configdescription>
|
|
For filesystem caching to work, the "static" directory in the horde
|
|
base must be writable by the user the web server is running as. If
|
|
running Horde in a cluster (or behind a single web frontend), to use
|
|
filesystem caching it is best to have every PHP backend server have
|
|
access to a shared drive that is visible and mounted to the "static"
|
|
directory on the web frontend. (NOTE: if you manually change the CSS
|
|
files, you will need to manually delete the cached CSS static files to
|
|
see the changes.)
|
|
</configdescription>
|
|
</case>
|
|
<case name="horde_cache" desc="Horde Cache">
|
|
<configdescription>
|
|
<strong>Requires a configured Horde caching
|
|
backend.</strong> This method is STRONGLY DISCOURAGED. Browsers
|
|
will likely cache this data and ignore updates, even though we append
|
|
a "cache-busting" unique version parameter to the URL. You almost
|
|
certainly want to use 'filesystem' instead.
|
|
</configdescription>
|
|
</case>
|
|
</configswitch>
|
|
<configboolean name="filemtime" desc="Expire cache if the modification
|
|
time of a CSS file has changed? This setting is useful for development
|
|
installations. It should not be used in production environments, as it
|
|
requires a filestat of every CSS file loaded on a
|
|
page">false</configboolean>
|
|
<configinteger name="lifetime" desc="Lifetime of the cached files, in
|
|
seconds.">86400</configinteger>
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
|
|
<configheader>Javascript Caching</configheader>
|
|
<configdescription>
|
|
Javascript caching packages all static javascript files used in a page into
|
|
more efficient chunks to send to the browser. It also allows compression
|
|
and optimizations of this file to reduce the data size. Caching reduces
|
|
server load, speeds up the user's browsing experience, and is HIGHLY
|
|
RECOMMENDED.
|
|
</configdescription>
|
|
<configswitch name="cachejs" desc="Cache javascript?">false
|
|
<case name="false" desc="No">
|
|
<configsection name="cachejsparams">
|
|
<configboolean name="url_version_param" desc="Add version information to
|
|
javascript URLs?">true</configboolean>
|
|
</configsection>
|
|
</case>
|
|
<case name="true" desc="Yes">
|
|
<configsection name="cachejsparams">
|
|
<configswitch name="driver" desc="How should we store the cached data?">
|
|
<case name="filesystem" desc="Filesystem (recommended)">
|
|
<configdescription>
|
|
For filesystem caching to work, the "static" directory in the horde
|
|
base must be writable by the user the web server is running as. If
|
|
running Horde in a cluster (or behind a single web frontend), to use
|
|
filesystem caching it is best to have every PHP backend server have
|
|
access to a shared drive that is visible and mounted to the "static"
|
|
directory on the web frontend.
|
|
</configdescription>
|
|
</case>
|
|
<case name="horde_cache" desc="Horde Cache">
|
|
<configdescription>
|
|
<strong>Requires a configured Horde caching
|
|
backend.</strong> This method is STRONGLY DISCOURAGED. Browsers
|
|
will likely cache this data and ignore updates, even though we append
|
|
a "cache-busting" unique version parameter to the URL. You almost
|
|
certainly want to use 'filesystem' instead.
|
|
</configdescription>
|
|
</case>
|
|
</configswitch>
|
|
<configswitch name="compress" desc="How should we compress the cached
|
|
files?">php
|
|
<case name="none" desc="No compression" />
|
|
<case name="closure" desc="Google Closure Compiler (Best compression,
|
|
slowest speed)">
|
|
<configstring name="javapath" desc="The path to the Java
|
|
application launcher.">/opt/java/jre/bin/java</configstring>
|
|
<configstring name="closurepath" desc="The path to the Closure compiler
|
|
.jar file"></configstring>
|
|
<configstring name="cmdline" required="false" desc="Any additional
|
|
command line arguments to use."></configstring>
|
|
</case>
|
|
<case name="php" desc="Built-in compressor (Medium compression, good
|
|
speed)" />
|
|
<case name="uglifyjs" desc="UglifyJS (NodeJS compressor; good
|
|
compression, good speed)">
|
|
<configstring name="uglifyjspath" desc="The path to the uglifyjs
|
|
binary"></configstring>
|
|
<configstring name="uglifyjscmdline" desc="The command line options
|
|
to use">-c</configstring>
|
|
</case>
|
|
<case name="yui" desc="YUI Compressor (Best compression, slowest
|
|
speed)">
|
|
<configstring name="javapath" desc="The path to the Java
|
|
application launcher.">/opt/java/jre/bin/java</configstring>
|
|
<configstring name="yuipath" desc="The path to the YUI compressor
|
|
.jar file"></configstring>
|
|
<configstring name="cmdline" required="false" desc="Any additional
|
|
command line arguments to use."></configstring>
|
|
</case>
|
|
</configswitch>
|
|
<configinteger name="lifetime" desc="Lifetime of the cached files, in
|
|
seconds.">604800</configinteger>
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
|
|
<configheader>Theme Caching</configheader>
|
|
<configdescription>
|
|
Theme caching optimizes display of themed elements. Caching reduces
|
|
server load (specifically by dramatically reducing filesystem access), and
|
|
is HIGHLY RECOMMENDED. <strong>Requires a configured Horde caching
|
|
backend.</strong>
|
|
</configdescription>
|
|
<configswitch name="cachethemes" desc="Cache themes?">false
|
|
<case name="false" desc="No" />
|
|
<case name="true" desc="Yes">
|
|
<configsection name="cachethemesparams">
|
|
<configswitch name="check" desc="The method to use to check for updated
|
|
theme information.">appversion
|
|
<case name="appversion" desc="Application versions">
|
|
<configdescription>
|
|
The theme cache will be updated only when a new Horde version is
|
|
installed. This is the RECOMMENDED setting for most installations.
|
|
</configdescription>
|
|
</case>
|
|
<case name="none" desc="None">
|
|
<configdescription>
|
|
The theme cache is never checked for consistency. Once created, it
|
|
will be used until the cache entry expires.
|
|
</configdescription>
|
|
</case>
|
|
</configswitch>
|
|
<configinteger name="lifetime" desc="Lifetime of the cached files, in
|
|
seconds.">604800</configinteger>
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
</configtab>
|
|
|
|
<configtab name="lock" desc="Locking">
|
|
<configsection name="lock">
|
|
<configheader>Locking Settings</configheader>
|
|
<configswitch name="driver" desc="If you want to enable resource locking
|
|
you must choose a driver here.">Sql
|
|
<case name="Null" desc="Disable Horde Locks"/>
|
|
<case name="Nosql" desc="NoSQL-based locking">
|
|
<configsection name="params">
|
|
<confignosql switchname="driverconfig" />
|
|
</configsection>
|
|
</case>
|
|
<case name="Sql" desc="SQL-based locking">
|
|
<configsection name="params">
|
|
<configsql switchname="driverconfig">
|
|
<configstring name="table" required="false" desc="The name of the
|
|
locking table in the database [horde_locks]"/>
|
|
</configsql>
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="token" desc="Tokens">
|
|
<configsection name="token">
|
|
<configheader>Tokens Settings</configheader>
|
|
<configinteger name="timeout" required="false" desc="The period (in
|
|
seconds) after which an id is purged"/>
|
|
<configswitch name="driver" desc="If you want to enable Form Tokens, select
|
|
a driver here. This is used by the Horde::Form:: API and some other parts
|
|
of Horde to ensure that a form can only be submitted once.">Sql
|
|
<case name="Null" desc="Disable Form Tokens"/>
|
|
<case name="File" desc="Local filesystem token storage">
|
|
<configsection name="params">
|
|
<configstring name="token_dir" required="false" desc="The directory where
|
|
to keep token files"/>
|
|
</configsection>
|
|
</case>
|
|
<case name="Nosql" desc="NoSQL-based token storage">
|
|
<configsection name="params">
|
|
<confignosql switchname="driverconfig" />
|
|
</configsection>
|
|
</case>
|
|
<case name="Sql" desc="SQL-based token storage">
|
|
<configsection name="params">
|
|
<configsql switchname="driverconfig">
|
|
<configstring name="table" required="false" desc="The name of the
|
|
tokens table in the database [horde_tokens]"/>
|
|
</configsql>
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="history" desc="History">
|
|
<configsection name="history">
|
|
<configheader>History Settings</configheader>
|
|
<configswitch name="driver" desc="If you want to enable history tracking,
|
|
select a driver here. This is required by various subsystems.">Sql
|
|
<case name="None" desc="Disable history"/>
|
|
<case name="Nosql" desc="NoSQL-based history storage">
|
|
<configsection name="params">
|
|
<confignosql switchname="driverconfig" />
|
|
</configsection>
|
|
</case>
|
|
<case name="Sql" desc="SQL-based history storage">
|
|
<configsection name="params">
|
|
<configsql switchname="driverconfig" />
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="dav" desc="DAV">
|
|
<configsection name="davstorage">
|
|
<configheader>DAV Settings</configheader>
|
|
<configswitch name="driver" desc="If you want to use CalDAV or CardDAV,
|
|
select a driver here. Please note that History system needs to be enabled
|
|
too.">Sql
|
|
<case name="Null" desc="Disable CalDAV/CardDAV support"/>
|
|
<case name="Sql" desc="SQL-based metadata storage">
|
|
<configsection name="params">
|
|
<configsql switchname="driverconfig"/>
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="mailer" desc="Mailer">
|
|
<configsection name="mailer">
|
|
<configheader>Mailer Settings</configheader>
|
|
<configswitch name="type" desc="What method should we use for sending
|
|
mail?">sendmail
|
|
<case name="null" desc="Disable mailing" />
|
|
<case name="sendmail" desc="Local sendmail binary">
|
|
<configsection name="params">
|
|
<configstring name="sendmail_path" required="false" desc="The location
|
|
of the sendmail binary on the filesystem
|
|
[/usr/sbin/sendmail]">/usr/lib/sendmail</configstring>
|
|
<configstring name="sendmail_args" required="false" desc="Any extra
|
|
parameters to pass to the sendmail or sendmail wrapper
|
|
binary">-oi</configstring>
|
|
<configstring name="sendmail_eol" required="false" desc="The end-of-line
|
|
(EOL) sequence to use when piping the message to the sendmail binary.
|
|
It is not possible to reliably auto-configure sendmail, so if your
|
|
messages are being sent incorrectly, you should adjust this value (if
|
|
blank, the system default is used)."></configstring>
|
|
</configsection>
|
|
</case>
|
|
<case name="smtp" desc="SMTP server (HIGHLY RECOMMENDED)">
|
|
<configsection name="params">
|
|
<configstring name="host" required="false" desc="The server to connect
|
|
to [localhost]"/>
|
|
<configinteger name="port" required="false" desc="The port to connect
|
|
to [25]. This is HIGHLY RECOMMENDED to be 587, the mail submission port.
|
|
(RFC 6409/STD 72; sending mail via port 25 is DEPRECATED.)"/>
|
|
<configenum name="secure" desc="The encryption to use to connect to
|
|
the SMTP server.">tls
|
|
<values>
|
|
<value>none</value>
|
|
<value>tls</value>
|
|
<value>ssl</value>
|
|
</values>
|
|
</configenum>
|
|
<configstring name="localhost" required="false" desc="The local hostname
|
|
/ domain [localhost]"/>
|
|
<configswitch name="auth" desc="Authenticate to SMTP server?">false
|
|
<case name="false" desc="No" />
|
|
<case name="true" desc="Yes">
|
|
<configdescription>SMTP Authentication requires a TLS connection.
|
|
There is no need to configure the secure connection as it is always
|
|
used by Horde.</configdescription>
|
|
<configstring name="username" required="false" desc="The master
|
|
username to use for SMTP auth. Will be used if username_auth is false
|
|
OR for unauthenticated Horde accesses."/>
|
|
<configboolean name="username_auth" required="false" desc="If
|
|
authenticated, use the Horde authentication
|
|
username?">true</configboolean>
|
|
<configstring name="password" required="false" desc="The master
|
|
password to use for SMTP auth. Will be used if password_auth is false
|
|
OR for unauthenticated Horde accesses."/>
|
|
<configboolean name="password_auth" required="false" desc="If
|
|
authenticated, use the Horde authentication
|
|
password?">true</configboolean>
|
|
</case>
|
|
</configswitch>
|
|
<configboolean name="lmtp" required="false" desc="Is this an LMTP
|
|
(Local Mail Transfer Protocol) server?">false</configboolean>
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="vfs" desc="Virtual File Storage">
|
|
<configsection name="vfs">
|
|
<configheader>Virtual File Storage Settings</configheader>
|
|
<configvfs baseconfig="true" switchname="type" default="Sql"/>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="session" desc="Session Handler">
|
|
<configsection name="sessionhandler">
|
|
<configheader>Session Handler Settings</configheader>
|
|
<configdescription>
|
|
<strong>Unless you are running Horde on a PHP cluster, there is NO
|
|
reason to use any session handler backend other than Builtin (i.e. session
|
|
data stored on local filesystem).</strong>
|
|
</configdescription>
|
|
<configswitch name="type" desc="What sessionhandler driver should we
|
|
use?">Builtin
|
|
<case name="Builtin" desc="Use the default PHP session handler (file-based
|
|
by default)">
|
|
<configdescription>
|
|
If you have configured a custom session extension in php.ini (such as
|
|
native memcache sessions) then you should use this option. Horde doesn't
|
|
force PHP to use the file-based session handler, so your php.ini
|
|
settings settings will be deferred to.
|
|
</configdescription>
|
|
</case>
|
|
<case name="External" desc="Use your own custom session handler">
|
|
<configsection name="params">
|
|
<configstring name="open" desc="Your open() function"/>
|
|
<configstring name="close" desc="Your close() function"/>
|
|
<configstring name="read" desc="Your read() function"/>
|
|
<configstring name="write" desc="Your write() function"/>
|
|
<configstring name="destroy" desc="Your destroy() function"/>
|
|
<configstring name="gc" desc="Your gc() function"/>
|
|
</configsection>
|
|
</case>
|
|
<case name="File" desc="Filesystem storage">
|
|
<configsection name="params">
|
|
<configstring name="path" desc="The path to save the session files
|
|
in.">/tmp/</configstring>
|
|
</configsection>
|
|
</case>
|
|
<case name="HashTable" desc="Distributed Hash Table">
|
|
<configsection name="params">
|
|
<configswitch name="track" required="false" desc="Keep track of active
|
|
session information? Tracking requires extra load to maintain.">false
|
|
<case name="false" desc="No" />
|
|
<case name="true" desc="Yes" />
|
|
</configswitch>
|
|
</configsection>
|
|
</case>
|
|
<case name="Nosql" desc="NoSQL Database">
|
|
<configsection name="params">
|
|
<confignosql switchname="driverconfig" />
|
|
</configsection>
|
|
</case>
|
|
<case name="Sql" desc="SQL Database">
|
|
<configsection name="params">
|
|
<configsql switchname="driverconfig">
|
|
<configstring name="table" required="false" desc="The name of the
|
|
preference table in the database [horde_sessionhandler]"/>
|
|
</configsql>
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
<configboolean name="hashtable" desc="Use a distributed hash table to cache
|
|
session information?">false</configboolean>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="proxy" desc="HTTP Proxy">
|
|
<configsection name="http">
|
|
<configsection name="proxy">
|
|
<configheader>HTTP Proxy Settings</configheader>
|
|
<configdescription>
|
|
If you need to use a proxy for fetching HTTP resources (feeds,
|
|
security keys, external calendars or free/busy information,
|
|
etc.), configure it here.
|
|
</configdescription>
|
|
<configstring name="proxy_host" required="false" desc="Proxy host"/>
|
|
<configinteger name="proxy_port" required="false" desc="Proxy port"/>
|
|
<configstring name="proxy_user" required="false" desc="Proxy user if
|
|
necessary"/>
|
|
<configstring name="proxy_pass" required="false" desc="Proxy password"/>
|
|
</configsection>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="spell" desc="Spell Checker">
|
|
<configsection name="spell">
|
|
<configheader>Spell Checker Settings</configheader>
|
|
<configswitch name="driver" required="false" desc="Choose a Spell Checking
|
|
backend">
|
|
<case name="" desc="None" />
|
|
<case name="aspell" desc="aspell (command line)">
|
|
<configsection name="params">
|
|
<configstring name="path" required="false" desc="Enter the location of
|
|
the aspell binary" />
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="gnupg" desc="GnuPG">
|
|
<configsection name="gnupg">
|
|
<configheader>GnuPG Settings</configheader>
|
|
<configstring name="path" required="false" desc="If you want users to have
|
|
the option of using the GNU Privacy Guard program to decrypt/encrypt PGP
|
|
files, enter the location of the 'gpg' binary here. If this is empty this
|
|
feature will be disabled. Additional command line arguments, if needed
|
|
locally (e.g. extensions), can be added at the end of this entry."/>
|
|
<configmultienum name="keyserver" required="false" desc="The address
|
|
of the public PGP keyserver(s) to use.">pool.sks-keyservers.net
|
|
<values>
|
|
<value>pool.sks-keyservers.net</value>
|
|
<value>subkeys.pgp.net</value>
|
|
<value>pgp.mit.edu</value>
|
|
</values>
|
|
</configmultienum>
|
|
<configinteger name="timeout" required="false" desc="The timeout for
|
|
connecting to the PGP keyserver. Timeouts are not supported on all
|
|
systems.">10</configinteger>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="openssl" desc="OpenSSL">
|
|
<configsection name="openssl">
|
|
<configheader>OpenSSL Settings</configheader>
|
|
<configstring name="cafile" required="false" desc="The location of the root
|
|
certificates bundle, e.g. /etc/ssl/certs. See
|
|
http://www.php.net/manual/en/openssl.cert.verification.php for
|
|
details."/>
|
|
<configstring name="path" required="false" desc="The location of the OpenSSL
|
|
binary on your system, e.g. /usr/bin/openssl. This program is REQUIRED to
|
|
import personal S/MIME certificate information, as there is no native PHP
|
|
function that can read pkcs12 files."/>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="themes" desc="Themes">
|
|
<configheader>Theme Settings</configheader>
|
|
<configboolean name="nobase64_img" required="false" desc="Always send full
|
|
URLs for image data? By default, Horde will send image data within the page
|
|
itself if the browser supports it. This eliminates the need for additional
|
|
server connections to grab the image data, at the expense of slightly
|
|
larger page sizes.">false</configboolean>
|
|
</configtab>
|
|
|
|
<configtab name="image" desc="Image Manipulation">
|
|
<configsection name="image">
|
|
<configheader>Image Manipulation Settings</configheader>
|
|
<configswitch name="driver" description="What driver should we use for
|
|
manipulating images?">false
|
|
<case name="false" desc="None"/>
|
|
<case name="Imagick" desc="The PECL Imagick Library (recommended)"/>
|
|
<case name="Im" desc="Imagemagick">
|
|
<configstring name="convert" desc="Path to the 'convert' binary"/>
|
|
<configstring name="identify" desc="Path the 'identify' binary"/>
|
|
</case>
|
|
<case name="Gd" desc="The PHP GD2 extensions (not recommended)"/>
|
|
</configswitch>
|
|
</configsection>
|
|
<configsection name="exif" desc="Image Metadata">
|
|
<configheader>Image Metadata Driver Settings</configheader>
|
|
<configswitch name="driver" description="What driver should we use for
|
|
obtaining image metadata?">Bundled
|
|
<case name="Exiftool" desc="Exiftool (recommended)">
|
|
<configsection name="params">
|
|
<configstring name="exiftool" desc="Path to the exiftool binary on your
|
|
system"></configstring>
|
|
</configsection>
|
|
</case>
|
|
<case name="Php" desc="Native PHP functions" />
|
|
<case name="Bundled" desc="Bundled implementation in PHP" />
|
|
</configswitch>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="mime" desc="MIME Detection">
|
|
<configsection name="mime">
|
|
<configheader>MIME Detection Settings</configheader>
|
|
<configstring name="magic_db" required="false" desc="Location of the MIME
|
|
magic database. This only needs to be set if PHP cannot auto-determine the
|
|
value (the output from the test script will clearly indiciate if this is
|
|
an issue)."/>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="geoip" desc="Country Lookup">
|
|
<configsection name="geoip">
|
|
<configheader>Country Lookup Settings</configheader>
|
|
<configstring name="datafile" required="false" desc="Horde, by default, can
|
|
do Hostname -> Country lookup using the top level domain (e.g. 'uk',
|
|
'de') of the hostname. However, many popular top level domains
|
|
(e.g. 'com', 'net') span more than one country. In these instances, Horde
|
|
can use the MaxMind GeoIP Hostname to Country lookup to try to determine
|
|
the correct country. To activate this functionality, the geoip PECL
|
|
extension must be installed. If that extension doesn't exist, Horde can
|
|
use a PHP only method of querying the database if the GeoIP.dat country
|
|
database is present on your local system. This file can be downloaded
|
|
free of charge from http://www.maxmind.com/download/geoip/database/. If
|
|
this database is present, specify the full path name to the database below.
|
|
If empty, the GeoIP lookup will not be performed."/>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="timezone" desc="Timezone Lookup">
|
|
<configsection name="timezone">
|
|
<configheader>Timezone Lookup Settings</configheader>
|
|
<configstring name="location" required="false" desc="Horde may
|
|
lookup timezone information from a global timezone database, also
|
|
known as Olson database. You can enter any http://, ftp:// or
|
|
file:// location
|
|
here.">ftp://ftp.iana.org/tz/tzdata-latest.tar.gz</configstring>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="problems" desc="Problem Reporting">
|
|
<configsection name="problems">
|
|
<configheader>Problem Reporting Settings</configheader>
|
|
<configswitch name="tickets" desc="If a ticket system with a
|
|
tickets/addTicket API method is present, should we create tickets for
|
|
problem reports instead of emailing them?">false
|
|
<case name="true" desc="Yes">
|
|
<configphp name="ticket_params" desc="Enter as a PHP array any
|
|
additional arguments for the created ticket (queue, state, priority,
|
|
etc). Example for Whups: array('queue' => 2, 'state' => 1, 'priority' => 1,
|
|
'type' => 1). You will need to look up the appropriate IDs in Whups's
|
|
database, or whatever is appropriate for the ticket system you are
|
|
using.">array()</configphp>
|
|
</case>
|
|
<case name="false" desc="No">
|
|
<configstring name="email" desc="Where should problem report emails be
|
|
sent?">webmaster@example.com</configstring>
|
|
<configstring name="maildomain" desc="If Horde cannot determine a user's
|
|
email address, this domain will be appended to their
|
|
username.">example.com</configstring>
|
|
<configstring name="username" required="false" desc="If requiring SMTP
|
|
authentication without a global SMTP user (in section "Mailer"
|
|
and allowing problem reporting for not authenticated users (in section
|
|
"Menu Settings"), what username should be use for SMTP
|
|
authentication?"/>
|
|
<configstring name="password" required="false" desc="The password to use"/>
|
|
</case>
|
|
</configswitch>
|
|
<configboolean name="attachments" required="false" desc="Allow users to
|
|
upload file attachments to the problem report?">true</configboolean>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="menu" desc="Menu">
|
|
<configheader>Menu Settings</configheader>
|
|
<configsection name="menu">
|
|
<configsection name="links">
|
|
<configenum name="help" desc="Should we display help links in the
|
|
menu?">all
|
|
<values>
|
|
<value desc="All users">all</value>
|
|
<value desc="Authenticated users">authenticated</value>
|
|
<value desc="Never">never</value>
|
|
</values>
|
|
</configenum>
|
|
<configenum name="prefs" desc="Should we display preferences links in the
|
|
menu? You still need to configure a preference backend in the
|
|
"Preferences" section.">authenticated
|
|
<values>
|
|
<value desc="All users">all</value>
|
|
<value desc="Authenticated users">authenticated</value>
|
|
<value desc="Never">never</value>
|
|
</values>
|
|
</configenum>
|
|
<configenum name="problem" desc="Should we display problem reporting links
|
|
in the menu?">all
|
|
<values>
|
|
<value desc="All users">all</value>
|
|
<value desc="Authenticated users">authenticated</value>
|
|
<value desc="Never">never</value>
|
|
</values>
|
|
</configenum>
|
|
<configenum name="login" desc="Should we display a login link in the menu
|
|
when not logged in?">all
|
|
<values>
|
|
<value desc="All users">all</value>
|
|
<value desc="Never">never</value>
|
|
</values>
|
|
</configenum>
|
|
<configenum name="logout" desc="Should we display a logout link in the
|
|
menu when logged in?">authenticated
|
|
<values>
|
|
<value desc="Authenticated users">authenticated</value>
|
|
<value desc="Never">never</value>
|
|
</values>
|
|
</configenum>
|
|
<configenum name="login" desc="Should we display a login link in the menu
|
|
when not logged in?">all
|
|
<values>
|
|
<value desc="All users">all</value>
|
|
<value desc="Never">never</value>
|
|
</values>
|
|
</configenum>
|
|
<configenum name="logout" desc="Should we display a logout link in the
|
|
menu when logged in?">authenticated
|
|
<values>
|
|
<value desc="Authenticated users">authenticated</value>
|
|
<value desc="Never">never</value>
|
|
</values>
|
|
</configenum>
|
|
</configsection>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="block" desc="Portal Blocks">
|
|
<configsection name="portal">
|
|
<configheader>Portal Blocks Settings</configheader>
|
|
<configmultienum name="fixed_blocks" required="false" desc="Which blocks
|
|
should always be displayed in the portal?">
|
|
<values>
|
|
<configspecial application="horde" name="blocks" />
|
|
</values>
|
|
</configmultienum>
|
|
</configsection>
|
|
|
|
<configheader>Fortune Configuration</configheader>
|
|
<configsection name="fortune">
|
|
<configstring name="exec_path" required="false" desc="Path to fortune
|
|
executable, e.g. /usr/games/fortune"/>
|
|
</configsection>
|
|
|
|
<configheader>Account Info Configuration</configheader>
|
|
<configsection name="accounts">
|
|
<configswitch name="driver" desc="What driver should we use?">null
|
|
<case name="null" desc="None"/>
|
|
<case name="localhost" desc="Localhost">
|
|
<configsection name="params">
|
|
<configstring name="quota_path" desc="Path to the quota program">
|
|
/usr/bin/quota</configstring>
|
|
<configstring name="grep_path" desc="Path to the grep program">
|
|
/bin/grep</configstring>
|
|
<configboolean name="translateMountPoint" desc="Should we translate home
|
|
directories to mount point device names?">false</configboolean>
|
|
<configstring name="translationTable" desc="File to translate directory
|
|
names to mount point device names?">/etc/mtab</configstring>
|
|
</configsection>
|
|
</case>
|
|
<case name="finger" desc="Finger">
|
|
<configsection name="params">
|
|
<configstring name="finger_path" desc="Path to the finger
|
|
program">/usr/bin/finger</configstring>
|
|
<configstring name="host" desc="Host to request finger information
|
|
from" required="false"/>
|
|
</configsection>
|
|
</case>
|
|
<case name="ldap" desc="LDAP">
|
|
<configsection name="params">
|
|
<configldap switchname="driverconfig">
|
|
<configstring name="attr" desc="LDAP attribute to search on">
|
|
uid</configstring>
|
|
<configboolean name="strip" desc="Strip domain from user
|
|
name?">false</configboolean>
|
|
</configldap>
|
|
</configsection>
|
|
</case>
|
|
<case name="kolab" desc="Kolab (LDAP)">
|
|
<configsection name="params">
|
|
<configdescription>This will use the parameters set in the Kolab
|
|
Groupware Server tab. You must enable Kolab integration for this to
|
|
work.</configdescription>
|
|
<configstring name="attr" desc="LDAP attribute to search
|
|
on">uid</configstring>
|
|
<configboolean name="strip" desc="Strip domain from user
|
|
name?">false</configboolean>
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="user" desc="User Capabilities and Constraints">
|
|
<configsection name="user">
|
|
<configheader>User Capabilities and Constraints</configheader>
|
|
<configboolean name="verify_from_addr" desc="If users are adding new From:
|
|
addresses to their identities, should we send them a confirmation message
|
|
to verify that the email address is really theirs?">false</configboolean>
|
|
<configswitch name="select_view" desc="Allow user to select the application
|
|
view mode on login?">true
|
|
<case name="true" desc="Yes"/>
|
|
<case name="false" desc="No">
|
|
<configenum name="force_view" desc="Force an application view to be used
|
|
for all users?">
|
|
<values>
|
|
<value desc="None (use user's browser and application
|
|
preferences)"></value>
|
|
<value desc="Basic">basic</value>
|
|
<value desc="Dynamic">dynamic</value>
|
|
<value desc="Mobile">mobile</value>
|
|
<value desc="Smartphone">smartmobile</value>
|
|
</values>
|
|
</configenum>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="api" desc="API Keys">
|
|
<configsection name="api">
|
|
<configheader>API Keys Settings</configheader>
|
|
<configstring name="googlemaps" desc="Google Maps API Key"
|
|
required="false"/>
|
|
<configstring name="googlesafebrowsing" desc="Google Safe Browsing API Key"
|
|
required="false"/>
|
|
<configstring name="googlesearch" desc="Google AJAX Search API Key"
|
|
required="false"/>
|
|
<configstring name="bing" desc="Bing Maps API Key" required="false" />
|
|
</configsection>
|
|
<configsection name="facebook">
|
|
<configheader>Facebook Integration Settings</configheader>
|
|
<configdescription>If you want to allow your users to interact with their
|
|
Facebook profiles, and you've set up the necessary settings on Facebook, you
|
|
can enter the key and secret here. See
|
|
http://wiki.horde.org/Doc/Admin/Config/Horde/Facebook for
|
|
details.</configdescription>
|
|
<configswitch name="enabled">false
|
|
<case name="false" desc="Disabled" />
|
|
<case name="true" desc="Enabled">
|
|
<configstring name="id" desc="Application API ID"></configstring>
|
|
<configstring name="secret" desc="Application Secret"></configstring>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
<configsection name="twitter">
|
|
<configheader>Twitter Integration Settings</configheader>
|
|
<configdescription>If you want to allow your users to interact with their
|
|
Twitter account, enable this section. You must setup an application on
|
|
Twitter and obtain the OAuth secret and key from Twitter. See
|
|
http://wiki.horde.org/Doc/Admin/Config/Horde/Twitter for details.
|
|
</configdescription>
|
|
<configswitch name="enabled">false
|
|
<case name="false" desc="Disabled" />
|
|
<case name="true" desc="Enabled">
|
|
<configstring name="key" required="false" desc="OAuth Consumer Key:"></configstring>
|
|
<configstring name="secret" required="false" desc="OAuth Consumer Secret:"></configstring>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
<configheader>Url Shortening</configheader>
|
|
<configenum name="urlshortener" desc="Should Horde use a URL shortening
|
|
service? This will be used when submitting URLs to social network providers.">
|
|
<values>
|
|
<value desc="None">false</value>
|
|
<value desc="TinyUrl">TinyUrl</value>
|
|
</values>
|
|
</configenum>
|
|
<configsection name="weather">
|
|
<configheader>Weather Services</configheader>
|
|
<configdescription>If you want to provide weather information to your users
|
|
you must select a provider and provide your API keys.</configdescription>
|
|
<configswitch name="provider">false
|
|
<case name="false" desc="None" />
|
|
<case name="WeatherUnderground" desc="Weather Underground - Recommended, but relatively low daily limits for free accounts.">
|
|
<configsection name="params">
|
|
<configstring name="key" desc="API Key. For information on registration and obtaining an API
|
|
key for this driver, see http://www.wunderground.com/weather/api/.">
|
|
</configstring>
|
|
<configinteger name="lifetime" desc="Lifetime of the cached weather information, in seconds.">21600
|
|
</configinteger>
|
|
</configsection>
|
|
</case>
|
|
<case name="Wwo" desc="World Weather Online API. Free, requires registration.">
|
|
<configsection name="params">
|
|
<configstring name="key" desc="API Key. For information on registration
|
|
and obtaining an API key for this driver, see
|
|
http://worldweatheronline.com"></configstring>
|
|
<configenum name="apiversion" desc="Select the API version to use.
|
|
See your WWO registration details if you are not sure which to choose.">1
|
|
<values>
|
|
<value>1</value>
|
|
<value>2</value>
|
|
</values>
|
|
</configenum>
|
|
<configinteger name="lifetime" desc="Lifetime of the cached weather information, in seconds.">21600
|
|
</configinteger>
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="imap" desc="IMAP Server">
|
|
<configsection name="imap">
|
|
<configheader>IMAP Server Settings</configheader>
|
|
<configdescription>
|
|
If you intend to store user data like shares and groupware data on an IMAP
|
|
server then you will need to ensure that the following fields correspond to
|
|
your IMAP server setup. The IMAP groupware storage will use version 2 of
|
|
the Kolab XML format. See http://wiki.kolab.org/Kolab_Format_Intro for
|
|
details.
|
|
</configdescription>
|
|
<configswitch name="enabled" quote="false" desc="Use an IMAP server?">false
|
|
<case name="false" desc="Disabled" />
|
|
<case name="true" desc="Enabled">
|
|
<configheader>IMAP Server Settings</configheader>
|
|
<configstring name="server" desc="Server
|
|
address">localhost</configstring>
|
|
<configinteger name="port" desc="Server port">143</configinteger>
|
|
<configenum name="secure" desc="The encryption to use to connect to the
|
|
IMAP server.">tls
|
|
<values>
|
|
<value>none</value>
|
|
<value>tls</value>
|
|
<value>ssl</value>
|
|
</values>
|
|
</configenum>
|
|
<configstring name="maildomain" desc="Default
|
|
maildomain">example.com</configstring>
|
|
<configboolean name="cache_folders" desc="Cache IMAP folders?"
|
|
required="true">true</configboolean>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="imsp" desc="IMSP Server">
|
|
<configsection name="imsp">
|
|
<configheader>IMSP Server Settings</configheader>
|
|
<configdescription>If you plan to use any of Horde's IMSP server support,
|
|
enable this option and configure the server settings below. Note that you
|
|
must still configure/enable specific IMSP support in the appropriate
|
|
section.</configdescription>
|
|
<configswitch name="enabled">false
|
|
<case name="false" desc="Disabled" />
|
|
<case name="true" desc="Enabled">
|
|
<configheader>IMSP Server Settings</configheader>
|
|
<configstring name="server" desc="Server Address:">localhost</configstring>
|
|
<configstring name="port" desc="Server port:">406</configstring>
|
|
<configswitch name="auth_method" desc="The authentication method to
|
|
use">Plaintext
|
|
<case name="Plaintext" desc="Plaintext" />
|
|
<case name="CramMd5" desc="CRAM-MD5" />
|
|
<case name="Imtest" desc="Cyrus imtest">
|
|
<configstring name="socket" desc="Path to the directory that will hold
|
|
the socket. (The socket will be named 'imsp_username.sck').">
|
|
/tmp/</configstring>
|
|
<configstring name="command" desc="Path to imtest binary">
|
|
/cyrus/usr/cyrus/bin/imtest</configstring>
|
|
<configenum name="auth_mechanism" description="What authentication
|
|
method do you want to use with the imtest utility?">
|
|
<values>
|
|
<value desc="Plaintext (LOGIN)">LOGIN</value>
|
|
<value desc="GSSAPI">gssapi</value>
|
|
</values>
|
|
</configenum>
|
|
</case>
|
|
</configswitch>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="kolab" desc="Kolab Server">
|
|
<configsection name="kolab">
|
|
<configheader>Kolab Server Settings</configheader>
|
|
<configdescription>
|
|
<strong>*** IF YOU HAVE NO IDEA WHAT KOLAB IS THEN YOU CAN SAFELY
|
|
IGNORE THIS TAB ***</strong><br />
|
|
Kolab is in no way required for normal Horde usage. If, however, you
|
|
intend to use Horde as a webclient for Kolab then you will need to ensure
|
|
that the following fields correspond to those required by your Kolab
|
|
installation. You can find some of the required values in the
|
|
<code> $KOLAB_ROOT/etc/kolab/kolab.conf</code> configuration
|
|
file. Please note that the old iCal/vCard storage format has been dropped
|
|
in favour of the new XML storage format &amp; IMAP folder annotations;
|
|
subsequently the Horde Kolab modules will only work with version 2 of the
|
|
Kolab server.<br />
|
|
If you would like to find out more about Kolab then please visit the Kolab
|
|
community website at http://www.kolab.org/
|
|
</configdescription>
|
|
<configswitch name="enabled" quote="false" desc="Horde/Kolab integration
|
|
status">false
|
|
<case name="false" desc="Disabled" />
|
|
<case name="true" desc="Enabled">
|
|
<configheader>Kolab LDAP Server Settings</configheader>
|
|
<configsection name="ldap">
|
|
<configstring name="server" desc="Server
|
|
address:">localhost</configstring>
|
|
<configinteger name="port" desc="Server port:">389</configinteger>
|
|
<configstring name="basedn" desc="Base
|
|
DN:">dc=example,dc=com</configstring>
|
|
<configstring name="phpdn" desc="Search
|
|
DN:">cn=nobody,cn=internal,dc=example,dc=com</configstring>
|
|
<configstring name="phppw" desc="Search Password:"/>
|
|
</configsection>
|
|
<configheader>Kolab Cyrus IMAP Server Settings</configheader>
|
|
<configsection name="imap">
|
|
<configstring name="server" desc="Server
|
|
address:">localhost</configstring>
|
|
<configinteger name="port" desc="Server port:">143</configinteger>
|
|
<configinteger name="sieveport" desc="Sieve port:">2000</configinteger>
|
|
<configstring name="maildomain" desc="Default
|
|
maildomain:">example.com</configstring>
|
|
<configboolean name="cache_folders" desc="Cache IMAP folders:"
|
|
required="true">true</configboolean>
|
|
</configsection>
|
|
<configheader>Kolab SMTP Server Settings</configheader>
|
|
<configsection name="smtp">
|
|
<configstring name="server" desc="Server
|
|
address:">localhost</configstring>
|
|
<configinteger name="port" desc="Server port:">25</configinteger>
|
|
</configsection>
|
|
<configheader>Kolab Free/Busy Application Settings</configheader>
|
|
<configsection name="freebusy">
|
|
<configdescription>
|
|
Enter the leading part of the URL to the Kolab Free/Busy
|
|
application here. This will usually be
|
|
"https://localhost/freebusy" but if you installed it so that
|
|
you reach the application at "https://freebusy.example.org"
|
|
then you would enter "https://freebusy.example.org". The URL
|
|
"https://freebusy.example.org/freebusy" would thus need the
|
|
setting "https://freebusy.example.org/freebusy".
|
|
</configdescription>
|
|
<configstring name="server" desc="Application
|
|
address:">https://localhost/freebusy</configstring>
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="hashtable" desc="Distributed Hash Table">
|
|
<configsection name="hashtable">
|
|
<configdescription>A distributed hash table is a way of sharing data across
|
|
multiple servers by associating a piece of data with a static key. It is
|
|
useful for cache-like operations, since it is usually much faster to set and
|
|
retrieve the data from the hash table than the underlying data storage
|
|
driver.</configdescription>
|
|
<configswitch name="driver" desc="What backend should we use for the
|
|
distributed hash table?">none
|
|
<case name="none" desc="None" />
|
|
<case name="Memcache" desc="Memcache Server">
|
|
<configsection name="params">
|
|
<configlist name="hostspec" required="false" desc="What hostname(s) is
|
|
the memcache server(s) running on, or what is the name of the system
|
|
DSN(s)? Specify multiple servers by separating with
|
|
commas.">localhost</configlist>
|
|
<configlist name="port" required="false" desc="Port(s) the memcache
|
|
server(s) are running on. If more than one host is used, specify ports
|
|
for respective servers, separated by commas.">11211</configlist>
|
|
<configlist name="weight" required="false" desc="The weight to give each
|
|
memcache server. If more than one host is used, specify weights
|
|
for respective servers, separated by commas."></configlist>
|
|
<configboolean name="persistent" required="false" desc="Enable
|
|
persistent connections to server(s).">false</configboolean>
|
|
<configswitch name="compression" quote="false" desc="Enable compression
|
|
when storing entries on server.">false
|
|
<case name="false" desc="No" />
|
|
<case name="true" desc="Yes">
|
|
<configinteger name="c_threshold" required="false" desc="The threshold
|
|
length before compressing data.">0</configinteger>
|
|
</case>
|
|
</configswitch>
|
|
<configphp name="prefix" required="false" desc="Prefix to use for the
|
|
memcache keys. PHP expressions are allowed."></configphp>
|
|
<configphp name="large_items" required="false" desc="Memcache natively
|
|
supports data of limited length only (default: 1 MB). If this option is
|
|
true, Horde will transparently work around this
|
|
limitation.">true</configphp>
|
|
</configsection>
|
|
</case>
|
|
<case name="Predis" desc="Redis Server">
|
|
<configsection name="params">
|
|
<configswitch name="protocol" desc="Protocol used to connect to the
|
|
Redis server?">tcp
|
|
<case name="unix" desc="UNIX Sockets">
|
|
<configstring name="socket" required="true" desc="Location of UNIX
|
|
socket"/>
|
|
</case>
|
|
<case name="tcp" desc="TCP/IP">
|
|
<configlist name="hostspec" required="false" desc="Hostname(s) the
|
|
Redis server(s) are running on, or the name of the system DSN(s).
|
|
Specify multiple servers by separating with
|
|
commas.">localhost</configlist>
|
|
<configlist name="port" required="false" desc="Port(s) the Redis
|
|
server(s) are running on. If more than one host is used, specify ports
|
|
for respective servers, separated by commas.">6379</configlist>
|
|
<configswitch name="replication" desc="Replication Protocol">none
|
|
<case name="none" desc="None" />
|
|
<case name="sentinel" desc="Sentinel">
|
|
<configstring name="service" required="true" desc="Name of the Service">mymaster</configstring>
|
|
</case>
|
|
</configswitch>
|
|
</case>
|
|
</configswitch>
|
|
<configstring name="password" required="false" desc="Password to
|
|
authenticate to the Redis server with."/>
|
|
<configboolean name="persistent" required="false" desc="Enable
|
|
persistent connections to Redis server(s)?">false</configboolean>
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</configtab>
|
|
|
|
<configtab name="activesync" desc="ActiveSync">
|
|
<configsection name="activesync">
|
|
<configdescription>The use of ActiveSync in the United States is PROHIBITED
|
|
due to patent issues. If you are NOT in the United States, or you have a
|
|
license to use ActiveSync, you may enable ActiveSync below and create an
|
|
alias on your webserver to redirect /Microsoft-Server-ActiveSync to
|
|
/horde/rpc.php. See http://wiki.horde.org/ActiveSync for more
|
|
information. Please note that History system needs to be enabled too.
|
|
</configdescription>
|
|
<configswitch name="enabled" quote="false" desc="Enable ActiveSync server?">false
|
|
<case name="false" desc="Disabled" />
|
|
<case name="true" desc="Enabled">
|
|
<configheader>Storage</configheader>
|
|
<configdescription>ActiveSync needs to store information about device
|
|
properties and state data such as syncronization keys and hierarchy data.
|
|
Choose the storage backend to use.</configdescription>
|
|
<configswitch name="storage">Sql
|
|
<case name="Nosql" desc="NoSQL Database">
|
|
<configsection name="params">
|
|
<confignosql switchname="driverconfig" />
|
|
</configsection>
|
|
</case>
|
|
<case name="Sql" desc="SQL Database">
|
|
<configsection name="params">
|
|
<configsql switchname="driverconfig" />
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
<configheader>Capabilities</configheader>
|
|
<configboolean name="emailsync" desc="Enable Email support?">true
|
|
</configboolean>
|
|
<configenum name="version" desc="What is the highest version of EAS that
|
|
Horde should support? All versions are backwards compatible so selecting
|
|
a higher version also includes support for the lower versions as well. Set
|
|
to EAS 14.1 unless you have a good reason not to.">14.1
|
|
<values>
|
|
<value desc="Exchange 2003 (EAS 2.5)">2.5</value>
|
|
<value desc="Exchange 2007 (EAS 12.0)">12</value>
|
|
<value desc="Exchange 2007sp1 (EAS 12.1)">12.1</value>
|
|
<value desc="Exchange 2010sp1 (EAS 14.0)">14</value>
|
|
<value desc="Exchange 2010sp2 (EAS 14.1)">14.1</value>
|
|
</values>
|
|
</configenum>
|
|
<configheader>Authentication</configheader>
|
|
<configdescription>ActiveSync can be configured to authenticate against
|
|
Horde using either HTTP Basic authentication, X509 client certificates, or
|
|
both. HTTP Basic will authenticate the credentials passed from the client
|
|
against the configured Horde authentication backend. If client certificates
|
|
are used you will need to properly configure your webserver for this as
|
|
well as provide some mechanism for using hordeauth with the IMAP server.
|
|
See http://wiki.horde.org/ActiveSync for more details on client certificate
|
|
authentication. If selecting both basic and client certificates, make sure
|
|
you are not already using client certificate authentication in Horde; if
|
|
client certificates are used for general Horde authentication then they
|
|
must be used here as well. If unsure, select Basic. </configdescription>
|
|
<configsection name="auth">
|
|
<configswitch name="type" desc="Select the authentication methods that
|
|
should be supported.">basic
|
|
<case name="basic" desc="HTTP Basic"/>
|
|
<case name="cert" desc="Client Certificates">
|
|
<configsection name="params">
|
|
<configstring name="username_field" desc="The X509 field containing the username">
|
|
SSL_CLIENT_S_DN_CN</configstring>
|
|
<configswitch name="password_source" desc="Where should Horde attempt to
|
|
find user passwords?">
|
|
<case name="none" desc="Either no passwords are needed, or the
|
|
postauthenticate hook will provide them."/>
|
|
<case name="unified" desc="A single password will be used for all
|
|
users. ONLY USE THIS IF YOU KNOW WHAT YOU ARE DOING! YOUR SYSTEM MUST
|
|
BE PROPERLY SECURED!">
|
|
<configstring name="password" desc="The password to use.">
|
|
</configstring>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</case>
|
|
<case name="basic_cert" desc="HTTP Basic with Client Certificates">
|
|
<configsection name="params">
|
|
<configstring name="username_field" desc="The X509 field containing the username">
|
|
SSL_CLIENT_S_DN_CN</configstring>
|
|
<configswitch name="password_source" desc="Where should Horde attempt to
|
|
find user passwords?">
|
|
<case name="none" desc="Either no passwords are needed, or the
|
|
postauthenticate hook will provide them."/>
|
|
<case name="unified" desc="A single password will be used for all
|
|
users. ONLY USE THIS IF YOU KNOW WHAT YOU ARE DOING! YOUR SYSTEM MUST
|
|
BE PROPERLY SECURED!">
|
|
<configstring name="password" desc="The password to use.">
|
|
</configstring>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
<configheader>Autodiscovery</configheader>
|
|
<configenum name="autodiscovery" desc="Some devices attempt to use an
|
|
Autodiscovery service to configure the device's account using only the
|
|
user's email address and password. For this to work you must create an
|
|
alias on your webserver to point /autodiscover/autodiscover.xml to
|
|
/horde/rpc.php. Also, Horde must be able to determine the user's username
|
|
given the email address. Set the method you want Horde to use to attempt to
|
|
determine this below. If this fails, the device will fall back to requiring
|
|
manual account configuration. See http://wiki.horde.org/ActiveSync for more
|
|
information">
|
|
<values>
|
|
<value desc="Use the full email address as the username">full</value>
|
|
<value desc="Use only the username - everything after and including the
|
|
first @ will be stripped.">user</value>
|
|
<value desc="Use a custom hook. You must create this hook in the
|
|
hooks.php file.">hook</value>
|
|
</values>
|
|
</configenum>
|
|
<configswitch name="outlookdiscovery" desc="Horde can answer Autodiscover
|
|
requests from Microsoft Outlook clients to send configuration information
|
|
for things like IMAP/POP3/SMTP servers. Should this be enabled? NOTE: This
|
|
does not enable syncing between Horde and Microsoft Outlook!">
|
|
<case name="false" desc="No" />
|
|
<case name="true" desc="Yes">
|
|
<configsection name="hosts">
|
|
<configsection name="imap">
|
|
<configstring name="host" desc="IMAP host" required="false"></configstring>
|
|
<configinteger name="port" desc="IMAP port" required="false"></configinteger>
|
|
<configboolean name="ssl" desc="Use SSL?" />
|
|
</configsection>
|
|
<configsection name="pop">
|
|
<configstring name="host" desc="POP3 host" required="false"></configstring>
|
|
<configinteger name="port" desc="POP3 port" required="false"></configinteger>
|
|
<configboolean name="ssl" desc="Use SSL?" />
|
|
</configsection>
|
|
<configsection name="smtp">
|
|
<configstring name="host" desc="SMTP host"></configstring>
|
|
<configinteger name="port" desc="SMTP port" required="false"></configinteger>
|
|
<configboolean name="popauth" desc="Require Pop Auth?" required="false" />
|
|
<configboolean name="ssl" desc="Use SSL?" />
|
|
</configsection>
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
<configheader>Logging</configheader>
|
|
<configsection name="logging">
|
|
<configswitch name="type" desc="For debugging, it may be useful have a log
|
|
of the Wbxml stream along with some other activesync-related data. If you
|
|
want to do this, set this to either Per Device or Single File and enter
|
|
the appropriate path. If detailed debug logging is not needed, set this to
|
|
None.">false
|
|
<case name="false" desc="None" />
|
|
<case name="perdevice" desc="Per Device">
|
|
<configstring name="path" desc="Path to custom log directory." />
|
|
<configenum name="level" desc="Should Horde include all the raw data
|
|
in the Wbxml log stream? If set to Detailed, the entire raw content
|
|
is logged. If set to Protocol, all protocol level detail is included,
|
|
but any Wbxml tag content over 50 bytes is logged only as the size of
|
|
the data." required="false">protocol
|
|
<values>
|
|
<value desc="Protocol">2</value>
|
|
<value desc="Detailed">1</value>
|
|
</values>
|
|
</configenum>
|
|
</case>
|
|
<case name="onefile" desc="Single file">
|
|
<configstring name="path" desc="Log file name." />
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
<configsection name="ping">
|
|
<configheader>Ping Settings</configheader>
|
|
<configdescription>The Heartbeat Interval specifies the length of time, in
|
|
seconds, that the server SHOULD wait before notifying the client of
|
|
changes in a folder on the server. These settings allow you to indicate
|
|
the allowable range for this setting. Note that not all clients will
|
|
request this information. NOTE: Some Android devices do not implement this
|
|
correctly. If you plan on synching Android devices, you should make sure
|
|
that this range is wide enough to allow Android's default of 470 seconds.
|
|
</configdescription>
|
|
<configswitch name="deviceping" desc="Allow devices to manage the
|
|
heartbeat or force Horde to use a specific heartbeat for every
|
|
device?">true
|
|
<case name="true" desc="Device managed heartbeat">
|
|
<configinteger name="heartbeatmin" desc="The minimum number of seconds
|
|
to wait before sending results. This value must be greater then zero.">
|
|
60</configinteger>
|
|
<configinteger name="heartbeatmax" desc="The maximum number of seconds
|
|
to wait before sending results. Note this value must not be greater then
|
|
3540 (59 minutes).">2700</configinteger>
|
|
<configinteger name="heartbeatdefault" desc="If the client does not
|
|
request a heartbeat interval, this interval will be used by default.">
|
|
480</configinteger>
|
|
</case>
|
|
<case name="false" desc="Forced heartbeat">
|
|
<configinteger name="forcedheartbeat" desc="The number of seconds to
|
|
force the server to wait before sending PING results.">60
|
|
</configinteger>
|
|
</case>
|
|
</configswitch>
|
|
<configinteger name="waitinterval" desc="How many seconds should elapse
|
|
between checks for changes? Increasing this value will cause the server
|
|
to wait longer between checks for changes during the heartbeat,
|
|
essentially reducing the number of checks done during each heartbeat.
|
|
Lowering this value will increase the number of checks that are down
|
|
during each heartbeat.">15</configinteger>
|
|
</configsection>
|
|
</case>
|
|
</configswitch>
|
|
</configsection>
|
|
</configtab>
|
|
</configuration>
|