# Set Up grommunio Files and Office: Validate Files, Web Entry and Online Office

Source: https://forgeone.solutions/en/tech/grommunio-files-office-2026-step-by-step
Language: en
Published: 2026-09-06
Updated: 2026-10-22

Practical guide for grommunio Files and Office: installation, Web entry, SSO classification, DOCX/XLSX/PPTX, sharing, saving, backup and troubleshooting.

## Overview

The validated baseline is the openSUSE-based grommunio appliance 2026.06.1. The examples consistently use the neutral appliance domain https://mail.example.test; paths such as /web/, /admin/, /auth/, /chat/, /meet/ and /files/ live on the same appliance.This article shows how to bring grommunio Files and Office into operation from the grommunio appliance and validate real file and office workflows.

It covers installation, storage, user access, upload, download, sharing, online office, simultaneous editing, web integration, logs and acceptance.

## Tested environment

- grommunio 2026 on the openSUSE-based grommunio appliance.
- All appliance commands are run directly on the grommunio appliance.
- Public examples consistently use the neutral appliance domain https://mail.example.test.

## 1. Starting point & prerequisites

The starting point is a grommunio installation with working DNS, TLS, admin access and a clean baseline validation. Each article covers exactly the building block required for a complete collaboration platform.

## 2. Step-by-step guide

This guide shows how to install, configure and validate grommunio Files and grommunio Office on an existing grommunio 2026.06.1 appliance. At the end, users should be able to upload files, share them and open DOCX, XLSX and PPTX directly in the browser.

- You install grommunio Files 32.0.12 and grommunio Office 9.4.0 from the grommunio repository.
- You configure databases, storage, Redis/file locking, cron and reverse proxy.
- You connect Files with Office and validate the real editor workflow.
- You enable the Files/Office integration in grommunio Web.
- You test upload, download, sharing, a second user, saving and reopening.
- You document operations, backup and troubleshooting points for production.

The series is intended to be chronological: [install grommunio 2026](https://forgeone.solutions/en/tech/install-grommunio-2026), [antispam with Rspamd](https://forgeone.solutions/en/tech/grommunio-antispam-rspamd-2026-step-by-step), [SSO with Keycloak](https://forgeone.solutions/en/tech/grommunio-auth-keycloak-2026-step-by-step), [Meet](https://forgeone.solutions/en/tech/grommunio-meet-2026-step-by-step), [Chat](https://forgeone.solutions/en/tech/grommunio-chat-2026-step-by-step) and now Files with Office. Product context is available on the [grommunio product page](https://forgeone.solutions/en/products/grommunio).

### Architecture: Files, Office, Web and Auth

grommunio Files provides file storage, WebDAV, shares and the user interface. The package metadata on the validated appliance identifies Nextcloud as the technical basis. grommunio Office adds browser-based editing and is connected through the OnlyOffice app in Files. grommunio Web can expose Files as an integrated entry point; in this series, identity comes from grommunio-auth and Keycloak.

- grommunio-auth / Keycloak
- grommunio Web
- entry point to grommunio Files
- WebDAV, shares, user files
- OnlyOffice app
- grommunio Office Document Service
- save back to Files

### Prerequisites

- A working grommunio 2026.06.1 appliance with Web, Admin, mail and a valid FQDN.
- HTTPS must be reachable through the production FQDN. Self-signed certificates are only appropriate for isolated labs.
- Enough storage for user data, versions, trash, database and backups.
- MariaDB, nginx, PHP-FPM, Redis and systemd must be healthy.
- Users need WebDAV/Files privileges. In validation, \`privWeb\`, \`privDav\` and \`privFiles\` were relevant.
- Create a snapshot or appliance backup before making changes.

### Step 1: Check the baseline

Do not start with installation. Start with a short baseline check so you can later tell whether Files/Office introduced a new issue or whether it was present before.

```bash
cat /etc/os-release
hostname -f
ip addr
df -h
free -h
systemctl --failed
rpm -qa | grep -i grommunio | sort
ss -lntup
```

### Step 2: Identify packages and roles

On the validated grommunio 2026.06.1 appliance, Files and Office came as native packages from the grommunio repository. Files provided Nextcloud-based file storage; Office provided the document service and RabbitMQ as a service dependency.

```bash
zypper search -s grommunio-files grommunio-office
zypper info grommunio-files grommunio-office grommunio-office-fonts
rpm -ql grommunio-setup | grep -E 'files|office'
```

Validated versions:

- grommunio-files: 32.0.12-lp160.5.1
- grommunio-office: 9.4.0-lp160.6.1
- rabbitmq-server: 4.1.5
- grommunio-web: 3.19.371.ge256c4858

### Step 3: Install Files and Office

Install Files, Office and RabbitMQ together. This keeps PHP dependencies, Office services, fonts and the Files application at a consistent package level.

```bash
zypper --non-interactive install --auto-agree-with-licenses \
 grommunio-files \
 grommunio-office \
 rabbitmq-server
```

Afterwards verify that the packages are really installed. If \`zypper info\` showed “not installed” before, \`rpm -q\` must now return concrete versions.

```bash
rpm -q grommunio-files grommunio-office rabbitmq-server
```

### Step 4: Create databases and Files configuration

Files needs its own database and a configuration readable by the service context. Secrets do not belong in screenshots, tickets or blog posts. Use secret management or at least root-readable files.

```bash
install -d -m 0750 /root/grommunio-secrets
openssl rand -base64 32 >/root/grommunio-secrets/files-db-password
chmod 0600 /root/grommunio-secrets/files-db-password

FILES_DB_PASSWORD="$(cat /root/grommunio-secrets/files-db-password)"
mariadb <<SQL
CREATE DATABASE IF NOT EXISTS grofiles CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER IF NOT EXISTS 'grofiles'@'localhost' IDENTIFIED BY '${FILES_DB_PASSWORD}';
GRANT ALL PRIVILEGES ON grofiles.* TO 'grofiles'@'localhost';
FLUSH PRIVILEGES;
SQL
```

The appliance provides the relevant paths. In the validated installation, application, configuration, external apps, data and logs were placed in these locations.

- /usr/share/grommunio-files
- /usr/share/grommunio-files/config/config.php
- /var/lib/grommunio-files/data
- /var/lib/grommunio-files/apps-external
- /var/log/grommunio-files/files.log

### Step 5: Install Files and set trusted domains

Run the Files initialization with the real FQDN. In production this is your mail/groupware FQDN without a lab port. \`overwritewebroot\` remains \`/files\` because Files is published behind nginx under that path.

```bash
cd /usr/share/grommunio-files

sudo -u grofiles./occ maintenance:install \
 --database mysql \
 --database-name grofiles \
 --database-user grofiles \
 --database-pass "$FILES_DB_PASSWORD" \
 --admin-user grofiles-admin \
 --admin-pass '<secure-admin-password>' \
 --data-dir /var/lib/grommunio-files/data

MAIL_FQDN="mail.example.test"

sudo -u grofiles./occ config:system:set trusted_domains 0 --value="${MAIL_FQDN}"
sudo -u grofiles./occ config:system:set overwrite.cli.url --value="https://${MAIL_FQDN}/files"
sudo -u grofiles./occ config:system:set overwritewebroot --value="/files"
sudo -u grofiles./occ config:system:set overwriteprotocol --value="https"
sudo -u grofiles./occ config:system:set default_phone_region --value="AT"
```

### Step 6: Enable Redis, file locking and cron

File locking and background jobs are not optional decoration. Without healthy jobs, previews, cleanup, versions and some app actions will eventually lag behind.

```bash
sudo -u grofiles./occ config:system:set memcache.local --value="\\OC\\Memcache\\APCu"
sudo -u grofiles./occ config:system:set memcache.locking --value="\\OC\\Memcache\\Redis"
sudo -u grofiles./occ config:system:set redis host --value="127.0.0.1"
sudo -u grofiles./occ config:system:set redis port --value="6379" --type=integer
sudo -u grofiles./occ background:cron
systemctl enable --now grommunio-files-cron.timer
```

### Step 7: Connect the user source

The validated appliance used \`user\_external\` so grommunio users can authenticate against the existing DAV/groupware access. This avoids inventing a second standalone user store in Files.

```bash
cd /usr/share/grommunio-files
sudo -u grofiles./occ app:enable user_external
sudo -u grofiles./occ config:system:set user_backends 0 class --value="\\OCA\\UserExternal\\BasicAuth"
sudo -u grofiles./occ config:system:set user_backends 0 arguments 0 --value="https://${MAIL_FQDN} -f)/dav"
```

Then verify in grommunio Admin that users have the required privileges. In validation, two normal users with Web, DAV and Files privileges were sufficient.

```bash
grommunio-admin user query username privWeb privDav privFiles --format json-flat
```

### Step 8: Prepare Office database and services

grommunio Office needs its own database and several services. RabbitMQ, \`ds-docservice\` and \`ds-converter\` must be running; otherwise Files may load while the editor stays empty or reports download/callback errors.

```bash
openssl rand -base64 32 >/root/grommunio-secrets/office-db-password
chmod 0600 /root/grommunio-secrets/office-db-password
OFFICE_DB_PASSWORD="$(cat /root/grommunio-secrets/office-db-password)"

mariadb <<SQL
CREATE DATABASE IF NOT EXISTS groffice CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER IF NOT EXISTS 'groffice'@'localhost' IDENTIFIED BY '${OFFICE_DB_PASSWORD}';
GRANT ALL PRIVILEGES ON groffice.* TO 'groffice'@'localhost';
FLUSH PRIVILEGES;
SQL

mysql groffice < /usr/libexec/grommunio-office/server/schema/mysql/createdb.sql
systemctl enable --now rabbitmq-server ds-docservice ds-converter
systemctl start ds-themegen ds-fontgen || true
```

### Step 9: Connect Files with Office

Enable the OnlyOffice app in Files and set the URLs to match the nginx publishing paths. In the validated environment, Files was reachable under \`/files/\` and Office under \`/office/\`.

```bash
cd /usr/share/grommunio-files
sudo -u grofiles./occ app:enable onlyoffice
sudo -u grofiles./occ config:app:set onlyoffice DocumentServerUrl --value="https://${MAIL_FQDN} -f)/office/"
sudo -u grofiles./occ config:app:set onlyoffice DocumentServerInternalUrl --value="https://${MAIL_FQDN} -f)/office/"
sudo -u grofiles./occ config:app:set onlyoffice StorageUrl --value="https://${MAIL_FQDN}/files/"
sudo -u grofiles./occ config:app:set onlyoffice customizationForcesave --value=true
sudo -u grofiles./occ config:app:set onlyoffice sameTab --value=true
```

In production, TLS must validate cleanly. In an isolated self-signed lab, disabling peer verification may be required for the test. This is a lab workaround, not a production standard.

```bash
# Nur für isolierte Self-Signed-Labs:
sudo -u grofiles./occ config:app:set onlyoffice verify_peer_off --value=true

# Für produktive Systeme:
sudo -u grofiles./occ config:app:delete onlyoffice verify_peer_off || true
```

### Step 10: Integrate grommunio Web

Enable the Files and Office functions in the grommunio Web plugin. Users should be able to move from Web into Files and edit Office file types directly.

```bash
grep -E 'PLUGIN_FILES_USER_DEFAULT_ENABLE|PLUGIN_FILES_ONLYOFFICE_ENABLE|PLUGIN_FILES_ONLYOFFICE_FILETYPES' \
 /etc/grommunio-web/config-files.php

# Erwartung:
# define('PLUGIN_FILES_USER_DEFAULT_ENABLE', true);
# define('PLUGIN_FILES_ONLYOFFICE_ENABLE', true);
# define('PLUGIN_FILES_ONLYOFFICE_FILETYPES', ".doc,.docx,.docxf,.oform,.odp,.ods,.odt,.ppt,.pptx,.xls,.xlsx");
```

If you need to change these values, edit \`/etc/grommunio-web/config-files.php\` and restart the affected services. Use the real FQDN of the environment, not arbitrary example URLs.

```bash
systemctl restart nginx php-fpm grommunio-web || true
```

### From grommunio-auth through Web to Files and Office

grommunio-auth is the central identity component of the appliance. This article only covers the Files/Office path: create the \`grommunio-files\` Keycloak client, enable \`user\_oidc\` in Files, apply the grommunio-auth Files adapter and test the browser flow through the real \`/files\` path.

Validated Files path:

- Keycloak realm: grommunio
- Keycloak client: grommunio-files
- Files app: user\_oidc
- Adapter script: /usr/share/grommunio-auth/adaptor-config-scripts/setup-gk-app-g-files
- Browser test: https://mail.example.test/files/

The entry into grommunio Web through grommunio-auth and Keycloak was checked. The login page and MFA step are visible. In this Files/Office validation, the DAV-based Files access was also active; therefore the article documents the tested DAV fallback and shows where the central OIDC integration for Files is attached.

[![grommunio-auth login page before signing in to grommunio Web.](https://forgeone.solutions/media/grommunio-files-office-2026-08-auth-login.png)](https://forgeone.solutions/media/grommunio-files-office-2026-08-auth-login.png)

Screenshot: The grommunio-auth login page is the central entry point for grommunio Web. Check the real FQDN, certificate and realm here before troubleshooting Files or Office.

[![MFA setup in grommunio-auth; QR code and secret are deliberately hidden in the screenshot.](https://forgeone.solutions/media/grommunio-files-office-2026-09-auth-mfa.png)](https://forgeone.solutions/media/grommunio-files-office-2026-09-auth-mfa.png)

Screenshot: The MFA setup is shown as a full page; QR code and secret are deliberately hidden. In production, recovery codes, tokens and TOTP secrets must never appear in screenshots or operations documents.

For Files there are two clean operating paths. The quickly testable fallback uses \`user\_external\` against grommunio DAV access. The SSO path uses the installed \`user\_oidc\` app and the \`setup-gk-app-g-files\` adapter script. For that, Files needs its own confidential OIDC client in the same Keycloak realm as grommunio Web.

Important plugin clarification: on the validated 2026.06.1 appliance, \`oauth2\`, \`onlyoffice\`, \`user\_external\` and \`user\_oidc\` were present. A \`user\_saml\` plugin was not the required Files path there. If an enterprise IdP speaks SAML, integrate it cleanly at the Keycloak/grommunio-auth layer; in this guide, Files receives the Keycloak provider through OIDC.

```bash
cd /usr/share/grommunio-files
sudo -u grofiles./occ app:list | grep -E 'user_oidc|user_saml|saml|oauth2|user_external|onlyoffice'
```

Create the client if it is missing: \`Create client\`, client type \`OpenID Connect\`, client ID \`grommunio-files\`. Afterwards keep \`Client authentication\` and \`Standard flow\` enabled. \`Direct access grants\`, \`Implicit flow\` and \`Service account roles\` stay disabled.

[![Keycloak client grommunio-files with confidential OIDC client enabled.](https://forgeone.solutions/media/grommunio-suite-sso-2026-11-keycloak-files-client-settings.png)](https://forgeone.solutions/media/grommunio-suite-sso-2026-11-keycloak-files-client-settings.png)

Screenshot: The Files client is a confidential OIDC client with standard flow enabled.

The redirect URIs must match the installed \`user\_oidc\` app. On the validated appliance both variants were useful because grommunio Files can return with or without \`index.php\`, depending on routing.

- Valid redirect URIs:
- https://mail.example.test/files/index.php/apps/user\_oidc/code
- https://mail.example.test/files/apps/user\_oidc/code
- Web origins:
- https://mail.example.test

[![Redirect URIs and web origin of the grommunio-files client.](https://forgeone.solutions/media/grommunio-suite-sso-2026-12-keycloak-files-redirects.png)](https://forgeone.solutions/media/grommunio-suite-sso-2026-12-keycloak-files-redirects.png)

Screenshot: The Files callback URIs point to the real \`user\_oidc\` route below \`/files\`.

```bash
cd /usr/share/grommunio-files
sudo -u grofiles./occ app:enable user_oidc

# The adapter reads the file generated by grommunio-auth:
# /var/cache/grommunio-auth/adaptor-config/keycloak-grommunio-files.json
/usr/share/grommunio-auth/adaptor-config-scripts/setup-gk-app-g-files

# Then verify without printing secrets:
sudo -u grofiles./occ user_oidc:providers --output=json_pretty
```

Important for the browser flow: grommunio Files must be able to fetch the Keycloak discovery document server-side. In production, use a publicly or internally trusted TLS certificate. In an isolated lab with a self-signed certificate, updating only the system trust store is not always enough; grommunio Files/Nextcloud also uses its own bundle at \`/usr/share/grommunio-files/resources/config/ca-bundle.crt\`. Only when this request works without certificate errors should you consider the Files SSO start technically validated.

```bash
curl -fsS https://mail.example.test/auth/realms/grommunio/.well-known/openid-configuration >/dev/null

# Only in an isolated lab with a self-signed certificate:
cat /etc/pki/trust/anchors/mail-example-test.pem >> /usr/share/grommunio-files/resources/config/ca-bundle.crt
systemctl restart php-fpm nginx

# Afterwards the SSO start must redirect to Keycloak:
curl -kI https://mail.example.test/files/index.php/apps/user_oidc/login/1
```

[![grommunio Files login with enabled Keycloak SSO entry.](https://forgeone.solutions/media/grommunio-suite-sso-2026-05-files-oidc-login.png)](https://forgeone.solutions/media/grommunio-suite-sso-2026-05-files-oidc-login.png)

Screenshot: After adapter configuration, grommunio Files shows the Keycloak entry in addition to direct Files login.

Redirect URIs must always match the real FQDN and the real Files application path. For Files, the callback route of the installed \`user\_oidc\` app is authoritative, not an invented URL.

[![After entering Files, a separate grommunio Files login appears.](https://forgeone.solutions/media/grommunio-files-office-2026-12-web-to-files.png)](https://forgeone.solutions/media/grommunio-files-office-2026-12-web-to-files.png)

Screenshot: The DAV fallback ends at the Files login. If Files should run fully through Keycloak, the \`user\_oidc\` provider must then be configured and tested as its own browser flow.

| Component | Authentication | User source | Separate browser session |
| --- | --- | --- | --- |
| grommunio Web | grommunio-auth / Keycloak | grommunio users | yes |
| grommunio Files | user\_oidc through Keycloak or DAV fallback | Keycloak/grommunio DAV | configuration dependent |
| grommunio Office | Office callback through Files app | Files document context | editor session in browser |

### Step 11: Run health checks

First check services and HTTP routes. \`Office /healthcheck\` must return \`true\`. Files redirects to login without a session, which is expected.

```bash
systemctl --no-pager --plain is-active nginx mariadb rabbitmq-server ds-docservice ds-converter grommunio-files-cron.timer php-fpm
systemctl --failed --no-pager --plain
ss -lntup | grep -E ':(80|443|8000|3306|6379)'
curl -kIs https://${MAIL_FQDN}/files/ | head -5
curl -ks https://${MAIL_FQDN} -f)/office/healthcheck
```

```bash
Validated result:
- Files returns HTTP 302 to login without a session.
- Office /healthcheck returns true.
- ds-docservice listens locally on port 8000.
- nginx, MariaDB, RabbitMQ, ds-docservice, ds-converter, php-fpm and Files cron are active.
- systemctl --failed reports 0 failed units.
```

### Step 12: Validate login and files

Open Files with a normal grommunio user. If you sign in directly to Files, the validated path uses BasicAuth against the existing grommunio user source. In a fully seamless SSO architecture, also validate the entry point from grommunio Web.

[![Login to grommunio Files in the validated example environment.](https://forgeone.solutions/media/grommunio-files-office-2026-01-login.png)](https://forgeone.solutions/media/grommunio-files-office-2026-01-login.png)

Screenshot: Login to grommunio Files with a normal user.

Then upload one DOCX, one XLSX and one PPTX file. This validates not only the Files UI, but also the Office mapping for each file type.

```bash
curl -k -u 'alice@example.test:<password>' -T ForgeOne-Files-Office-Test.docx \
 https://mail.example.test/files/remote.php/dav/files/alice@example.test/ForgeOne-Files-Office-Test.docx

curl -k -u 'alice@example.test:<password>' -T ForgeOne-Files-Office-Test.xlsx \
 https://mail.example.test/files/remote.php/dav/files/alice@example.test/ForgeOne-Files-Office-Test.xlsx

curl -k -u 'alice@example.test:<password>' -T ForgeOne-Files-Office-Test.pptx \
 https://mail.example.test/files/remote.php/dav/files/alice@example.test/ForgeOne-Files-Office-Test.pptx
```

[![File overview in grommunio Files with DOCX, XLSX, PPTX and share status.](https://forgeone.solutions/media/grommunio-files-office-2026-02-files-overview.png)](https://forgeone.solutions/media/grommunio-files-office-2026-02-files-overview.png)

Screenshot: Files shows DOCX, XLSX and PPTX after upload and scan.

### Step 13: Edit, save and read back DOCX

The real acceptance test is not merely opening the editor. Type text into the document, save it, close it, download the file again and verify that the change really landed inside the DOCX file.

[![DOCX file in the grommunio Office editor with a saved validation change.](https://forgeone.solutions/media/grommunio-files-office-2026-03-docx-editor.png)](https://forgeone.solutions/media/grommunio-files-office-2026-03-docx-editor.png)

Screenshot: DOCX in the Office editor with a visible validation change.

[![After saving, the Office editor reports that all changes have been saved.](https://forgeone.solutions/media/grommunio-files-office-2026-07-docx-saved.png)](https://forgeone.solutions/media/grommunio-files-office-2026-07-docx-saved.png)

Screenshot: After saving, the editor reports that all changes are saved.

```bash
curl -k -u 'alice@example.test:<password>' \
 -o /tmp/ForgeOne-Files-Office-Test.docx \
 https://mail.example.test/files/remote.php/dav/files/alice@example.test/ForgeOne-Files-Office-Test.docx

unzip -p /tmp/ForgeOne-Files-Office-Test.docx word/document.xml | grep 'ForgeOne Files Office validation'
```

Validated result:

- DOCX opened in the browser.
- Text was inserted in the editor.
- Saving reported "All changes saved".
- WebDAV download returned a valid Microsoft Word file.
- The marker was present in word/document.xml.

### Step 14: Validate XLSX and PPTX

Then validate at least one spreadsheet and one presentation. In the tested environment, both file types opened in the appropriate Office editor.

[![XLSX file in the grommunio Office spreadsheet editor.](https://forgeone.solutions/media/grommunio-files-office-2026-04-xlsx-editor.png)](https://forgeone.solutions/media/grommunio-files-office-2026-04-xlsx-editor.png)

Screenshot: XLSX opens in the grommunio Office spreadsheet editor.

[![PPTX file in the grommunio Office presentation editor.](https://forgeone.solutions/media/grommunio-files-office-2026-05-pptx-editor.png)](https://forgeone.solutions/media/grommunio-files-office-2026-05-pptx-editor.png)

Screenshot: PPTX opens in the grommunio Office presentation editor.

### Step 15: Test sharing with a second user

Files is only practical when sharing works. Share a file from user A to user B and then validate access with a separate session.

```bash
curl -k -u 'alice@example.test:<password>' \
 -H 'OCS-APIRequest: true' \
 --data-urlencode 'path=/ForgeOne-Files-Office-Test.docx' \
 -d 'shareType=0' \
 --data-urlencode 'shareWith=bob@example.test' \
 -d 'permissions=15' \
 'https://mail.example.test/files/ocs/v2.php/apps/files_sharing/api/v1/shares?format=json'

curl -k -u 'bob@example.test:<password>' -X PROPFIND -H 'Depth: 1' \
 https://mail.example.test/files/remote.php/dav/files/bob@example.test/
```

[![Shared DOCX file in the Files account of a second user.](https://forgeone.solutions/media/grommunio-files-office-2026-06-bob-share.png)](https://forgeone.solutions/media/grommunio-files-office-2026-06-bob-share.png)

Screenshot: The second user sees the shared DOCX file in their Files account.

## Step 16: Integrate Webmail, Files and Office

Check Files and Office standalone first. If the grommunio Web/Files integration is enabled in your environment, then verify both mail workflows directly in the web client.

### Workflow A: add a grommunio Files document as a mail attachment

- ✓ **New email in grommunio Web:** The composer opens.
- ✓ **Add attachment:** The attachment dialog is reachable.
- ✓ **Select grommunio Files:** The Files entry is visible when the integration is enabled.
- ✓ **Open folder and select file:** An existing file can be selected.
- ✓ **Send mail:** The file is visible as an attachment and arrives at the recipient.

### Workflow B: save a received mail attachment to grommunio Files

- ✓ **Open mail with attachment:** The attachment is visible in grommunio Web.
- ✓ **Open attachment actions:** The save-to-Files action is visible when the integration is enabled.
- ✓ **Select target folder:** The target folder in Files can be selected.
- ✓ **Save and verify:** The file is then visible in the target folder in Files.

### Workflow C: edit an Office document

- ✓ **Open document in Files:** The document starts in Online Office.
- ✓ **Save change:** The change is saved.
- ✓ **Reopen:** The change is present after reopening.

## Result Validation / Technical Acceptance

| Test area | Check | Expected result | Status |
| --- | --- | --- | --- |
| Installation | Check packages and components | The component is fully installed | PASS |
| Services | Check systemd services | The required services are active | PASS |
| Network | Check ports and URLs | The component is reachable through the intended paths | PASS |
| Core function | Run standalone test | The core function works before deeper integration | PASS |
| Authentication | Test SSO/login | Login works through the intended path or is intentionally not required | PASS or N/A |
| grommunio Web | Check integration from Web | The component is reachable or usable from grommunio Web | PASS or N/A |
| End-to-end | Test real user workflow | The full workflow is reproducibly successful | PASS |
| Restart | Restart services | The function remains available after service restart | PASS |
| Logs | Check relevant logs | No blocking errors in the validated flow | PASS |

## 4. Typical issues & troubleshooting

- Web UI does not load: check FQDN, TLS, reverse proxy, firewall and service status.
- Login or SSO fails: check realm, client, redirect URIs, certificate chain, time and user mapping.
- Feature remains empty: check package level, plugins, permissions, logs and background services.

## 5. Conclusion & outlook

The grommunio building block is configured and placed in the platform context. The next parts continue the collaboration environment step by step.

## Sources

Vendor and upstream documentation used:

- [grommunio documentation](https://docs.grommunio.com/)
- [grommunio downloads and release information](https://download.grommunio.com/)
- [Nextcloud Administration Manual](https://docs.nextcloud.com/server/latest/admin_manual/)

## Integrate grommunio Files and Office?

ForgeOne supports Files, Office, storage, SSO, web integration, backup, monitoring and operations.

- [Discuss your Files project](https://forgeone.solutions/en/contact)

## Hero image

[![DOCX file in the grommunio Office editor with a saved validation change.](https://forgeone.solutions/media/grommunio-files-office-2026-03-docx-editor.png)](https://forgeone.solutions/media/grommunio-files-office-2026-03-docx-editor.png)

## Author

Mathias Rumbold

## Category

- [grommunio & Groupware](https://forgeone.solutions/en/tech/grommunio-files-office-2026-step-by-step?category=grommunio-groupware)

## Tags

- [grommunio](https://forgeone.solutions/en/tech/grommunio-files-office-2026-step-by-step?tags=grommunio)
- [grommunio Files](https://forgeone.solutions/en/tech/grommunio-files-office-2026-step-by-step?tags=grommunio-files)
- [grommunio Office](https://forgeone.solutions/en/tech/grommunio-files-office-2026-step-by-step?tags=grommunio-office)
- [Groupware](https://forgeone.solutions/en/tech/grommunio-files-office-2026-step-by-step?tags=groupware)
- [Collaboration](https://forgeone.solutions/en/tech/grommunio-files-office-2026-step-by-step?tags=collaboration)
- [Online office](https://forgeone.solutions/en/tech/grommunio-files-office-2026-step-by-step?tags=online-office)
- [Digital Sovereignty](https://forgeone.solutions/en/tech/grommunio-files-office-2026-step-by-step?tags=digitale-souveraenitaet)
- [Native Exchange Replacement](https://forgeone.solutions/en/tech/grommunio-files-office-2026-step-by-step?tags=native-exchange-replacement)

## grommunio 2026 Schritt für Schritt

Die Beiträge bauen chronologisch aufeinander auf: Installation, Security, SSO, Module, Betrieb, Migration, Upgrade und Client-Abnahme. Veröffentlichte Teile werden automatisch verlinkt; geplante Fortsetzungen bleiben sichtbar, aber ohne 404-Link.

1. [Install grommunio 2026.06.1: From ISO to Working Groupware](https://forgeone.solutions/en/tech/install-grommunio-2026)
2. [grommunio-antispam with Rspamd: Spam Filtering, Learning and Operations Step by Step](https://forgeone.solutions/en/tech/grommunio-antispam-rspamd-2026-step-by-step)
3. [grommunio-auth with Keycloak: SSO and central login step by step](https://forgeone.solutions/en/tech/grommunio-auth-keycloak-2026-step-by-step)
4. [Set up grommunio Meet 2026 without Keycloak and optionally add SSO](https://forgeone.solutions/en/tech/grommunio-meet-2026-step-by-step)
5. [Set Up grommunio Chat 2026: Teams, Channels, Users and Multi-Tenancy Testing](https://forgeone.solutions/en/tech/grommunio-chat-2026-step-by-step)
6. [Set Up grommunio Files and Office: Validate Files, Web Entry and Online Office (current part)](https://forgeone.solutions/en/tech/grommunio-files-office-2026-step-by-step)
7. [Set Up grommunio Archive 2026: Archive, Search and Restore Email](https://forgeone.solutions/en/tech/grommunio-archive-2026-step-by-step)
8. [grommunio MDM 2026 step by step: manage ActiveSync devices safely](https://forgeone.solutions/en/tech/grommunio-mdm-2026-step-by-step)
9. [grommunio Multitenancy 2026: organizations, domains and multiple LDAP sources](https://forgeone.solutions/en/tech/grommunio-multitenancy-2026-step-by-step)
10. [grommunio 2026 Cluster and High Availability: from multi-server lab to tested active/standby homeserver](https://forgeone.solutions/en/tech/grommunio-cluster-ha-2026-step-by-step)
11. [grommunio 2026 disaster recovery and single mailbox restore: backup, full DR and targeted mailbox recovery in the lab](https://forgeone.solutions/en/tech/grommunio-disaster-recovery-single-mailbox-restore-2026-step-by-step)
12. [Migrate IMAP mailboxes to grommunio with imapsync](https://forgeone.solutions/en/tech/grommunio-imap-migration-imapsync-2026-step-by-step)
13. [grommunio: Replace Public Folders with a functional mailbox - step by step](https://forgeone.solutions/en/tech/grommunio-public-folder-functional-mailbox-multiple-domains)
14. [grommunio Web 5.0 in the lab: settings namespace, shared mailboxes and admin impact](https://forgeone.solutions/en/tech/grommunio-web-5-0-in-the-lab)
15. [grommunio 2026.06.2 Upgrade and Technical Acceptance: Keycloak SSO, MFA, AutoDiscover and Mail Flow](https://forgeone.solutions/en/tech/grommunio-2026-06-2-upgrade-keycloak-sso-practice)
16. [grommunio native clients after Keycloak SSO: Thunderbird, Outlook, EWS, EAS and MFA explained](https://forgeone.solutions/en/tech/grommunio-native-clients-after-keycloak-sso)
17. grommunio Monitoring und Alerting im Betrieb
18. grommunio Security Hardening in der Praxis
19. grommunio Operations Troubleshooting: typische Fehler sauber eingrenzen
