Configuration file

The configuration file can be found in:

  • /etc/groupoffice/config.php
  • /etc/groupoffice/multi_instance/<DOMAINNAME>/config.php
  • The root of the Group-Office installation

Here’s a list of config options:

Config options
Name Type Description
db_name string Database name
db_host string Database server hostname
db_port string Database server port
db_user string Database username
db_pass string Database password
file_storage_path string Where the files on disk are stored
tmpdir string Temporary files directory
sseEnabled bool Enable Server Sent Events for live push updates. Some servers don’t support two connections!
quota int Max storage in bytes this installation may use
max_users int Max number of users this system may have
allowed_modules array Array of modules or packages the system may use. Eg. [‘legacy/*’, ‘community/*’, ‘business/newsletters’]. For backwards compatibility this can also be a comma separated string.
product_name string For branding the system to another name
debug bool Enable debugging for developers. Can also be temporarily enabled with CTRL + F7 or Cmd + F7 in the browser.
debug_log bool Disable debug log when debug = true.
debug_usernames array Debug only for these usernames. eg. [‘demo’, ‘foo’]
debugEmail string Set to an e-mail address to redirect all mail to for testing purposes.
email_allow_body_search bool Enable searching in email bodies. Disabled by default as per version 6.6.103 .
sieve_rewrite_hosts string When using an IMAP proxy then configure the real mail host for sieve calls here. eg. “localhost=mail.example.com”;
servermanager bool Set by multi_instance module. This will copy system settings and create welcome message on install.
zpush2_loglevel int Set to 32 to generate debugging info in log/z-push.log
zpush2_special_log_users array Set to usernames you want to debug. eg. [‘testuser’, ‘testuser2’]
vmail_path string Customize where mail is stored. Defaults to “/var/mail/vhosts/”
custom_css_url string URL to stylesheet to load in the web interface.
email_enable_labels bool Enable labels for e-mail if IMAP server supports it
allow_themes. bool Enable themes
theme bool Default theme (“Paper”)

Global configuration

You can also create a file called:

/etc/groupoffice/globalconfig.inc.php

this file supports the same properties as the regular file but applies to all Group-Office instances on the server when running multiple instances.

You can also preconfigure module settings that are normallly set in the user interface. For example you can set the OnlyOffice server URL for all instances:

$config['business'] = [

    'onlyoffice' => [
        'documentServerUrl' => 'https://onlyoffice.example.com',
        'documentServerSecret' => 'mysecretkey'
    ]

];

Apache settings

Uploading large files

By default Apache doesn’t allow a request body larger than 1G. If you want to upload bigger files then raise it. For example 5G:

LimitRequestBody 5368709120

Security improvements

You can hide your version information by setting these Apache configuration parameters in /etc/apache2/conf-enabled/security.conf:

ServerSignature Off
ServerTokens Prod

Locking system settings

Configuration properties configurable in the GUI at System settings can be locked in the config.php or globalconfig.inc.php file:

$config['core'] => [
    'title' => 'Pinned title',
    'primaryColor' => '2E7D32',
    'passwordMinLength' => 6,
    'smtpEncryption => 'tls',
    'smtpHost => 'localhost',
    'smtpUsername => null,
    'smtpPassword => null,
    'smtpPort' => 587
];

Branding

If you’d like to brand Group-Office you can easily do this:

Edit the configuration or global configuration file and add:

$config['product_name'] = 'My Office'; //Will replace the word 'Group-Office' with 'My Office'
$config['custom_css_url'] = '/branding/style.css'; //Loads a custom CSS stylesheet.
$config['support_link'] = 'https://docs.example.com/'; //Changes the URL behind "Help" in the main menu. Can also be an e-mail address

In the branding folder create a style.css stylesheet with for example this content:

/**
 * Preferred primary theme colors
 */
:root {
    --c-primary: rgb(27, 100, 139);
    --c-header-bg: rgb(27, 100, 139);
    --c-primary-tp: rgba(27, 100, 139, .16);
    --c-secondary: brown;
    --c-accent: orange;
}

/**
 * Override logo
 */
.go-app-logo, .go-about-logo, .go-settings-logo, #go-logo {
    background-image: url('my-group-office.png');
    width: 240px;
    height: 40px;
}

Note

It will still leave copyright notices to Intermesh. It’s not allowed to remove those.