123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- '\" t
- .\" Title: kopano-server
- .\" Author: [see the "Author" section]
- .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
- .\" Date: November 2016
- .\" Manual: Kopano Core user reference
- .\" Source: Kopano 8
- .\" Language: English
- .\"
- .TH "KOPANO\-SERVER" "8" "November 2016" "Kopano 8" "Kopano Core user reference"
- .\" -----------------------------------------------------------------
- .\" * Define some portability stuff
- .\" -----------------------------------------------------------------
- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- .\" http://bugs.debian.org/507673
- .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- .ie \n(.g .ds Aq \(aq
- .el .ds Aq '
- .\" -----------------------------------------------------------------
- .\" * set default formatting
- .\" -----------------------------------------------------------------
- .\" disable hyphenation
- .nh
- .\" disable justification (adjust text to left margin only)
- .ad l
- .\" -----------------------------------------------------------------
- .\" * MAIN CONTENT STARTS HERE *
- .\" -----------------------------------------------------------------
- .SH "NAME"
- kopano-server \- Start the Kopano storage server\&.
- .SH "SYNOPSIS"
- .HP \w'\fBkopano\-server\fR\ 'u
- \fBkopano\-server\fR [\fIOPTION\fR]
- .SH "DESCRIPTION"
- .PP
- The kopano\-server is the Zafara storage server\&. It contacts a database server and provides services to Kopano clients\&. The user base can be retrieved from an external source, like LDAP, or can be setup with a separate list of users\&.
- .PP
- After starting, the server keeps listening for connections on the configured TCP port and/or Unix socket\&.
- .SH "OPTIONS"
- .PP
- The storage server program takes the following configuration options:
- .PP
- \fB\-\-config\fR, \fB\-c\fR \fIfile\fR
- .RS 4
- Specify the location of the configuration file\&.
- .sp
- Default:
- \fI/etc/kopano/server\&.cfg\fR
- .RE
- .PP
- \fB\-\-foreground\fR, \fB\-F\fR
- .RS 4
- Run in the foreground\&. Normally the server will daemonize and run in the background\&.
- .RE
- .PP
- \fB\-\-restart\-searches\fR, \fB\-R\fR
- .RS 4
- Rebuild all search folders\&. This may take some time and is only needed when your search folders have become out\-of\-sync with the actual data in the database\&. The sync will start synchronously at the start of the server, and you will have to wait for all searches to complete before connecting to the server\&.
- .RE
- .PP
- \fB\-\-ignore\-database\-version\-conflict\fR
- .RS 4
- Ignore version information from the database\&. Kopano will normally not start the server if the database has a newer version than the kopano\-server binary\&. This makes sure you cannot downgrade your server binary while keeping the same database\&. If you know what you\*(Aqre doing, you can use this option to bypass the start\-up version check of the database\&.
- .RE
- .PP
- \fB\-\-ignore\-attachment\-storage\-conflict\fR
- .RS 4
- Override the attachment storage option from the configuration file\&. When you change the option of the location where to store attachments after you\*(Aqve already started the kopano\-server once, this location will conflict\&. Attachments will not be found when they are stored in a different location\&.
- .RE
- .PP
- \fB\-\-override\-multiserver\-lock\fR
- .RS 4
- When you upgrade/downgrade from/to multiserver setups, the server will not start, because of database differences\&. If you know what you\*(Aqre doing, and want to circumvent this and start the server anyway, you can use this option\&.
- .RE
- .PP
- \fB\-\-force\-database\-upgrade\fR
- .RS 4
- Forcing the kopano\-server do the normal upgrade as usual\&. The server will only daemonize when the upgrade is complete\&. Simple progress can be followed in the log output of the server\&.
- .RE
- .PP
- \fB\-V\fR
- .RS 4
- Print the version and exit\&.
- .RE
- .PP
- When invoked with no options, the server will search for a configuration file in
- /etc/kopano/server\&.cfg\&. If no configuration file is found, default values are used\&. See
- \fBkopano-server.cfg\fR(5)
- for all configuration options and their default values\&.
- .SH "USAGE"
- .PP
- Starting the server with an alternative configuration:
- .PP
- \fBkopano\-server\fR
- \fB\-c\fR
- \fI/path/to/server\&.cfg\fR
- .PP
- You may also use the init\&.d scripts:
- .PP
- \fB/etc/init\&.d/kopano\-server\fR
- [\fIstart\fR|
- \fIstop\fR|
- \fIrestart\fR]
- .SH "FILES"
- .PP
- /etc/kopano/server\&.cfg
- .RS 4
- The server configuration file\&.
- .RE
- .PP
- Configuration options for user plugins are in their respective configuration file\&. The name of these files is set in the server\&.cfg file\&. See
- \fBkopano-server.cfg\fR(5)
- for information on the server\&.cfg settings\&.
- .SH "DIAGNOSTICS"
- .PP
- If you run into problems, check the log for any errors\&. If you made a mistake in the configuration of the log method, this will be reported on standard error\&. You can also restart the server with a higher log level\&. Also, before starting the server, always make sure the database server is running at the right location and no other server is listening on the configured TCP port\&.
- .PP
- For extended diagnostics, there are special extended log options available for enhanced debugging capabilities\&. The parameter
- \fIlog_level\fR
- has special or\-ed values which can be set to investigate different modules within the server process:
- .PP
- SQL: 0x00010000, User backend: 0x00020000, Server cache: 0x00040000, SOAP: 0x00100000, ICS: 0x00200000
- .PP
- For example, if you are using LDAP as the user plugin, you can set the
- \fIlog_level\fR
- to 0x00020006 for extended LDAP logging (the last digit 6 enables extended verbose logging)\&. To enable SQL and LDAP logging at the same time, set
- \fIlog_level\fR
- to 0x00030006
- .PP
- WARNING: The log options create huge amounts of log entries in production environments, this results in abnormal large logfiles which can fill up available disk space very fast\&. Only use this with extreme caution\&.
- .SH "SECURITY"
- .PP
- The normal way for user clients to connect to the server is over TCP, either direct using the Kopano port, or over HTTP when Apache is setup as a proxy\&. Users can only login with their username and password\&.
- .PP
- The normal way for admin clients, like the spooler and admin tool, to connect to the server is through the Unix socket on Unix type servers\&. The admin clients are able to login when they are run as root or as the user the storage server process is running as\&. Most of the time this will be root only, since the storage server process runs as root by default\&.
- .PP
- As an exception for the dagent, a unix user can also connect to its own store without a password\&. Any other store cannot be accessed this way\&.
- .PP
- Direct SSL connections are also possible\&. The server needs to be configured to accept SSL connections on a new port\&. Login via an SSL key is also possible\&. Please read the next section on how to setup SSL\&.
- .SH "SSL"
- .PP
- To accept SSL connections directly by the server, the storage server will need to listen on a different port to separate the normal connections from the encrypted connections\&. This is set in the
- \fIserver_ssl_port\fR
- setting in the configuration file\&.
- .PP
- Then, you must setup a signed SSL certificate\&. First, we\*(Aqll create a Certificate Authority to be able to sign certificate requests\&. We provide a script which makes it easy to create certificates on any distribution\&. This script is located in /usr/share/kopano, called ssl\-certificate\&.sh\&. Enter the following commands to create a certificate for the Kopano server\&.
- .PP
- \fB mkdir \-p /etc/kopano/ssl \fR
- \fB cd /etc/kopano/ssl \fR
- \fB sh /usr/share/kopano/ssl\-certificate\&.sh server \fR
- .PP
- Press enter twice to start the creation of a new CA, probably called demoCA\&. Enter a password when asked for\&. This is the password later used to sign certificate requests\&. Then enter your certificate information\&. Do not leave the Common Name field blank, otherwise the creation will fail\&. A good example for the Common Name field is your hostname\&.
- .PP
- Now that we have a CA, we can create self\-signed certificates\&. The script will automatically start the creation of this certificate\&. The CA certificate must be set in the server\&.cfg file in the
- \fIserver_ssl_ca_file\fR
- setting\&. We need a signed certificate for the server to start with SSL support\&.
- .PP
- Enter a password for the request, and enter the certificate details\&. Some details need to be different from what you typed when creating the CA\&. Type at least a different name in the \*(AqOrganizational Unit Name\*(Aq field\&. The challenge password at the end may be left empty\&.
- .PP
- The script will automatically continue with signing this certificate request\&. You will need to enter your CA certificate password again to sign this request\&. Then you must accept the new certificate into the CA\&.
- .PP
- After accepting, a new signed certificate is created, with the name server\&.pem\&. This file contains the private key, so keep this file safe\&.
- .PP
- The script will ask if a public key should also be created\&. Since we\*(Aqre creating the certificate for the server, this is not needed\&. So enter \*(Aqn\*(Aq and press enter\&.
- .PP
- The server\&.pem file should be set in the server\&.cfg file in the
- \fIserver_ssl_key_file\fR
- option\&. See
- \fBkopano-server.cfg\fR(5)
- for information on the possible SSL settings\&. The password of this key needs to be set in the
- \fIserver_ssl_key_pass\fR
- option\&. Do not forget this password in the server\&.cfg file, otherwise the kopano\-server program will ask for this password when an SSL connection is accepted\&.
- .PP
- To create a new certificate for a client service, run the script again\&. You can create one new certificate for all clients, or separate certificates for each client\&.
- .PP
- \fB sh /usr/share/kopano/ssl\-certificates\&.sh \fR
- .PP
- When typing the certificate information, type at least a different \*(AqOrganizational Unit Name\*(Aq field\&. When asked for a public key, type \*(Aqy\*(Aq and enter to create the public key\&.
- .PP
- Install the new service\&.pem on the server that will be logging in\&. Install the service\-public\&.pem file in the /etc/kopano/sslkeys directory:
- .PP
- \fB mkdir /etc/kopano/sslkeys \fR
- \fB mv service\-public\&.pem /etc/kopano/sslkeys \fR
- .PP
- The remote service, which has the service\&.pem private key, can now login with the certificate, because the known public key matches\&.
- .SH "ADDRESSBOOK SORTING"
- .PP
- With special chars (like umlauts) the sorting is working more the dictionary way according to DIN 5007\-1, section 6\&.1\&.1\&.4\&.1\&. Depending on the behaviour wanted, the collation setting can be changed with the (not per default included) parameter
- \fI default_sort_locale_id\fR\&. When setting this parameter to de_DE@collation=phonebook for example the sorting will be oriented to the DIN 5007\-2, section 6\&.1\&.1\&.4\&.2 standard which is rather used in phonebooks and actually decomposes umlauts for sorting inline within non\-umlaut based ASCII characters\&.
- .SH "SIGNALS"
- .PP
- The following signals can be sent to the storage server process:
- .PP
- \fBHUP\fR
- .RS 4
- When the HUP signal is received, some options from the configuration file are reloaded\&. The reloadable options are listed in the
- \fBkopano-server.cfg\fR(5)
- manual page\&.
- .sp
- Also, when using
- \fIlog_method = file\fR, the logfile will be closed and a new logfile will be opened\&. You can use this signal in your logrotate system\&.
- .RE
- .PP
- \fBTERM\fR
- .RS 4
- To gracefully let the server exit, the normal TERM signal is used\&. Because of open sessions by clients it may take up to 60 seconds for the server to completely shutdown\&.
- .RE
- .SH "AUTHOR"
- .PP
- Written by Kopano\&.
- .SH "SEE ALSO"
- .PP
- \fBkopano-server.cfg\fR(5),
- \fBkopano-admin\fR(8)
|