How it helps your business

Best for:Professional ServicesConsulting FirmsLegal PracticesCreative & Marketing AgenciesSmall & Medium Enterprises (SMEs)
GroupOffice is a mature, robust open-source application that straddles the line between a traditional CRM (like Salesforce) and a comprehensive Groupware suite (like Microsoft Exchange or Google Workspace). Recognizing that a business's client relationships are invariably tied to massive amounts of unstructured communication (emails) and files (contracts, invoices, deliverables), GroupOffice combines them into a single, cohesive platform.
Rather than switching between Outlook, a standalone CRM, a Dropbox folder, and a time-tracking app, a user in GroupOffice can open a client record, immediately view every email any employee has ever sent them, open the attached project files, review the logged billable hours, and generate the final PDF invoice with one click.
For production use, GroupOffice serves as the absolute "digital office" for service-oriented businesses. Its architecture is built for heavy daily concurrency, relying on a deeply integrated IMAP email client and a complex relational database to link disparate modules (Projects $\leftrightarrow$ Billing $\leftrightarrow$ CRM) seamlessly.

Key Benefits

  • All-In-One Workspace: A single login replaces half a dozen SaaS applications.
  • Email Native: A full-featured IMAP client is built-in. Emails are not just logged; they are the primary interface, allowing users to drag an email from a client directly onto a Project board to create a task.
  • Document Versioning: True enterprise document management, replacing messy shared network drives. Files are linked directly to CRM contacts.
  • Mobile Sync: Built-in ActiveSync (Z-Push) implementation allows seamless syncing of calendars and address books natively to iOS and Android devices without installing custom apps.

Production Architecture Overview

GroupOffice is a classic, enterprise-focused LAMP/LEMP stack application.
  • Web Server: Nginx or Apache.
  • Language Environment: PHP. GroupOffice is actively developed and supports modern PHP 8.x, utilizing the custom GO framework (extjs frontend).
  • Database: MariaDB or MySQL. Essential for maintaining the complex relationships between the disparate modules (e.g., matching an Email UID to a CRM Contact ID).
  • IMAP Server: While GroupOffice is an email client, it is not a mail server. It connects to an external IMAP/SMTP server (e.g., Dovecot/Postfix, Microsoft 365, Google Workspace) to send and receive mail.
  • Storage: A dedicated mounting point (outside the web root path) for the Document Management System files to ensure they cannot be accessed directly via URL, requiring the PHP application to authorize every download request.

How we deploy this for you

Security Hardened

Firewalls, SSL, and hardened kernels out of the box.

Performance Tuned

Optimized for speed with cache and DB fine-tuning.

Automated Backups

Daily off-site backups so you never lose your data.

Private Cloud

You own the server and the data. No middleman.

Implementation Blueprint

Prerequisites

Assume a fresh Ubuntu 22.04 LTS server. GroupOffice relies on several advanced PHP extensions for document handling (like wbxml for ActiveSync and zip for archive extraction).
sudo apt update && sudo apt upgrade -y

# Install Nginx, MariaDB, and PHP
sudo apt install nginx mariadb-server php-fpm php-mysql php-curl php-gd php-intl php-mbstring php-xml php-zip php-soap php-impa unzip wget tnef -y

# Optionally install additional command-line tools GroupOffice uses to parse document text for search indexing
sudo apt install poppler-utils catdoc html2text unrtf antiword -y
shell

Database Provisioning

Create a strictly permissioned database. GroupOffice uses MyISAM and InnoDB tables extensively.
sudo mysql -u root

CREATE DATABASE groupofficedb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'gouser'@'localhost' IDENTIFIED BY 'highly_secure_go_password';
GRANT ALL PRIVILEGES ON groupofficedb.* TO 'gouser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
sql

Application Installation

Download the latest Community Edition from the official repository or SourceForge.
cd /tmp
wget https://github.com/Intermesh/groupoffice/releases/download/v6.8.54/groupoffice-6.8.54.tar.gz
tar -xzf groupoffice-6.8.54.tar.gz

# Move the core application to the web root
sudo mv groupoffice-6.8.54 /var/www/html/groupoffice

# Create the protected data directory OUTSIDE the web root
sudo mkdir /var/lib/groupoffice
sudo mkdir /etc/groupoffice

# Set correct permissions
sudo chown -R www-data:www-data /var/www/html/groupoffice
sudo chown -R www-data:www-data /var/lib/groupoffice
sudo chown -R www-data:www-data /var/etc/groupoffice
shell

Configuring the Web Server (Nginx)

Create an Nginx Server Block configuration: /etc/nginx/sites-available/groupoffice
server {
    listen 80;
    server_name portal.mycompany.com;
    root /var/www/html/groupoffice;
    index index.php;

    client_max_body_size 50M;

    # Protect internal ExtJS framework configuration files
    location ~* \.(ini|log|conf|xml|sh)$ {
        deny all;
    }

    # Protect the protected folder if accidentally inside web root
    location ^~ /protected {
        deny all;
    }

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_read_timeout 300;
        include fastcgi_params;
    }
}
Enable the configuration:
sudo ln -s /etc/nginx/sites-available/groupoffice /etc/nginx/sites-enabled/
sudo systemctl reload nginx
shell

PHP Configuration Requirements

Ensure PHP is configured to handle large file uploads for the Document Management system.
Edit your php.ini (e.g., /etc/php/8.1/fpm/php.ini):
memory_limit = 256M
upload_max_filesize = 50M
post_max_size = 50M
max_input_vars = 3000
date.timezone = "America/New_York"
ini
Restart PHP-FPM: sudo systemctl restart php8.1-fpm

Web Installer and Configuration File

  1. Navigate to http://portal.mycompany.com/install/ in your browser.
  2. The installation wizard will guide you through connecting to the database (groupofficedb, gouser, highly_secure_go_password).
  3. You will be prompted to specify the data directory path. It must be the external folder you created (/var/lib/groupoffice).
  4. Establish the primary administrator account.
  5. The installer will generate a config.php file automatically and attempt to write it to /etc/groupoffice/config.php (if permissions allow, otherwise you must copy the provided text manually).

ActiveSync Configuration (System Cron)

To keep email inboxes synchronized and automate billing generation, configure the master cron job.
sudo crontab -e -u www-data
shell
Add the execution script to run every minute:
* * * * * /usr/bin/php /var/www/html/groupoffice/cron.php > /dev/null 2>&1

Security Best Practices

  • Delete the Installer: Remove /var/www/html/groupoffice/install/ entirely immediately following a successful configuration to prevent unauthorized resets.
  • SSL/TLS: Secure the application tightly. GroupOffice transmits highly sensitive passwords (the IMAP credentials of users) in plain text from the browser to the backend; HTTPS is non-negotiable.
  • Storage Path Verification: Explicitly double-check that browsing to http://portal.mycompany.com/var/lib/groupoffice returns a 404 or an Nginx access denied error. If your document path is publicly exposed, your entire client file repository is vulnerable.

Best place to host GroupOffice

We recommend Hostinger for its reliability and low cost. It's the perfect home for your new apps, featuring easy setup and 24/7 support.

Get Started on Hostinger

Compare Similar Tools

X2CRM

X2CRM

X2CRM is an open-source CRM, sales process, and marketing automation application designed for fast, high-performance sales teams.

vTiger CRM

vTiger CRM

vTiger CRM is a comprehensive, open-source CRM application equipping sales, support, and marketing teams to enhance customer experiences.

Twenty CRM

Twenty CRM

Twenty CRM is a modern, beautifully designed, open-source CRM built with a focus on developer experience and extreme extensibility.

Professional Setup
$99one-time
Get Started
Free Setup Consultation

Need Help with Your Setup?

If you're not sure how to get started or want our team to handle the technical setup for you, we're here to help. We build custom business tools and automate your daily tasks so you can focus on growing your business.

Trusted by business owners at

Professional Setup

We install and secure any app on your private server for a one-time fee.

Custom Business Tools

We build bespoke dashboards and tools tailored to your specific needs.

Automate Your Work

Connect your apps and automate repetitive tasks to save time and money.

Included in every $99 setup

Security
Performance
SSL Setup
Private Cloud
Faster ImplementationQuick Turnaround
100% Free ConsultationFree Project Review