Configuration file
The configuration file can be found in:
/etc/groupoffice/config.php
/etc/groupoffice/multi_instance/<DOMAINNAME>/config.php
The root of the GroupOffice installation
Here’s a list of 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. |
mailerDebugLevel |
int |
Saves debug messages from the mailer to |
mailerDebugHost |
string |
If set all mail will go to this host. Useful for debugging with “maildev” for example. |
mailerDebugPort |
int |
Port to use if mailerDebugHost is set |
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”) |
checkForUpdates |
bool |
Check if there’s a new version available. Enabled by default. |
nav_page_size |
int |
The number of items displayed in the navigation panels in legacy modules (Calendar for example). Don’t set this number too high because it may slow the browser and server down. |
max_attachment_size |
int |
52428800 (50MB in bytes) |
fileindex_maxsize |
int |
Used by document search module. Is to be saved in bytes, e.g. 52428800 for 50MB) |
caldav_max_months_old |
int |
Used by CalDAV to set the period for the synchronization of calendars. |
checker_interval |
int |
Number of seconds between automatic checks (e.g. email). Default is 120. |
cmd_zip / cmd_unzip |
string |
default commands for the zip and unzip programs respectively. Please do not change unless both utils are in a custom install location. |
mailing_messages_per_minute |
int |
limits the number of messages sent through SMTP in the newsletters module |
limit_usersearch |
bool |
vestigial - sets a limit of users to be returned to non-admin users |
smtp_account_smime_sign |
string |
Enable SMIME signing of outgoing support ticket messages |
smtp_account_smime_password |
string |
SMIME password when signing outgoing support ticket messages |
Global configuration
If you work with multiple instances or you use the server client module, you should create a file called:
/etc/groupoffice/globalconfig.inc.php
This file supports the same properties as the regular file but applies to all GroupOffice instances. Individual configuration options for each instance are saved in the config.php files for each instance.
You can also preconfigure module settings that are normally 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'
]
];
If you use the server client module, any configuration settings for the server client should be included in this file.
Recommended PHP settings
For optimal GroupOffice perfomance we recommend these settings. This will allow users to upload files up to 1GB:
Name |
Value |
Explanation |
|---|---|---|
memory_limit |
256M |
For example parsing large e-mail messages for ActiveSync require high memory usage. |
post_max_size |
5G |
Allows for uploading files of 1GB size. Raise if you need more. See also Apache settings below. |
upload_max_filesize |
5G |
Allows for uploading files of 1GB size. Raise if you need more. See also Apache settings below. |
session.gc_maxlifetime |
86400 |
The default of 30 minutes will cause a logout if you leave your computer for 30 minutes. |
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
Also disable the mod_reqtimeout as it kills the upload if it takes longer than 20s by default:
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 GroupOffice you can easily do this:
Edit the configuration or global configuration file and add:
$config['product_name'] = 'My Office'; //Will replace the word 'GroupOffice' 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.