https://www.oxpedia.org/wiki/api.php?action=feedcontributions&user=Marco.Tabor&feedformat=atomOpen-Xchange - User contributions [en]2024-03-28T13:41:59ZUser contributionsMediaWiki 1.31.0https://www.oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive&diff=28561AppSuite:OX Drive2023-12-18T13:19:13Z<p>Marco.Tabor: Deleted reference to discontinued iOS Drive app</p>
<hr />
<div>Source of http://oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive<br />
<br />
<br />
<br />
= OX Drive =<br />
<br />
In OX App Suite, Open-Xchange provides a cloud storage called OX Drive. It provides file- and folder synchronization across multiple devices in the simplest way for the end user, fully optimized for each device type. This article explains how to set up the server-side components for OX Drive, as well as details about the app setup.<br />
<br />
== Key features ==<br />
<br />
* Native Apps for Windows, macOS, iOS and Android<br />
* Easy and attractive upsell properties (e.g. Upsell based on Quota limitations)<br />
* Apps are specially designed for the devices they run on taking into account limitations such as battery life, screen limitations, bandwidth etc.<br />
* Controlled synchronization of files across devices<br />
* Storage management (e.g. quota control, upload limits)<br />
* Connection type recognition and adaptation (e.g. Wi-Fi, cell network)<br />
<br />
== Availability ==<br />
<br />
OX Drive is a combination of two components:<br />
* OX Drive in OX App Suite<br />
* OX Drive Apps (optional native apps for synchronization)<br />
<br />
OX Drive is available as native app for the following operating systems:<br />
* OX Drive for Windows (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive for macOS (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive for iOS (supported with OX App Suite v7.10.6)<br />
* OX Drive for Android (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
<br />
== Requirements ==<br />
<br />
You will find the requirements under [[AppSuite:OX_System_Requirements#OX_Drive_for_Clients|OX Drive App and Platform Requirements]]<br />
<br />
= Server-side Installation and Configuration =<br />
<br />
This chapter describes how the backend components of OX Drive are installed and configured on the server.<br />
<br />
== Prerequisites ==<br />
<br />
* Open-Xchange Server v7.10.5 and above (''open-xchange-core'')<br />
* Grizzly HTTP connector (''open-xchange-grizzly''), see [[AppSuite:Grizzly]] for details, with ''Comet'' support enabled in ''grizzly.properties''<br />
* Valid Push-Certificates / API keys for cloud-based notifications, see configuration below<br />
* Enabled Hazelcast for inter-OX-communication, see [[AppSuite:Running_a_cluster]] for details<br />
<br />
== Available packages ==<br />
<br />
Open-Xchange Drive is available with the following backend packages:<br />
<br />
* ''open-xchange-drive'' - The main server components for OX Drive<br />
* ''open-xchange-drive-comet'' - Provides the Push interface via long-polling for the desktop apps<br />
* ''open-xchange-drive-help-*'' - Online help in various languages for the OX Drive applications (these were called ''open-xchange-appsuite-help-drive-*'' in versions earlier than Open-Xchange Server v7.6.2)<br />
* ''open-xchange-drive-restricted'' - Restricted components, including prerequisites for cloud-based push notifications<br />
<br />
Installation on the server varies depending on the underlying distribution, details are available in the following chapters.<br />
<br />
=== OX Drive for Windows ===<br />
<br />
Additionally OX Drive for Windows can be provided to users by installing additional packages.<br />
<br />
OX Drive for Windows is able to update itself and can be downloaded from the Web UI directly via the [[AppSuite:Client_Onboarding|App Onboarding Wizard]]. Therefore the wizard must be installed and configured for OX Drive users. Besides the client onboarding feature you need the following packages:<br />
<br />
* ''open-xchange-drive-client-windows'' - The main server component to provide the app<br />
* ''open-xchange-drive-client-windows-generic'' - The package providing the final binary files to be installed on users machines.<br />
<br />
To make the app download available via the app onboarding wizard, you need to enable the according scenario. Edit ''/opt/open-xchange/etc/client-onboarding-scenarios.yml'' and get to the ''drivewindowsclientinstall'' section, where you have to set the ''enabled'' property to ''true''.<br />
<br />
[[File:OX_Drive_Windows_About_Screen.png|500px|thumb|left|Drive Update Info]]<br />
<br />
===== Custom branded apps =====<br />
<br />
OX Drive for Windows can be purchased with a custom theming. In such cases, the according binary files need to be installed on the middleware servers. Instead of the ''open-xchange-drive-client-windows-generic'' package, a package containing the branded binaries will be provided as ''open-xchange-drive-client-windows-<brand-name>'' and needs to be installed. You MUST then set the property ''com.openexchange.drive.update.branding'' in ''/opt/open-xchange/etc/drive-client-windows.properties'' to ''<brand-name>'' accordingly.<br />
<br />
It is also possible to provide multiple brands of the app via the same OX App Suite deployment, multiple ''open-xchange-drive-client-windows-<brand-name>'' packages can be installed in parallel. Which brand is available for a certain user is determined by the ''com.openexchange.drive.update.branding'' property, which can be overwritten via [[ConfigCascade|Config Cascade]] therefore.<br />
<br />
App brands can be managed via command line tools. The tool ''/opt/open-xchange/sbin/listdriveclients'' lists all installed brands. After updating a certain brand by installing a newer package version or installing an additional one, no server restart is necessary. Instead ''/opt/open-xchange/sbin/reloaddriveclients'' can be executed to refresh the internal server state.<br />
<br />
<br />
=== Redhat Enterprise Linux 7 or CentOS 7 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange yum configuration:<br />
<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|backend}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|drive-help}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ yum update<br />
$ yum install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== Redhat Enterprise Linux 8 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange dnf configuration:<br />
<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL8|backend}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL8|drive-help}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL8|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL8|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL8|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ dnf update<br />
$ dnf install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
<!-- === Debian GNU/Linux 9.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows --><br />
<br />
=== Debian GNU/Linux 10.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== Debian GNU/Linux 11.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBullseye|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBullseye|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBullseye|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBullseye|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBullseye|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== OX Server Edition / App Suite for UCS ===<br />
<br />
If you have purchased the OX Server Edition / App Suite for UCS, the OX Drive is part of the offering and after the installation/update available. The necessary package for push, is available with a valid license and can be installed via the Univention App Center.<br />
<br />
* The new license is already registered at the LDB after purchase.<br />
* Log on at the Univention Management Console (UMC)<br />
* Make sure, that the correct LDB account has been selected in the UMC module "OX License Management"<br />
* Click on "App Center" at the UMC und switch to the tab "Repository Settings"<br />
* Within the component list, select "Open-Xchange Drive" and press the "Install" button<br />
<br />
== Configuration ==<br />
<br />
The following gives an overview about the most important settings to enable file synchronization via OX Drive, especially when it comes to real-time Push notifications for the apps.<br />
<br />
All settings regarding the OX Drive backend component are located in the configuration file ''drive.properties''. The default configuration should be sufficient for a basic "up-and-running" setup (with the exception of defining the Push certificates and API keys for cloud-based app notifications, see next chapters). Please refer to the inline documentation of the configuration file for more advanced options. <br />
<br />
Most properties located in configuration file ''drive.properties'' are now config-cascade aware. Therefore all settings can be set per user, per contextSet or per context. If there is no configuration per user, per contextSet or per context, the configuration in ''drive.properties'' will still be used as server-wide fallback.<br />
<br />
When installing from scratch, the configuration file ''drive.properties'' is no longer shipped, as the default values are used. For more details, find an overview of configurable settings [https://documentation.open-xchange.com/7.10.5/middleware/administration.html here].<br />
<br />
If no Push certificates and API keys are defined but cloud-based app notifications are enabled, the Push certificates and API keys from package ''open-xchange-drive-restricted'' are used as fallback, if this package is installed.<br />
<br />
=== Push via Firebase Cloud Messaging (FCM) ===<br />
<br />
The OX Drive application for Android devices is able to receive Push notifications from the Open-Xchange Server via [https://firebase.google.com/docs/cloud-messaging/ Firebase Cloud Messaging (FCM)]. To issue those Push messages, the backend needs to be provided with a suitable API key for the corresponding Android app application. The API key is included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" Android app. Alternatively, the key can be specified directly in the ''drive.properties'' configuration file:<br />
<br />
# Specifies the API key of the server application. Required if <br />
# "com.openexchange.drive.events.gcm.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.gcm.key=<br />
<br />
Push via FCM can be enabled via:<br />
<br />
# Enables or disables push event notifications to apps using the Google<br />
# Firebase Cloud Messaging (FCM) service. This requires a valid configuration for the <br />
# FCM API key, see options below. Defaults to "false". <br />
com.openexchange.drive.events.gcm.enabled=true<br />
<br />
Please note that push via FCM needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.<br />
<br />
=== Push via Apple Push Notification service (APNs) ===<br />
<br />
The OX Drive application for iOS and macOS devices is able to receive Push notifications from the Open-Xchange Server via [http://developer.apple.com/library/IOS/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html Apple Push Notification service (APNs)]. To issue those Push messages, the backend needs to be provided with a suitable keystore container file (PKCS #12) containing the APNs certificate and keys. Note that the macOS desktop app and the iOS mobile app are served separately with different certificates, so that both needs to be configured independently. The required certificates are already included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" iOS and macOS applications. Therefore no additional configuration is needed. Alternatively, an external certificate can be specified directly in the ''drive.properties'' configuration file (the following only shows the setup for iOS). First, the path to the PKCS #12 container file needs to be specified at:<br />
<br />
# Specifies the path to the local keystore file (PKCS #12) containing the APNS <br />
# certificate and keys for the iOS application, e.g. <br />
# "/opt/open-xchange/etc/drive-apns.p12". Required if <br />
# "com.openexchange.drive.events.apn.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.apn.ios.keystore=<br />
<br />
This file is opened by the backend using the password as supplied via: <br />
<br />
# Specifies the password used when creating the referenced keystore containing<br />
# the certificate of the iOS application. Note that blank or null passwords <br />
# are in violation of the PKCS #12 specifications. Required if <br />
# "com.openexchange.drive.events.apn.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.apn.ios.password=<br />
<br />
Configuration also allows to switch between development and production environments, however, this setting should be ''true'' normally:<br />
<br />
# Indicates which APNS service is used when sending push notifications to iOS<br />
# devices. A value of "true" will use the production service, a value of <br />
# "false" the sandbox service. Defaults to "true".<br />
com.openexchange.drive.events.apn.ios.production=true<br />
<br />
The OX backend contacts the APNs servers from time to time to get informed about apps no longer reachable apps where the applications was uninstalled. The interval can be defined with the following setting: <br />
<br />
# Configures the interval between queries to the APN feedback service for the<br />
# subscribed iOS devices. The value can be defined using units of measurement: <br />
# "D" (=days), "W" (=weeks) and "H" (=hours). Defaults to "1D" (one day). <br />
# Leaving this parameter empty disables the feedback queries on this node. <br />
# Since each received feedback is processed cluster-wide, only one node in the <br />
# cluster should be enabled here. <br />
com.openexchange.drive.events.apn.ios.feedbackQueryInterval=1D<br />
<br />
Please note that if you have multiple backend nodes in the cluster, it's recommended that only one node is configured to contact the feedback query service. Finally, Push notifications via APN for iOS can be enabled via:<br />
<br />
# Enables or disables push event notifications to apps using the Apple Push<br />
# Notification service (APNS) for macOS devices. This requires a valid <br />
# configuration for the APNS certificate and keys, see either options below, <br />
# or install the restricted components packages for drive. Defaults to <br />
# "false". <br />
com.openexchange.drive.events.apn.ios.enabled=false<br />
<br />
As stated above, configuration for Push notifications via APN for the macOS desktop application is configured similarly, the relevant options are prefixed with ''com.openexchange.drive.events.apn.macos''. Please also note that push via APNS needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.<br />
<br />
=== Further Configuration ===<br />
<br />
* The backend component of OX Drive supplies the apps with various hyperlinks, e.g. deep-links to files and folders in the groupware webinterface or an URL to the online help. In order to point to the suitable web interface, please ensure that the correct UI web path is configured via ''com.openexchange.UIWebPath'' located in ''server.properties''.<br />
* As already mentioned above, the backend relies on the [https://grizzly.java.net/comet.html Comet] component of the Grizzly http connector for sending push notifications to the desktop apps. Therefore, ''com.openexchange.http.grizzly.hasCometEnabled'' needs to be set to ''true'' in ''grizzly.properties''.<br />
<br />
= Enabling OX Drive for Users =<br />
<br />
OX Drive is enabled for all users that have the capability ''com.openexchange.capability.drive''. Please note that users need to have the ''infostore'' permission set to use drive. So the users that have ''drive'' enabled must be a subset of those users with ''infostore'' permission. Since 7.6.0 we enforce this via the default configuration. You can also enable this cabaility globally with the following setting in the ''drive.properties'' configuration file:<br />
<br />
# Enables or disables the "drive" module capability globally. The capability<br />
# can also be set more fine-grained via config cascade. Per default it is only<br />
# enabled for users that have the "infostore" permission set. This is configured<br />
# in /opt/open-xchange/etc/contextSets/drive.yml.<br />
com.openexchange.capability.drive=false<br />
<br />
More details about capabilities can be found at [[AppSuite:Capabilities]]. Furthermore, this capability can be defined in a more granular way using the Config Cascade as described at [[ConfigCascade]].<br />
<br />
= Installation of the Apps =<br />
<br />
== Installation of macOS Desktop App ==<br />
<br />
The OX Drive for macOS is provided via the Mac App Store:<br />
<br />
* https://itunes.apple.com/app/ox-drive/id818195014?mt=12<br />
<br />
=== Enabling the Finder Extension on macOS ===<br />
<br />
In order to be able to open or share documents in the App Suite from Finder you need to enable the Drive Finder Extension.<br />
<br />
How to enable the Drive Finder Extension on macOS:<br />
# Open the System Preferences.<br />
# In the System Preferences window select Extensions.<br />
# In the Extensions window select Finder.<br />
# Enable Drive Finder Extension.<br />
<br />
== Installation of Windows Desktop App ==<br />
<br />
If the necessary packages are installed (See [[AppSuite:OX_Drive#OX_Drive_for_Windows|OX Drive for Windows]]), users can download the app from within the App Suite via "Settings > Connect my Device".<br />
<br />
== Installation of Android and iOS Apps ==<br />
<br />
The OX Drive app is available via the different App Stores:<br />
<br />
* iOS: https://apps.apple.com/de/app/ox-drive-by-open-xchange/id1585939206<br />
* Android: https://play.google.com/store/apps/details?id=com.openexchange.drive.vanilla<br />
<br />
== App Configuration and Deployment ==<br />
<br />
The user needs to enter the App Suite server URL and provide his username and password to log in. More help is available in the online documentation which is accessible from within the apps.<br />
<br />
After the initial synchronization is completed, all subsequent changes are synchronized instantly across all devices.<br />
<br />
'''Note:''' Version v7.10.3 of the OX App Suite introduced optional multifactor authentication, see https://documentation.open-xchange.com/7.10.3/middleware/security_and_encryption/multifactor_authentication.html. <br />
<br />
Not all OX Drive apps support this yet. <br />
<br />
To connect to a server that has multi-factor authentication (MFA) activated with an app that does not support MFA, you can switch on app-specific passwords, see https://documentation.open-xchange.com/7.10.5/middleware/login_and_sessions/application_passwords.html. Users then need to define this password in App Suite under "Settings > Security > Application Passwords" and use it when signing in.<br />
<br />
<br />
<br />
<br />
<!-- = FAQ =<br />
<br />
You will find it under [https://oxpedia.org/wiki/index.php?title=Product_FAQ]. --></div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=File:OX_Drive_Windows_About_Screen.png&diff=28325File:OX Drive Windows About Screen.png2023-09-25T09:27:38Z<p>Marco.Tabor: Marco.Tabor uploaded a new version of File:OX Drive Windows About Screen.png</p>
<hr />
<div></div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=AppSuite:OX_System_Requirements&diff=28223AppSuite:OX System Requirements2023-07-13T06:54:59Z<p>Marco.Tabor: Deleted reference to discontinued Drive app v2</p>
<hr />
<div>= OX App Suite Requirements - Open-Xchange supported components overview =<br />
<br />
The following table provides an overview about the supported components of OX App Suite and further products. This overview makes no claim to be complete.<br />
<br />
Information about Maintenance expiries of components, versions and browser support, can be found in the [[AppSuite:Versioning_and_Numbering#Maintenance_expires|Maintenance Expires Table]]<br />
<br />
== Hardware Requirements ==<br />
<br />
=== General Assumptions ===<br />
<br />
Open-Xchange App Suite Server (middleware services) is designed to run on physical servers or virtual machines of the same flavor. Cloud environments might be used in terms of Infrastructure as a Service (IaaS), meaning that all components need to be deployed in a classical manner on virtual machines.<br />
<br />
This means in particular, but not only:<br />
<br />
* Infrastructure is supposed to be "quasi-static". Automatic replacement of broken nodes is fine as long as this is always an exceptional case. Scaling out or reducing number of nodes must always be a conscious task and closely monitored.<br />
* The only supported "Database as a service" solution is AWS RDS for MariaDB as defined by belows compatibility table.<br />
<br />
Especially we expect the virtual hardware to be not over-provisioned. Each VM must have dedicated resources with respect to CPU cores, RAM, IOPS, storage, network bandwidth, network latency, etc.<br />
<br />
Network is expected to be flat, inside one datacenter, no multi-datacenter, no segments. No packet loss, low latency.<br />
<br />
'''Disclaimer: All recommendations below are without guarantee and can differ for specific deployments. For mid- and large-scale setups a detailed deployment planning and sizing tests are mandatory and should be agreed on with OX Professional Services.'''<br />
<br />
=== High Level Design / OS setup ===<br />
<br />
Operate services separately (USM, Document/Image Converters) as described in [https://oxpedia.org/wiki/index.php?title=AppSuite:Running_a_cluster Cluster Setup].<br />
<br />
Clocks between all nodes must be synchronized (e.g. via NTP).<br />
<br />
Open file/max process limits need to be adjusted properly. Based on the used Linux distribution and init system configuration will differ, see Resource Limits for further explanation.<br />
<br />
Platform Architecture: 64 bit versions (x84_64) of the supported [[#Software Requirements | Linux distributions]]<br />
<br />
=== Node Sizing ===<br />
<br />
==== OX App Suite Middleware ====<br />
<br />
* Max. 8 GB heap per JVM + 4 GB system memory for other daemons and the OS (buffers, caches)<br />
* 4 CPU cores (virtual, physical or hyperthreads) for plain HTTP connections. If TLS is terminated on application nodes this might need to be doubled.<br />
* Disk space<br />
** 8 GB for OS and software<br />
** Some services like Document Converter need SWAP partitions (~1 * RAM)<br />
** 2 * system memory of free disk space (i.e. 12 GB RAM => 24 GB free disk space) for file spooling, log files, heap and core dumps<br />
<br />
=== Untested/Unsupported Deployments ===<br />
<br />
* Changes to Garbage Collector settings<br />
* Running in containerized environments (Docker, rkt)<br />
* Elasticity/High velocity of nodes going up and down: Services are sometimes stateful and demand static configuration<br />
* Cloud platform services (PaaS) that promise to replacements for certain supported technologies but have not been verified by OX for these regards<br />
* Multi-site active-active<br />
<br />
== Software Requirements ==<br />
<br />
=== Linux Distributions ===<br />
<br />
OX App Suite is available as Linux packages for the following distributions:<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Distribution'''<br />
|'''Versions'''<br />
|'''Remarks'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Red Hat Enterprise Linux<br />
|7<br />
|<br />
|-<br />
|CentOS<br />
|7<br />
|Install from RHEL package repositories<br />
|-<br />
|Debian<br />
|10 (Buster), 11 (Bullseye)<br />
|<br />
|-<br />
|Univention Corporate Server<br />
|4.4, 5.0<br />
|<br />
|-<br />
|}<br />
<br />
=== Java ===<br />
<br />
OX App Suite Middleware requires OpenJDK headless JRE 8 or 9. Linux distributions might offer only packages for OpenJDK 11 JRE or higher, which are not suitable for OX App Suite. It is in those cases required to install Eclipse Temurin 8 JRE with HotSpot VM (successor of Adoptium). A comprehensive installation guide can be found at https://adoptium.net/de/installation/linux/. The correct JRE package is '''temurin-8-jdk'''.<br />
<br />
=== Databases ===<br />
<br />
OX App Suite uses MySQL/MariaDB with the InnoDB storage engine as its primary data store. The following vendors and products are supported.<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Vendor'''<br />
|'''Product'''<br />
|'''Versions'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Oracle<br />
|MySQL Community Edition, Standard Edition, Enterprise Edition<br />
|v5.6.x, v5.7.x<br />
|-<br />
|MariaDB<br />
|MariaDB Server, Galera Cluster<br />
|v10.1.x, v10.2.x, v10.4.x, v10.5.x.<br />
|-<br />
<!-- |Amazon<br />
|AWS RDS for MariaDB<br />
|10.2.x<br>Discontinued Support with end of life of OX App Suite v7.10.5 --><br />
|-<br />
|}<br />
<br />
==== Important Notes ====<br />
<br />
* Open-Xchange does not plan to support '''MySQL 8 or higher'''. As MariaDB and MySQL are diverging and cannot be assumed drop-in replacements anymore, Open-Xchange will focus on MariaDB Server and MariaDB Galera Cluster. Future App Suite releases '''> 7.10.x''' might rely on features only available in '''MariaDB'''.<br />
* Open-Xchange supports '''Percona XtraDB Cluster''' for existing customers with initial deployments done using '''App Suite 7.8.x or earlier'''. Those customers can continue to use Percona XtraDB Cluster throughout the 7.10.x release series. Like for MySQL, 7.10.x supports only versions 5.6 and 5.7. It is not planned to support Percona XtraDB Cluster beyond 7.10.x.<br />
<br />
* For some Linux distributions the included MySQL/MariaDB packages are too old to be used with App Suite. It is mandatory then to install a supported version from '''upstream package sources'''. Possible sources are the official vendor repositories of MySQL or MariaDB as well as for example Red Hat Software Collections.<br />
* Required '''MySQL/MariaDB configuration''' configuration differs between '''App Suite 7.8.4 and 7.10.x''' and also between the different database systems in terms of SQL modes. See [[My.cnf]] for details.<br />
* For upgrades from App Suite <= 7.8.2 to >= 7.10.0 a comprehensive '''database upgrade guide''' exists: [[AppSuite:7_10_Database_Migration]]<br />
<br />
== HTTP Reverse Proxy ==<br />
<br />
An HTTP server with reverse proxy and load balancing capabilities is required in front of App Suite application servers. TLS termination, virtual hosts, path-based routing, sticky sessions and X-Forwarded headers are typical required features. OX strongly recommends [https://httpd.apache.org/ Apache httpd 2.x] for that. Configuration examples can be found in the quickinstall guides.<br />
<br />
'''Important:''' For websocket support Apache httpd 2.4.x is needed, 2.2.x does not support the required ws_tunnel module. Websockets are mandatory for OX Documents starting with v7.10.3. Like with JRE and MySQL/MariaDB it might be necessary to use 3rd party packages to get the needed Linux packages. Especially for RHEL6 we recommend using Red Hat Software Collections.<br />
<br />
== Webserver ==<br />
<br />
[https://httpd.apache.org/ Apache httpd 2.x] is required as webserver to serve static App Suite UI content. Configuration examples can be found in the quickinstall guides.<br />
<br />
== File Storage ==<br />
<br />
=== Temporary Data ===<br />
<br />
OX App Suite stores temporary files in the local file system, e.g. for spooling of uploaded data. Any file system supported by the installed JRE is suitable.<br />
<br />
=== Persistent Data ===<br />
<br />
Persistent data like OX Drive files, PIM attachments etc. and temporary attachment data need to be stored in a distributed file system as registered filestore that is available from all server nodes. For single-node setups a local file system mount point can be used, small to mid-scale setups can be powered by NFS. For large-scale setups object storages should be considered.<br />
<br />
==== Object Storages ====<br />
<br />
OX App Suite ships with different optional adapters to support object storages.<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Vendor'''<br />
|'''Product'''<br />
|'''API'''<br />
|'''Remarks'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Amazon<br />
|AWS S3<br />
|S3 HTTP API<br />
|See also [[AppSuite:S3_File_Store]]<br />
|-<br />
|CEPH<br />
|RadosGW<br />
|S3 HTTP API<br />
|See also [[AppSuite:S3_File_Store]]<br />
|-<br />
|Scality<br />
|Scality RING<br />
|Sproxyd HTTP API<br />
|See also [[AppSuite:Scality_File_Store]]<br />
|-<br />
|}<br />
<br />
== Desktop Browser (Minimum display resolution: 1024 x 768)==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Google Chrome (latest & previous version)<br />
|v7.10.6<br />
|-<br />
|Mozilla Firefox (latest & current ESR-Version)<br />
|v7.10.6<br />
|-<br />
|Apple Safari (latest & previous version; macOS only)<br />
|v7.10.6<br />
|-<br />
|Microsoft Edge (Chromium-based)<br />
|v7.10.6<br />
|-<br />
|Microsoft Internet Explorer 10/11<br />
|v7.6.3<br />
|-<br />
|}<br />
<br />
== Mobile Device Support==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Mobile Device'''<br />
|'''Supported Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|'''Minimum Speed Requirements'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|iPhone on iOS 15 / iOS 16 / iPad OS<br />
|Safari<br />
|v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|-<br />
|Smartphone on Android 4.1 or later<br />
|Chrome (latest & previous version)<br />
|v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|}<br />
<br />
== Tablet Support==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Tablet'''<br />
|'''Supported Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|'''Minimum Speed Requirements'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iPad (all devices) on iOS 15 / iOS 16 / iPad OS<br />
|Safari<br />
|v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|-<br />
|Tablets on Android 4.1 or later<br />
|Chrome (latest & previous version)<br />
|v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|}<br />
<br />
== Calendar/Contact synchronization Apple macOS ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|Calendar synchronization with CalDAV<br />
|Contacts synchronization with CardDAV<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|macOS 12.0 (Monterey)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|macOS 13.0 (Ventura)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|}<br />
<br />
== Calendar/Contact synchronization Apple iOS ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|Calendar synchronization with CalDAV<br />
|Contacts synchronization with CardDAV<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iOS 15 / iOS 16 / iPad OS<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== Mobility Solution - Supported- Platforms, Features and Devices ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Feature/Technology/Device'''<br />
|[http://oxpedia.org/wiki/index.php?title=OXtender_for_Business_Mobility '''OXtender for Business Mobility'''] (availalble for App Suite, OXHE, OXSE)<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Exchange Active Sync 2.5<br />
|[[File:check.gif]]<br />
|-<br />
|Exchange Active Sync 12.1<br />
|[[File:check.gif]]<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Access and creation of emails<br />
|[[File:check.gif]]<br />
|-<br />
|Personal PIM folder<br />
|[[File:check.gif]] <br />
|-<br />
|Public and Shared PIM folder<br />
|[[File:cross.gif]]<br />
|-<br />
|Global address book<br />
|[[File:check.gif]] <br />
|-<br />
|Push E-Mail<br />
|[[File:check.gif]] <br />
|-<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iOS 15 / iOS 16 / iPad OS<br />
|[[File:check.gif]]<br />
|-<br />
|Android 8 (Oreo) or later with latest Gmail app.<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== OX Drive Clients ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX Drive for Windows<br />
|OX App Suite 7.10.6<br>Latest versions of Windows 10 and above (no support for Windows RT and emulators)<br />
|-<br />
|OX Drive for Apple macOS<br />
|OX App Suite 7.10.6<br>macOS Monterey 12, macOS Ventura 13, Intel- and Apple Silicon-based devices are both supported<br />
|-<br />
|OX Drive for Apple iOS<br />
|OX App Suite 7.10.6<br>iOS / iPadOS 15 and above<br />
|-<br />
|OX Drive for Android<br />
|OX App Suite 7.10.6<br>Smartphones and tablets running Android 9.0 (API level 28) and above<br />
|-<br />
|}<br />
<br />
== OX Sync App ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform / User Interface'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX App Suite 7.10.6<br />
|-<br />
|OX Sync App for Android<br />
|Smartphone on Android 5.0 or later<br />
|-<br />
|}<br />
<br />
== OX Guard ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform / User Interface'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX Guard since v2.10.7: OX App Suite v7.10.6<br />
|-<br />
|Mobile Device and Tablet Support<br />
|Apple iPhone on iOS 15 / iOS 16 / iPad OS: Safari (latest version & previous version)<br>Smartphone on Android 4.1 or later: Chrome (latest & previous version)<br>Apple iPad (all devices) on iOS 15 / iOS 16 / iPad OS: Safari Safari (latest version & previous version)<br>Tablets on Android 4.1 or later: Chrome (latest & previous version)<br />
|-<br />
|}<br />
<br />
<br />
[[Category: OX7]]<br />
[[Category: AppSuite]]</div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive&diff=27923AppSuite:OX Drive2023-01-17T13:19:05Z<p>Marco.Tabor: /* App Configuration and Deployment */</p>
<hr />
<div>Source of http://oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive<br />
<br />
<br />
<br />
= OX Drive =<br />
<br />
In OX App Suite, Open-Xchange provides a cloud storage called OX Drive. It provides file- and folder synchronization across multiple devices in the simplest way for the end user, fully optimized for each device type. This article explains how to set up the server-side components for OX Drive, as well as details about the app setup.<br />
<br />
== Key features ==<br />
<br />
* Native Apps for Windows, macOS, iOS and Android<br />
* Easy and attractive upsell properties (e.g. Upsell based on Quota limitations)<br />
* Apps are specially designed for the devices they run on taking into account limitations such as battery life, screen limitations, bandwidth etc.<br />
* Controlled synchronization of files across devices<br />
* Storage management (e.g. quota control, upload limits)<br />
* Connection type recognition and adaptation (e.g. Wi-Fi, cell network)<br />
<br />
== Availability ==<br />
<br />
OX Drive is a combination of two components:<br />
* OX Drive in OX App Suite<br />
* OX Drive Apps (optional native apps for synchronization)<br />
<br />
OX Drive is available as native app for the following operating systems:<br />
* OX Drive for Windows (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive for macOS (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive v2 for iOS (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive v3 for iOS (supported with OX App Suite v7.10.6)<br />
* OX Drive for Android (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
<br />
== Requirements ==<br />
<br />
You will find the requirements under [[AppSuite:OX_System_Requirements#OX_Drive_for_Clients|OX Drive App and Platform Requirements]]<br />
<br />
= Server-side Installation and Configuration =<br />
<br />
This chapter describes how the backend components of OX Drive are installed and configured on the server.<br />
<br />
== Prerequisites ==<br />
<br />
* Open-Xchange Server v7.10.5 and above (''open-xchange-core'')<br />
* Grizzly HTTP connector (''open-xchange-grizzly''), see [[AppSuite:Grizzly]] for details, with ''Comet'' support enabled in ''grizzly.properties''<br />
* Valid Push-Certificates / API keys for cloud-based notifications, see configuration below<br />
* Enabled Hazelcast for inter-OX-communication, see [[AppSuite:Running_a_cluster]] for details<br />
<br />
== Available packages ==<br />
<br />
Open-Xchange Drive is available with the following backend packages:<br />
<br />
* ''open-xchange-drive'' - The main server components for OX Drive<br />
* ''open-xchange-drive-comet'' - Provides the Push interface via long-polling for the desktop apps<br />
* ''open-xchange-drive-help-*'' - Online help in various languages for the OX Drive applications (these were called ''open-xchange-appsuite-help-drive-*'' in versions earlier than Open-Xchange Server v7.6.2)<br />
* ''open-xchange-drive-restricted'' - Restricted components, including prerequisites for cloud-based push notifications<br />
<br />
Installation on the server varies depending on the underlying distribution, details are available in the following chapters.<br />
<br />
=== OX Drive for Windows ===<br />
<br />
Additionally OX Drive for Windows can be provided to users by installing additional packages.<br />
<br />
OX Drive for Windows is able to update itself and can be downloaded from the Web UI directly via the [[AppSuite:Client_Onboarding|App Onboarding Wizard]]. Therefore the wizard must be installed and configured for OX Drive users. Besides the client onboarding feature you need the following packages:<br />
<br />
* ''open-xchange-drive-client-windows'' - The main server component to provide the app<br />
* ''open-xchange-drive-client-windows-generic'' - The package providing the final binary files to be installed on users machines.<br />
<br />
To make the app download available via the app onboarding wizard, you need to enable the according scenario. Edit ''/opt/open-xchange/etc/client-onboarding-scenarios.yml'' and get to the ''drivewindowsclientinstall'' section, where you have to set the ''enabled'' property to ''true''.<br />
<br />
[[File:Drive_Update.png|500px|thumb|left|Drive Update Info]]<br />
<br />
===== Custom branded apps =====<br />
<br />
OX Drive for Windows can be purchased with a custom theming. In such cases, the according binary files need to be installed on the middleware servers. Instead of the ''open-xchange-drive-client-windows-generic'' package, a package containing the branded binaries will be provided as ''open-xchange-drive-client-windows-<brand-name>'' and needs to be installed. You MUST then set the property ''com.openexchange.drive.update.branding'' in ''/opt/open-xchange/etc/drive-client-windows.properties'' to ''<brand-name>'' accordingly.<br />
<br />
It is also possible to provide multiple brands of the app via the same OX App Suite deployment, multiple ''open-xchange-drive-client-windows-<brand-name>'' packages can be installed in parallel. Which brand is available for a certain user is determined by the ''com.openexchange.drive.update.branding'' property, which can be overwritten via [[ConfigCascade|Config Cascade]] therefore.<br />
<br />
App brands can be managed via command line tools. The tool ''/opt/open-xchange/sbin/listdriveclients'' lists all installed brands. After updating a certain brand by installing a newer package version or installing an additional one, no server restart is necessary. Instead ''/opt/open-xchange/sbin/reloaddriveclients'' can be executed to refresh the internal server state.<br />
<br />
<br />
=== Redhat Enterprise Linux 7 or CentOS 7 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange yum configuration:<br />
<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|backend}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|drive-help}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ yum update<br />
$ yum install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
<!-- === Debian GNU/Linux 9.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows --><br />
<br />
=== Debian GNU/Linux 10.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== Debian GNU/Linux 11.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBullseye|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBullseye|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBullseye|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBullseye|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBullseye|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== OX Server Edition / App Suite for UCS ===<br />
<br />
If you have purchased the OX Server Edition / App Suite for UCS, the OX Drive is part of the offering and after the installation/update available. The necessary package for push, is available with a valid license and can be installed via the Univention App Center.<br />
<br />
* The new license is already registered at the LDB after purchase.<br />
* Log on at the Univention Management Console (UMC)<br />
* Make sure, that the correct LDB account has been selected in the UMC module "OX License Management"<br />
* Click on "App Center" at the UMC und switch to the tab "Repository Settings"<br />
* Within the component list, select "Open-Xchange Drive" and press the "Install" button<br />
<br />
== Configuration ==<br />
<br />
The following gives an overview about the most important settings to enable file synchronization via OX Drive, especially when it comes to real-time Push notifications for the apps.<br />
<br />
All settings regarding the OX Drive backend component are located in the configuration file ''drive.properties''. The default configuration should be sufficient for a basic "up-and-running" setup (with the exception of defining the Push certificates and API keys for cloud-based app notifications, see next chapters). Please refer to the inline documentation of the configuration file for more advanced options. <br />
<br />
Most properties located in configuration file ''drive.properties'' are now config-cascade aware. Therefore all settings can be set per user, per contextSet or per context. If there is no configuration per user, per contextSet or per context, the configuration in ''drive.properties'' will still be used as server-wide fallback.<br />
<br />
When installing from scratch, the configuration file ''drive.properties'' is no longer shipped, as the default values are used. For more details, find an overview of configurable settings [https://documentation.open-xchange.com/7.10.5/middleware/administration.html here].<br />
<br />
If no Push certificates and API keys are defined but cloud-based app notifications are enabled, the Push certificates and API keys from package ''open-xchange-drive-restricted'' are used as fallback, if this package is installed.<br />
<br />
=== Push via Firebase Cloud Messaging (FCM) ===<br />
<br />
The OX Drive application for Android devices is able to receive Push notifications from the Open-Xchange Server via [https://firebase.google.com/docs/cloud-messaging/ Firebase Cloud Messaging (FCM)]. To issue those Push messages, the backend needs to be provided with a suitable API key for the corresponding Android app application. The API key is included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" Android app. Alternatively, the key can be specified directly in the ''drive.properties'' configuration file:<br />
<br />
# Specifies the API key of the server application. Required if <br />
# "com.openexchange.drive.events.gcm.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.gcm.key=<br />
<br />
Push via FCM can be enabled via:<br />
<br />
# Enables or disables push event notifications to apps using the Google<br />
# Firebase Cloud Messaging (FCM) service. This requires a valid configuration for the <br />
# FCM API key, see options below. Defaults to "false". <br />
com.openexchange.drive.events.gcm.enabled=true<br />
<br />
Please note that push via FCM needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.<br />
<br />
=== Push via Apple Push Notification service (APNs) ===<br />
<br />
The OX Drive application for iOS and macOS devices is able to receive Push notifications from the Open-Xchange Server via [http://developer.apple.com/library/IOS/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html Apple Push Notification service (APNs)]. To issue those Push messages, the backend needs to be provided with a suitable keystore container file (PKCS #12) containing the APNs certificate and keys. Note that the macOS desktop app and the iOS mobile app are served separately with different certificates, so that both needs to be configured independently. The required certificates are already included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" iOS and macOS applications. Therefore no additional configuration is needed. Alternatively, an external certificate can be specified directly in the ''drive.properties'' configuration file (the following only shows the setup for iOS). First, the path to the PKCS #12 container file needs to be specified at:<br />
<br />
# Specifies the path to the local keystore file (PKCS #12) containing the APNS <br />
# certificate and keys for the iOS application, e.g. <br />
# "/opt/open-xchange/etc/drive-apns.p12". Required if <br />
# "com.openexchange.drive.events.apn.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.apn.ios.keystore=<br />
<br />
This file is opened by the backend using the password as supplied via: <br />
<br />
# Specifies the password used when creating the referenced keystore containing<br />
# the certificate of the iOS application. Note that blank or null passwords <br />
# are in violation of the PKCS #12 specifications. Required if <br />
# "com.openexchange.drive.events.apn.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.apn.ios.password=<br />
<br />
Configuration also allows to switch between development and production environments, however, this setting should be ''true'' normally:<br />
<br />
# Indicates which APNS service is used when sending push notifications to iOS<br />
# devices. A value of "true" will use the production service, a value of <br />
# "false" the sandbox service. Defaults to "true".<br />
com.openexchange.drive.events.apn.ios.production=true<br />
<br />
The OX backend contacts the APNs servers from time to time to get informed about apps no longer reachable apps where the applications was uninstalled. The interval can be defined with the following setting: <br />
<br />
# Configures the interval between queries to the APN feedback service for the<br />
# subscribed iOS devices. The value can be defined using units of measurement: <br />
# "D" (=days), "W" (=weeks) and "H" (=hours). Defaults to "1D" (one day). <br />
# Leaving this parameter empty disables the feedback queries on this node. <br />
# Since each received feedback is processed cluster-wide, only one node in the <br />
# cluster should be enabled here. <br />
com.openexchange.drive.events.apn.ios.feedbackQueryInterval=1D<br />
<br />
Please note that if you have multiple backend nodes in the cluster, it's recommended that only one node is configured to contact the feedback query service. Finally, Push notifications via APN for iOS can be enabled via:<br />
<br />
# Enables or disables push event notifications to apps using the Apple Push<br />
# Notification service (APNS) for macOS devices. This requires a valid <br />
# configuration for the APNS certificate and keys, see either options below, <br />
# or install the restricted components packages for drive. Defaults to <br />
# "false". <br />
com.openexchange.drive.events.apn.ios.enabled=false<br />
<br />
As stated above, configuration for Push notifications via APN for the macOS desktop application is configured similarly, the relevant options are prefixed with ''com.openexchange.drive.events.apn.macos''. Please also note that push via APNS needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.<br />
<br />
=== Further Configuration ===<br />
<br />
* The backend component of OX Drive supplies the apps with various hyperlinks, e.g. deep-links to files and folders in the groupware webinterface or an URL to the online help. In order to point to the suitable web interface, please ensure that the correct UI web path is configured via ''com.openexchange.UIWebPath'' located in ''server.properties''.<br />
* As already mentioned above, the backend relies on the [https://grizzly.java.net/comet.html Comet] component of the Grizzly http connector for sending push notifications to the desktop apps. Therefore, ''com.openexchange.http.grizzly.hasCometEnabled'' needs to be set to ''true'' in ''grizzly.properties''.<br />
<br />
= Enabling OX Drive for Users =<br />
<br />
OX Drive is enabled for all users that have the capability ''com.openexchange.capability.drive''. Please note that users need to have the ''infostore'' permission set to use drive. So the users that have ''drive'' enabled must be a subset of those users with ''infostore'' permission. Since 7.6.0 we enforce this via the default configuration. You can also enable this cabaility globally with the following setting in the ''drive.properties'' configuration file:<br />
<br />
# Enables or disables the "drive" module capability globally. The capability<br />
# can also be set more fine-grained via config cascade. Per default it is only<br />
# enabled for users that have the "infostore" permission set. This is configured<br />
# in /opt/open-xchange/etc/contextSets/drive.yml.<br />
com.openexchange.capability.drive=false<br />
<br />
More details about capabilities can be found at [[AppSuite:Capabilities]]. Furthermore, this capability can be defined in a more granular way using the Config Cascade as described at [[ConfigCascade]].<br />
<br />
= Installation of the Apps =<br />
<br />
== Installation of macOS Desktop App ==<br />
<br />
The OX Drive for macOS is provided via the Mac App Store:<br />
<br />
* https://itunes.apple.com/app/ox-drive/id818195014?mt=12<br />
<br />
=== Enabling the Finder Extension on macOS ===<br />
<br />
In order to be able to open or share documents in the App Suite from Finder you need to enable the Drive Finder Extension.<br />
<br />
How to enable the Drive Finder Extension on macOS:<br />
# Open the System Preferences.<br />
# In the System Preferences window select Extensions.<br />
# In the Extensions window select Finder.<br />
# Enable Drive Finder Extension.<br />
<br />
== Installation of Windows Desktop App ==<br />
<br />
If the necessary packages are installed (See [[AppSuite:OX_Drive#OX_Drive_for_Windows|OX Drive for Windows]]), users can download the app from within the App Suite via "Settings > Connect my Device".<br />
<br />
== Installation of Android and iOS Apps ==<br />
<br />
The OX Drive app is available via the different App Stores:<br />
<br />
* iOS: https://apps.apple.com/de/app/ox-drive-by-open-xchange/id1585939206<br />
* Android: https://play.google.com/store/apps/details?id=com.openexchange.drive.vanilla<br />
<br />
== App Configuration and Deployment ==<br />
<br />
The user needs to enter the App Suite server URL and provide his username and password to log in. More help is available in the online documentation which is accessible from within the apps.<br />
<br />
After the initial synchronization is completed, all subsequent changes are synchronized instantly across all devices.<br />
<br />
'''Note:''' Version v7.10.3 of the OX App Suite introduced optional multifactor authentication, see https://documentation.open-xchange.com/7.10.3/middleware/security_and_encryption/multifactor_authentication.html. <br />
<br />
Not all OX Drive apps support this yet. <br />
<br />
To connect to a server that has multi-factor authentication (MFA) activated with an app that does not support MFA, you can switch on app-specific passwords, see https://documentation.open-xchange.com/7.10.5/middleware/login_and_sessions/application_passwords.html. Users then need to define this password in App Suite under "Settings > Security > Application Passwords" and use it when signing in.<br />
<br />
<br />
<br />
<br />
<!-- = FAQ =<br />
<br />
You will find it under [https://oxpedia.org/wiki/index.php?title=Product_FAQ]. --></div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive&diff=27920AppSuite:OX Drive2023-01-17T13:18:26Z<p>Marco.Tabor: /* App Configuration and Deployment */</p>
<hr />
<div>Source of http://oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive<br />
<br />
<br />
<br />
= OX Drive =<br />
<br />
In OX App Suite, Open-Xchange provides a cloud storage called OX Drive. It provides file- and folder synchronization across multiple devices in the simplest way for the end user, fully optimized for each device type. This article explains how to set up the server-side components for OX Drive, as well as details about the app setup.<br />
<br />
== Key features ==<br />
<br />
* Native Apps for Windows, macOS, iOS and Android<br />
* Easy and attractive upsell properties (e.g. Upsell based on Quota limitations)<br />
* Apps are specially designed for the devices they run on taking into account limitations such as battery life, screen limitations, bandwidth etc.<br />
* Controlled synchronization of files across devices<br />
* Storage management (e.g. quota control, upload limits)<br />
* Connection type recognition and adaptation (e.g. Wi-Fi, cell network)<br />
<br />
== Availability ==<br />
<br />
OX Drive is a combination of two components:<br />
* OX Drive in OX App Suite<br />
* OX Drive Apps (optional native apps for synchronization)<br />
<br />
OX Drive is available as native app for the following operating systems:<br />
* OX Drive for Windows (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive for macOS (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive v2 for iOS (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive v3 for iOS (supported with OX App Suite v7.10.6)<br />
* OX Drive for Android (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
<br />
== Requirements ==<br />
<br />
You will find the requirements under [[AppSuite:OX_System_Requirements#OX_Drive_for_Clients|OX Drive App and Platform Requirements]]<br />
<br />
= Server-side Installation and Configuration =<br />
<br />
This chapter describes how the backend components of OX Drive are installed and configured on the server.<br />
<br />
== Prerequisites ==<br />
<br />
* Open-Xchange Server v7.10.5 and above (''open-xchange-core'')<br />
* Grizzly HTTP connector (''open-xchange-grizzly''), see [[AppSuite:Grizzly]] for details, with ''Comet'' support enabled in ''grizzly.properties''<br />
* Valid Push-Certificates / API keys for cloud-based notifications, see configuration below<br />
* Enabled Hazelcast for inter-OX-communication, see [[AppSuite:Running_a_cluster]] for details<br />
<br />
== Available packages ==<br />
<br />
Open-Xchange Drive is available with the following backend packages:<br />
<br />
* ''open-xchange-drive'' - The main server components for OX Drive<br />
* ''open-xchange-drive-comet'' - Provides the Push interface via long-polling for the desktop apps<br />
* ''open-xchange-drive-help-*'' - Online help in various languages for the OX Drive applications (these were called ''open-xchange-appsuite-help-drive-*'' in versions earlier than Open-Xchange Server v7.6.2)<br />
* ''open-xchange-drive-restricted'' - Restricted components, including prerequisites for cloud-based push notifications<br />
<br />
Installation on the server varies depending on the underlying distribution, details are available in the following chapters.<br />
<br />
=== OX Drive for Windows ===<br />
<br />
Additionally OX Drive for Windows can be provided to users by installing additional packages.<br />
<br />
OX Drive for Windows is able to update itself and can be downloaded from the Web UI directly via the [[AppSuite:Client_Onboarding|App Onboarding Wizard]]. Therefore the wizard must be installed and configured for OX Drive users. Besides the client onboarding feature you need the following packages:<br />
<br />
* ''open-xchange-drive-client-windows'' - The main server component to provide the app<br />
* ''open-xchange-drive-client-windows-generic'' - The package providing the final binary files to be installed on users machines.<br />
<br />
To make the app download available via the app onboarding wizard, you need to enable the according scenario. Edit ''/opt/open-xchange/etc/client-onboarding-scenarios.yml'' and get to the ''drivewindowsclientinstall'' section, where you have to set the ''enabled'' property to ''true''.<br />
<br />
[[File:Drive_Update.png|500px|thumb|left|Drive Update Info]]<br />
<br />
===== Custom branded apps =====<br />
<br />
OX Drive for Windows can be purchased with a custom theming. In such cases, the according binary files need to be installed on the middleware servers. Instead of the ''open-xchange-drive-client-windows-generic'' package, a package containing the branded binaries will be provided as ''open-xchange-drive-client-windows-<brand-name>'' and needs to be installed. You MUST then set the property ''com.openexchange.drive.update.branding'' in ''/opt/open-xchange/etc/drive-client-windows.properties'' to ''<brand-name>'' accordingly.<br />
<br />
It is also possible to provide multiple brands of the app via the same OX App Suite deployment, multiple ''open-xchange-drive-client-windows-<brand-name>'' packages can be installed in parallel. Which brand is available for a certain user is determined by the ''com.openexchange.drive.update.branding'' property, which can be overwritten via [[ConfigCascade|Config Cascade]] therefore.<br />
<br />
App brands can be managed via command line tools. The tool ''/opt/open-xchange/sbin/listdriveclients'' lists all installed brands. After updating a certain brand by installing a newer package version or installing an additional one, no server restart is necessary. Instead ''/opt/open-xchange/sbin/reloaddriveclients'' can be executed to refresh the internal server state.<br />
<br />
<br />
=== Redhat Enterprise Linux 7 or CentOS 7 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange yum configuration:<br />
<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|backend}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|drive-help}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ yum update<br />
$ yum install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
<!-- === Debian GNU/Linux 9.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows --><br />
<br />
=== Debian GNU/Linux 10.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== Debian GNU/Linux 11.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBullseye|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBullseye|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBullseye|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBullseye|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBullseye|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== OX Server Edition / App Suite for UCS ===<br />
<br />
If you have purchased the OX Server Edition / App Suite for UCS, the OX Drive is part of the offering and after the installation/update available. The necessary package for push, is available with a valid license and can be installed via the Univention App Center.<br />
<br />
* The new license is already registered at the LDB after purchase.<br />
* Log on at the Univention Management Console (UMC)<br />
* Make sure, that the correct LDB account has been selected in the UMC module "OX License Management"<br />
* Click on "App Center" at the UMC und switch to the tab "Repository Settings"<br />
* Within the component list, select "Open-Xchange Drive" and press the "Install" button<br />
<br />
== Configuration ==<br />
<br />
The following gives an overview about the most important settings to enable file synchronization via OX Drive, especially when it comes to real-time Push notifications for the apps.<br />
<br />
All settings regarding the OX Drive backend component are located in the configuration file ''drive.properties''. The default configuration should be sufficient for a basic "up-and-running" setup (with the exception of defining the Push certificates and API keys for cloud-based app notifications, see next chapters). Please refer to the inline documentation of the configuration file for more advanced options. <br />
<br />
Most properties located in configuration file ''drive.properties'' are now config-cascade aware. Therefore all settings can be set per user, per contextSet or per context. If there is no configuration per user, per contextSet or per context, the configuration in ''drive.properties'' will still be used as server-wide fallback.<br />
<br />
When installing from scratch, the configuration file ''drive.properties'' is no longer shipped, as the default values are used. For more details, find an overview of configurable settings [https://documentation.open-xchange.com/7.10.5/middleware/administration.html here].<br />
<br />
If no Push certificates and API keys are defined but cloud-based app notifications are enabled, the Push certificates and API keys from package ''open-xchange-drive-restricted'' are used as fallback, if this package is installed.<br />
<br />
=== Push via Firebase Cloud Messaging (FCM) ===<br />
<br />
The OX Drive application for Android devices is able to receive Push notifications from the Open-Xchange Server via [https://firebase.google.com/docs/cloud-messaging/ Firebase Cloud Messaging (FCM)]. To issue those Push messages, the backend needs to be provided with a suitable API key for the corresponding Android app application. The API key is included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" Android app. Alternatively, the key can be specified directly in the ''drive.properties'' configuration file:<br />
<br />
# Specifies the API key of the server application. Required if <br />
# "com.openexchange.drive.events.gcm.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.gcm.key=<br />
<br />
Push via FCM can be enabled via:<br />
<br />
# Enables or disables push event notifications to apps using the Google<br />
# Firebase Cloud Messaging (FCM) service. This requires a valid configuration for the <br />
# FCM API key, see options below. Defaults to "false". <br />
com.openexchange.drive.events.gcm.enabled=true<br />
<br />
Please note that push via FCM needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.<br />
<br />
=== Push via Apple Push Notification service (APNs) ===<br />
<br />
The OX Drive application for iOS and macOS devices is able to receive Push notifications from the Open-Xchange Server via [http://developer.apple.com/library/IOS/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html Apple Push Notification service (APNs)]. To issue those Push messages, the backend needs to be provided with a suitable keystore container file (PKCS #12) containing the APNs certificate and keys. Note that the macOS desktop app and the iOS mobile app are served separately with different certificates, so that both needs to be configured independently. The required certificates are already included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" iOS and macOS applications. Therefore no additional configuration is needed. Alternatively, an external certificate can be specified directly in the ''drive.properties'' configuration file (the following only shows the setup for iOS). First, the path to the PKCS #12 container file needs to be specified at:<br />
<br />
# Specifies the path to the local keystore file (PKCS #12) containing the APNS <br />
# certificate and keys for the iOS application, e.g. <br />
# "/opt/open-xchange/etc/drive-apns.p12". Required if <br />
# "com.openexchange.drive.events.apn.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.apn.ios.keystore=<br />
<br />
This file is opened by the backend using the password as supplied via: <br />
<br />
# Specifies the password used when creating the referenced keystore containing<br />
# the certificate of the iOS application. Note that blank or null passwords <br />
# are in violation of the PKCS #12 specifications. Required if <br />
# "com.openexchange.drive.events.apn.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.apn.ios.password=<br />
<br />
Configuration also allows to switch between development and production environments, however, this setting should be ''true'' normally:<br />
<br />
# Indicates which APNS service is used when sending push notifications to iOS<br />
# devices. A value of "true" will use the production service, a value of <br />
# "false" the sandbox service. Defaults to "true".<br />
com.openexchange.drive.events.apn.ios.production=true<br />
<br />
The OX backend contacts the APNs servers from time to time to get informed about apps no longer reachable apps where the applications was uninstalled. The interval can be defined with the following setting: <br />
<br />
# Configures the interval between queries to the APN feedback service for the<br />
# subscribed iOS devices. The value can be defined using units of measurement: <br />
# "D" (=days), "W" (=weeks) and "H" (=hours). Defaults to "1D" (one day). <br />
# Leaving this parameter empty disables the feedback queries on this node. <br />
# Since each received feedback is processed cluster-wide, only one node in the <br />
# cluster should be enabled here. <br />
com.openexchange.drive.events.apn.ios.feedbackQueryInterval=1D<br />
<br />
Please note that if you have multiple backend nodes in the cluster, it's recommended that only one node is configured to contact the feedback query service. Finally, Push notifications via APN for iOS can be enabled via:<br />
<br />
# Enables or disables push event notifications to apps using the Apple Push<br />
# Notification service (APNS) for macOS devices. This requires a valid <br />
# configuration for the APNS certificate and keys, see either options below, <br />
# or install the restricted components packages for drive. Defaults to <br />
# "false". <br />
com.openexchange.drive.events.apn.ios.enabled=false<br />
<br />
As stated above, configuration for Push notifications via APN for the macOS desktop application is configured similarly, the relevant options are prefixed with ''com.openexchange.drive.events.apn.macos''. Please also note that push via APNS needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.<br />
<br />
=== Further Configuration ===<br />
<br />
* The backend component of OX Drive supplies the apps with various hyperlinks, e.g. deep-links to files and folders in the groupware webinterface or an URL to the online help. In order to point to the suitable web interface, please ensure that the correct UI web path is configured via ''com.openexchange.UIWebPath'' located in ''server.properties''.<br />
* As already mentioned above, the backend relies on the [https://grizzly.java.net/comet.html Comet] component of the Grizzly http connector for sending push notifications to the desktop apps. Therefore, ''com.openexchange.http.grizzly.hasCometEnabled'' needs to be set to ''true'' in ''grizzly.properties''.<br />
<br />
= Enabling OX Drive for Users =<br />
<br />
OX Drive is enabled for all users that have the capability ''com.openexchange.capability.drive''. Please note that users need to have the ''infostore'' permission set to use drive. So the users that have ''drive'' enabled must be a subset of those users with ''infostore'' permission. Since 7.6.0 we enforce this via the default configuration. You can also enable this cabaility globally with the following setting in the ''drive.properties'' configuration file:<br />
<br />
# Enables or disables the "drive" module capability globally. The capability<br />
# can also be set more fine-grained via config cascade. Per default it is only<br />
# enabled for users that have the "infostore" permission set. This is configured<br />
# in /opt/open-xchange/etc/contextSets/drive.yml.<br />
com.openexchange.capability.drive=false<br />
<br />
More details about capabilities can be found at [[AppSuite:Capabilities]]. Furthermore, this capability can be defined in a more granular way using the Config Cascade as described at [[ConfigCascade]].<br />
<br />
= Installation of the Apps =<br />
<br />
== Installation of macOS Desktop App ==<br />
<br />
The OX Drive for macOS is provided via the Mac App Store:<br />
<br />
* https://itunes.apple.com/app/ox-drive/id818195014?mt=12<br />
<br />
=== Enabling the Finder Extension on macOS ===<br />
<br />
In order to be able to open or share documents in the App Suite from Finder you need to enable the Drive Finder Extension.<br />
<br />
How to enable the Drive Finder Extension on macOS:<br />
# Open the System Preferences.<br />
# In the System Preferences window select Extensions.<br />
# In the Extensions window select Finder.<br />
# Enable Drive Finder Extension.<br />
<br />
== Installation of Windows Desktop App ==<br />
<br />
If the necessary packages are installed (See [[AppSuite:OX_Drive#OX_Drive_for_Windows|OX Drive for Windows]]), users can download the app from within the App Suite via "Settings > Connect my Device".<br />
<br />
== Installation of Android and iOS Apps ==<br />
<br />
The OX Drive app is available via the different App Stores:<br />
<br />
* iOS: https://apps.apple.com/de/app/ox-drive-by-open-xchange/id1585939206<br />
* Android: https://play.google.com/store/apps/details?id=com.openexchange.drive.vanilla<br />
<br />
== App Configuration and Deployment ==<br />
<br />
The user needs to enter the App Suite server URL and provide his username and password to log in. More help is available in the online documentation which is accessible from within the apps.<br />
<br />
After the initial synchronization is completed, all subsequent changes are synchronized instantly across all devices.<br />
<br />
'''Note:''' Version v7.10.3 of the OX App Suite introduced optional multifactor authentication, see https://documentation.open-xchange.com/7.10.3/middleware/security_and_encryption/multifactor_authentication.html. <br />
<br />
Not all OX Drive apps support 2-factor verification yet. <br />
<br />
To connect to a server that has multi-factor authentication (MFA) activated with an app that does not support MFA, you can switch on app-specific passwords, see https://documentation.open-xchange.com/7.10.5/middleware/login_and_sessions/application_passwords.html. Users then need to define this password in App Suite under "Settings > Security > Application Passwords" and use it when signing in.<br />
<br />
<br />
<br />
<br />
<!-- = FAQ =<br />
<br />
You will find it under [https://oxpedia.org/wiki/index.php?title=Product_FAQ]. --></div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive&diff=27917AppSuite:OX Drive2023-01-17T13:02:22Z<p>Marco.Tabor: /* App Configuration and Deployment */</p>
<hr />
<div>Source of http://oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive<br />
<br />
<br />
<br />
= OX Drive =<br />
<br />
In OX App Suite, Open-Xchange provides a cloud storage called OX Drive. It provides file- and folder synchronization across multiple devices in the simplest way for the end user, fully optimized for each device type. This article explains how to set up the server-side components for OX Drive, as well as details about the app setup.<br />
<br />
== Key features ==<br />
<br />
* Native Apps for Windows, macOS, iOS and Android<br />
* Easy and attractive upsell properties (e.g. Upsell based on Quota limitations)<br />
* Apps are specially designed for the devices they run on taking into account limitations such as battery life, screen limitations, bandwidth etc.<br />
* Controlled synchronization of files across devices<br />
* Storage management (e.g. quota control, upload limits)<br />
* Connection type recognition and adaptation (e.g. Wi-Fi, cell network)<br />
<br />
== Availability ==<br />
<br />
OX Drive is a combination of two components:<br />
* OX Drive in OX App Suite<br />
* OX Drive Apps (optional native apps for synchronization)<br />
<br />
OX Drive is available as native app for the following operating systems:<br />
* OX Drive for Windows (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive for macOS (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive v2 for iOS (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive v3 for iOS (supported with OX App Suite v7.10.6)<br />
* OX Drive for Android (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
<br />
== Requirements ==<br />
<br />
You will find the requirements under [[AppSuite:OX_System_Requirements#OX_Drive_for_Clients|OX Drive App and Platform Requirements]]<br />
<br />
= Server-side Installation and Configuration =<br />
<br />
This chapter describes how the backend components of OX Drive are installed and configured on the server.<br />
<br />
== Prerequisites ==<br />
<br />
* Open-Xchange Server v7.10.5 and above (''open-xchange-core'')<br />
* Grizzly HTTP connector (''open-xchange-grizzly''), see [[AppSuite:Grizzly]] for details, with ''Comet'' support enabled in ''grizzly.properties''<br />
* Valid Push-Certificates / API keys for cloud-based notifications, see configuration below<br />
* Enabled Hazelcast for inter-OX-communication, see [[AppSuite:Running_a_cluster]] for details<br />
<br />
== Available packages ==<br />
<br />
Open-Xchange Drive is available with the following backend packages:<br />
<br />
* ''open-xchange-drive'' - The main server components for OX Drive<br />
* ''open-xchange-drive-comet'' - Provides the Push interface via long-polling for the desktop apps<br />
* ''open-xchange-drive-help-*'' - Online help in various languages for the OX Drive applications (these were called ''open-xchange-appsuite-help-drive-*'' in versions earlier than Open-Xchange Server v7.6.2)<br />
* ''open-xchange-drive-restricted'' - Restricted components, including prerequisites for cloud-based push notifications<br />
<br />
Installation on the server varies depending on the underlying distribution, details are available in the following chapters.<br />
<br />
=== OX Drive for Windows ===<br />
<br />
Additionally OX Drive for Windows can be provided to users by installing additional packages.<br />
<br />
OX Drive for Windows is able to update itself and can be downloaded from the Web UI directly via the [[AppSuite:Client_Onboarding|App Onboarding Wizard]]. Therefore the wizard must be installed and configured for OX Drive users. Besides the client onboarding feature you need the following packages:<br />
<br />
* ''open-xchange-drive-client-windows'' - The main server component to provide the app<br />
* ''open-xchange-drive-client-windows-generic'' - The package providing the final binary files to be installed on users machines.<br />
<br />
To make the app download available via the app onboarding wizard, you need to enable the according scenario. Edit ''/opt/open-xchange/etc/client-onboarding-scenarios.yml'' and get to the ''drivewindowsclientinstall'' section, where you have to set the ''enabled'' property to ''true''.<br />
<br />
[[File:Drive_Update.png|500px|thumb|left|Drive Update Info]]<br />
<br />
===== Custom branded apps =====<br />
<br />
OX Drive for Windows can be purchased with a custom theming. In such cases, the according binary files need to be installed on the middleware servers. Instead of the ''open-xchange-drive-client-windows-generic'' package, a package containing the branded binaries will be provided as ''open-xchange-drive-client-windows-<brand-name>'' and needs to be installed. You MUST then set the property ''com.openexchange.drive.update.branding'' in ''/opt/open-xchange/etc/drive-client-windows.properties'' to ''<brand-name>'' accordingly.<br />
<br />
It is also possible to provide multiple brands of the app via the same OX App Suite deployment, multiple ''open-xchange-drive-client-windows-<brand-name>'' packages can be installed in parallel. Which brand is available for a certain user is determined by the ''com.openexchange.drive.update.branding'' property, which can be overwritten via [[ConfigCascade|Config Cascade]] therefore.<br />
<br />
App brands can be managed via command line tools. The tool ''/opt/open-xchange/sbin/listdriveclients'' lists all installed brands. After updating a certain brand by installing a newer package version or installing an additional one, no server restart is necessary. Instead ''/opt/open-xchange/sbin/reloaddriveclients'' can be executed to refresh the internal server state.<br />
<br />
<br />
=== Redhat Enterprise Linux 7 or CentOS 7 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange yum configuration:<br />
<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|backend}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|drive-help}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ yum update<br />
$ yum install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
<!-- === Debian GNU/Linux 9.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows --><br />
<br />
=== Debian GNU/Linux 10.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== Debian GNU/Linux 11.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBullseye|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBullseye|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBullseye|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBullseye|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBullseye|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== OX Server Edition / App Suite for UCS ===<br />
<br />
If you have purchased the OX Server Edition / App Suite for UCS, the OX Drive is part of the offering and after the installation/update available. The necessary package for push, is available with a valid license and can be installed via the Univention App Center.<br />
<br />
* The new license is already registered at the LDB after purchase.<br />
* Log on at the Univention Management Console (UMC)<br />
* Make sure, that the correct LDB account has been selected in the UMC module "OX License Management"<br />
* Click on "App Center" at the UMC und switch to the tab "Repository Settings"<br />
* Within the component list, select "Open-Xchange Drive" and press the "Install" button<br />
<br />
== Configuration ==<br />
<br />
The following gives an overview about the most important settings to enable file synchronization via OX Drive, especially when it comes to real-time Push notifications for the apps.<br />
<br />
All settings regarding the OX Drive backend component are located in the configuration file ''drive.properties''. The default configuration should be sufficient for a basic "up-and-running" setup (with the exception of defining the Push certificates and API keys for cloud-based app notifications, see next chapters). Please refer to the inline documentation of the configuration file for more advanced options. <br />
<br />
Most properties located in configuration file ''drive.properties'' are now config-cascade aware. Therefore all settings can be set per user, per contextSet or per context. If there is no configuration per user, per contextSet or per context, the configuration in ''drive.properties'' will still be used as server-wide fallback.<br />
<br />
When installing from scratch, the configuration file ''drive.properties'' is no longer shipped, as the default values are used. For more details, find an overview of configurable settings [https://documentation.open-xchange.com/7.10.5/middleware/administration.html here].<br />
<br />
If no Push certificates and API keys are defined but cloud-based app notifications are enabled, the Push certificates and API keys from package ''open-xchange-drive-restricted'' are used as fallback, if this package is installed.<br />
<br />
=== Push via Firebase Cloud Messaging (FCM) ===<br />
<br />
The OX Drive application for Android devices is able to receive Push notifications from the Open-Xchange Server via [https://firebase.google.com/docs/cloud-messaging/ Firebase Cloud Messaging (FCM)]. To issue those Push messages, the backend needs to be provided with a suitable API key for the corresponding Android app application. The API key is included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" Android app. Alternatively, the key can be specified directly in the ''drive.properties'' configuration file:<br />
<br />
# Specifies the API key of the server application. Required if <br />
# "com.openexchange.drive.events.gcm.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.gcm.key=<br />
<br />
Push via FCM can be enabled via:<br />
<br />
# Enables or disables push event notifications to apps using the Google<br />
# Firebase Cloud Messaging (FCM) service. This requires a valid configuration for the <br />
# FCM API key, see options below. Defaults to "false". <br />
com.openexchange.drive.events.gcm.enabled=true<br />
<br />
Please note that push via FCM needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.<br />
<br />
=== Push via Apple Push Notification service (APNs) ===<br />
<br />
The OX Drive application for iOS and macOS devices is able to receive Push notifications from the Open-Xchange Server via [http://developer.apple.com/library/IOS/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html Apple Push Notification service (APNs)]. To issue those Push messages, the backend needs to be provided with a suitable keystore container file (PKCS #12) containing the APNs certificate and keys. Note that the macOS desktop app and the iOS mobile app are served separately with different certificates, so that both needs to be configured independently. The required certificates are already included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" iOS and macOS applications. Therefore no additional configuration is needed. Alternatively, an external certificate can be specified directly in the ''drive.properties'' configuration file (the following only shows the setup for iOS). First, the path to the PKCS #12 container file needs to be specified at:<br />
<br />
# Specifies the path to the local keystore file (PKCS #12) containing the APNS <br />
# certificate and keys for the iOS application, e.g. <br />
# "/opt/open-xchange/etc/drive-apns.p12". Required if <br />
# "com.openexchange.drive.events.apn.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.apn.ios.keystore=<br />
<br />
This file is opened by the backend using the password as supplied via: <br />
<br />
# Specifies the password used when creating the referenced keystore containing<br />
# the certificate of the iOS application. Note that blank or null passwords <br />
# are in violation of the PKCS #12 specifications. Required if <br />
# "com.openexchange.drive.events.apn.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.apn.ios.password=<br />
<br />
Configuration also allows to switch between development and production environments, however, this setting should be ''true'' normally:<br />
<br />
# Indicates which APNS service is used when sending push notifications to iOS<br />
# devices. A value of "true" will use the production service, a value of <br />
# "false" the sandbox service. Defaults to "true".<br />
com.openexchange.drive.events.apn.ios.production=true<br />
<br />
The OX backend contacts the APNs servers from time to time to get informed about apps no longer reachable apps where the applications was uninstalled. The interval can be defined with the following setting: <br />
<br />
# Configures the interval between queries to the APN feedback service for the<br />
# subscribed iOS devices. The value can be defined using units of measurement: <br />
# "D" (=days), "W" (=weeks) and "H" (=hours). Defaults to "1D" (one day). <br />
# Leaving this parameter empty disables the feedback queries on this node. <br />
# Since each received feedback is processed cluster-wide, only one node in the <br />
# cluster should be enabled here. <br />
com.openexchange.drive.events.apn.ios.feedbackQueryInterval=1D<br />
<br />
Please note that if you have multiple backend nodes in the cluster, it's recommended that only one node is configured to contact the feedback query service. Finally, Push notifications via APN for iOS can be enabled via:<br />
<br />
# Enables or disables push event notifications to apps using the Apple Push<br />
# Notification service (APNS) for macOS devices. This requires a valid <br />
# configuration for the APNS certificate and keys, see either options below, <br />
# or install the restricted components packages for drive. Defaults to <br />
# "false". <br />
com.openexchange.drive.events.apn.ios.enabled=false<br />
<br />
As stated above, configuration for Push notifications via APN for the macOS desktop application is configured similarly, the relevant options are prefixed with ''com.openexchange.drive.events.apn.macos''. Please also note that push via APNS needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.<br />
<br />
=== Further Configuration ===<br />
<br />
* The backend component of OX Drive supplies the apps with various hyperlinks, e.g. deep-links to files and folders in the groupware webinterface or an URL to the online help. In order to point to the suitable web interface, please ensure that the correct UI web path is configured via ''com.openexchange.UIWebPath'' located in ''server.properties''.<br />
* As already mentioned above, the backend relies on the [https://grizzly.java.net/comet.html Comet] component of the Grizzly http connector for sending push notifications to the desktop apps. Therefore, ''com.openexchange.http.grizzly.hasCometEnabled'' needs to be set to ''true'' in ''grizzly.properties''.<br />
<br />
= Enabling OX Drive for Users =<br />
<br />
OX Drive is enabled for all users that have the capability ''com.openexchange.capability.drive''. Please note that users need to have the ''infostore'' permission set to use drive. So the users that have ''drive'' enabled must be a subset of those users with ''infostore'' permission. Since 7.6.0 we enforce this via the default configuration. You can also enable this cabaility globally with the following setting in the ''drive.properties'' configuration file:<br />
<br />
# Enables or disables the "drive" module capability globally. The capability<br />
# can also be set more fine-grained via config cascade. Per default it is only<br />
# enabled for users that have the "infostore" permission set. This is configured<br />
# in /opt/open-xchange/etc/contextSets/drive.yml.<br />
com.openexchange.capability.drive=false<br />
<br />
More details about capabilities can be found at [[AppSuite:Capabilities]]. Furthermore, this capability can be defined in a more granular way using the Config Cascade as described at [[ConfigCascade]].<br />
<br />
= Installation of the Apps =<br />
<br />
== Installation of macOS Desktop App ==<br />
<br />
The OX Drive for macOS is provided via the Mac App Store:<br />
<br />
* https://itunes.apple.com/app/ox-drive/id818195014?mt=12<br />
<br />
=== Enabling the Finder Extension on macOS ===<br />
<br />
In order to be able to open or share documents in the App Suite from Finder you need to enable the Drive Finder Extension.<br />
<br />
How to enable the Drive Finder Extension on macOS:<br />
# Open the System Preferences.<br />
# In the System Preferences window select Extensions.<br />
# In the Extensions window select Finder.<br />
# Enable Drive Finder Extension.<br />
<br />
== Installation of Windows Desktop App ==<br />
<br />
If the necessary packages are installed (See [[AppSuite:OX_Drive#OX_Drive_for_Windows|OX Drive for Windows]]), users can download the app from within the App Suite via "Settings > Connect my Device".<br />
<br />
== Installation of Android and iOS Apps ==<br />
<br />
The OX Drive app is available via the different App Stores:<br />
<br />
* iOS: https://apps.apple.com/de/app/ox-drive-by-open-xchange/id1585939206<br />
* Android: https://play.google.com/store/apps/details?id=com.openexchange.drive.vanilla<br />
<br />
== App Configuration and Deployment ==<br />
<br />
The user needs to enter the App Suite server URL and provide his username and password to log in. More help is available in the online documentation which is accessible from within the apps.<br />
<br />
After the initial synchronization is completed, all subsequent changes are synchronized instantly across all devices.<br />
<br />
'''Note:''' Version v7.10.3 of the OX App Suite introduced optional multifactor authentication, see https://documentation.open-xchange.com/7.10.3/middleware/security_and_encryption/multifactor_authentication.html. <br />
<br />
To allow the apps to connect to a server that has multi-factor authentication activated, you can switch on app-specific passwords, see https://documentation.open-xchange.com/7.10.5/middleware/login_and_sessions/application_passwords.html. Then users need to define this password in App Suite under "Settings > Security > Application Passwords" and use it when signing in.<br />
<br />
Not all OX Drive apps support 2-factor verification yet.<br />
<br />
<br />
<!-- = FAQ =<br />
<br />
You will find it under [https://oxpedia.org/wiki/index.php?title=Product_FAQ]. --></div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=AppSuite:OX_System_Requirements&diff=27638AppSuite:OX System Requirements2022-09-16T11:35:52Z<p>Marco.Tabor: /* OX Drive Clients */ Updated minimum requirements for Android client (Android 9)</p>
<hr />
<div>= OX App Suite Requirements - Open-Xchange supported components overview =<br />
<br />
The following table provides an overview about the supported components of OX App Suite and further products. This overview makes no claim to be complete.<br />
<br />
Information about Maintenance expiries of components, versions and browser support, can be found in the [[AppSuite:Versioning_and_Numbering#Maintenance_expires|Maintenance Expires Table]]<br />
<br />
== Hardware Requirements ==<br />
<br />
=== General Assumptions ===<br />
<br />
Open-Xchange App Suite Server (middleware services) is designed to run on physical servers or virtual machines of the same flavor. Cloud environments might be used in terms of Infrastructure as a Service (IaaS), meaning that all components need to be deployed in a classical manner on virtual machines.<br />
<br />
This means in particular, but not only:<br />
<br />
* Infrastructure is supposed to be "quasi-static". Automatic replacement of broken nodes is fine as long as this is always an exceptional case. Scaling out or reducing number of nodes must always be a conscious task and closely monitored.<br />
* The only supported "Database as a service" solution is AWS RDS for MariaDB as defined by belows compatibility table.<br />
<br />
Especially we expect the virtual hardware to be not over-provisioned. Each VM must have dedicated resources with respect to CPU cores, RAM, IOPS, storage, network bandwidth, network latency, etc.<br />
<br />
Network is expected to be flat, inside one datacenter, no multi-datacenter, no segments. No packet loss, low latency.<br />
<br />
'''Disclaimer: All recommendations below are without guarantee and can differ for specific deployments. For mid- and large-scale setups a detailed deployment planning and sizing tests are mandatory and should be agreed on with OX Professional Services.'''<br />
<br />
=== High Level Design / OS setup ===<br />
<br />
Operate services separately (USM, Document/Image Converters) as described in [https://oxpedia.org/wiki/index.php?title=AppSuite:Running_a_cluster Cluster Setup].<br />
<br />
Clocks between all nodes must be synchronized (e.g. via NTP).<br />
<br />
Open file/max process limits need to be adjusted properly. Based on the used Linux distribution and init system configuration will differ, see Resource Limits for further explanation.<br />
<br />
Platform Architecture: 64 bit versions (x84_64) of the supported [[#Software Requirements | Linux distributions]]<br />
<br />
=== Node Sizing ===<br />
<br />
==== OX App Suite Middleware ====<br />
<br />
* Max. 8 GB heap per JVM + 4 GB system memory for other daemons and the OS (buffers, caches)<br />
* 4 CPU cores (virtual, physical or hyperthreads) for plain HTTP connections. If TLS is terminated on application nodes this might need to be doubled.<br />
* Disk space<br />
** 8 GB for OS and software<br />
** Some services like Document Converter need SWAP partitions (~1 * RAM)<br />
** 2 * system memory of free disk space (i.e. 12 GB RAM => 24 GB free disk space) for file spooling, log files, heap and core dumps<br />
<br />
=== Untested/Unsupported Deployments ===<br />
<br />
* Changes to Garbage Collector settings<br />
* Running in containerized environments (Docker, rkt)<br />
* Elasticity/High velocity of nodes going up and down: Services are sometimes stateful and demand static configuration<br />
* Cloud platform services (PaaS) that promise to replacements for certain supported technologies but have not been verified by OX for these regards<br />
* Multi-site active-active<br />
<br />
== Software Requirements ==<br />
<br />
=== Linux Distributions ===<br />
<br />
OX App Suite is available as Linux packages for the following distributions:<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Distribution'''<br />
|'''Versions'''<br />
|'''Remarks'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Red Hat Enterprise Linux<br />
|7<br />
|<br />
|-<br />
|CentOS<br />
|7<br />
|Install from RHEL package repositories<br />
|-<br />
|Debian<br />
|10 (Buster), 11 (Bullseye)<br />
|<br />
|-<br />
|Univention Corporate Server<br />
|4.4, 5.0<br />
|<br />
|-<br />
|Amazon Linux<br />
|2<br />
|Discontinued Support with end of life of OX App Suite v7.10.5<br />
|-<br />
|}<br />
<br />
=== Java ===<br />
<br />
OX App Suite Middleware requires OpenJDK headless JRE 8 or 9. Linux distributions might offer only packages for OpenJDK 11 JRE or higher, which are not suitable for OX App Suite. It is in those cases required to install Eclipse Temurin 8 JRE with HotSpot VM (successor of Adoptium). A comprehensive installation guide can be found at https://adoptium.net/de/installation/linux/. The correct JRE package is '''temurin-8-jdk'''.<br />
<br />
=== Databases ===<br />
<br />
OX App Suite uses MySQL/MariaDB with the InnoDB storage engine as its primary data store. The following vendors and products are supported.<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Vendor'''<br />
|'''Product'''<br />
|'''Versions'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Oracle<br />
|MySQL Community Edition, Standard Edition, Enterprise Edition<br />
|v5.6.x, v5.7.x<br />
|-<br />
|MariaDB<br />
|MariaDB Server, Galera Cluster<br />
|v10.1.x, v10.2.x, v10.4.x, v10.5.x.<br />
|-<br />
|Amazon<br />
|AWS RDS for MariaDB<br />
|10.2.x<br>Discontinued Support with end of life of OX App Suite v7.10.5<br />
|-<br />
|}<br />
<br />
==== Important Notes ====<br />
<br />
* Open-Xchange does not plan to support '''MySQL 8 or higher'''. As MariaDB and MySQL are diverging and cannot be assumed drop-in replacements anymore, Open-Xchange will focus on MariaDB Server and MariaDB Galera Cluster. Future App Suite releases '''> 7.10.x''' might rely on features only available in '''MariaDB'''.<br />
* Open-Xchange supports '''Percona XtraDB Cluster''' for existing customers with initial deployments done using '''App Suite 7.8.x or earlier'''. Those customers can continue to use Percona XtraDB Cluster throughout the 7.10.x release series. Like for MySQL, 7.10.x supports only versions 5.6 and 5.7. It is not planned to support Percona XtraDB Cluster beyond 7.10.x.<br />
<br />
* For some Linux distributions the included MySQL/MariaDB packages are too old to be used with App Suite. It is mandatory then to install a supported version from '''upstream package sources'''. Possible sources are the official vendor repositories of MySQL or MariaDB as well as for example Red Hat Software Collections.<br />
* Required '''MySQL/MariaDB configuration''' configuration differs between '''App Suite 7.8.4 and 7.10.x''' and also between the different database systems in terms of SQL modes. See [[My.cnf]] for details.<br />
* For upgrades from App Suite <= 7.8.2 to >= 7.10.0 a comprehensive '''database upgrade guide''' exists: [[AppSuite:7_10_Database_Migration]]<br />
<br />
== HTTP Reverse Proxy ==<br />
<br />
An HTTP server with reverse proxy and load balancing capabilities is required in front of App Suite application servers. TLS termination, virtual hosts, path-based routing, sticky sessions and X-Forwarded headers are typical required features. OX strongly recommends [https://httpd.apache.org/ Apache httpd 2.x] for that. Configuration examples can be found in the quickinstall guides.<br />
<br />
'''Important:''' For websocket support Apache httpd 2.4.x is needed, 2.2.x does not support the required ws_tunnel module. Websockets are mandatory for OX Documents starting with v7.10.3. Like with JRE and MySQL/MariaDB it might be necessary to use 3rd party packages to get the needed Linux packages. Especially for RHEL6 we recommend using Red Hat Software Collections.<br />
<br />
== Webserver ==<br />
<br />
[https://httpd.apache.org/ Apache httpd 2.x] is required as webserver to serve static App Suite UI content. Configuration examples can be found in the quickinstall guides.<br />
<br />
== File Storage ==<br />
<br />
=== Temporary Data ===<br />
<br />
OX App Suite stores temporary files in the local file system, e.g. for spooling of uploaded data. Any file system supported by the installed JRE is suitable.<br />
<br />
=== Persistent Data ===<br />
<br />
Persistent data like OX Drive files, PIM attachments etc. and temporary attachment data need to be stored in a distributed file system as registered filestore that is available from all server nodes. For single-node setups a local file system mount point can be used, small to mid-scale setups can be powered by NFS. For large-scale setups object storages should be considered.<br />
<br />
==== Object Storages ====<br />
<br />
OX App Suite ships with different optional adapters to support object storages.<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Vendor'''<br />
|'''Product'''<br />
|'''API'''<br />
|'''Remarks'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Amazon<br />
|AWS S3<br />
|S3 HTTP API<br />
|See also [[AppSuite:S3_File_Store]]<br />
|-<br />
|CEPH<br />
|RadosGW<br />
|S3 HTTP API<br />
|See also [[AppSuite:S3_File_Store]]<br />
|-<br />
|Scality<br />
|Scality RING<br />
|Sproxyd HTTP API<br />
|See also [[AppSuite:Scality_File_Store]]<br />
|-<br />
|}<br />
<br />
== Desktop Browser (Minimum display resolution: 1024 x 768)==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Google Chrome (latest & previous version)<br />
|v7.10.6<br />
|-<br />
|Mozilla Firefox (latest & current ESR-Version)<br />
|v7.10.6<br />
|-<br />
|Apple Safari (latest & previous version; macOS only)<br />
|v7.10.6<br />
|-<br />
|Microsoft Edge (Chromium-based)<br />
|v7.10.6<br />
|-<br />
|Microsoft Internet Explorer 10/11<br />
|v7.6.3<br />
|-<br />
|}<br />
<br />
== Mobile Device Support==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Mobile Device'''<br />
|'''Supported Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|'''Minimum Speed Requirements'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|iPhone on iOS 15 / iOS 16 / iPad OS<br />
|Safari<br />
|v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|-<br />
|Smartphone on Android 4.1 or later<br />
|Chrome (latest & previous version)<br />
|v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|}<br />
<br />
== Tablet Support==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Tablet'''<br />
|'''Supported Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|'''Minimum Speed Requirements'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iPad (all devices) on iOS 15 / iOS 16 / iPad OS<br />
|Safari<br />
|v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|-<br />
|Tablets on Android 4.1 or later<br />
|Chrome (latest & previous version)<br />
|v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|}<br />
<br />
== Calendar/Contact synchronization Apple macOS ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|Calendar synchronization with CalDAV<br />
|Contacts synchronization with CardDAV<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|macOS 11.0 (Big Sur)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|macOS 12.0 (Monterey)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== Calendar/Contact synchronization Apple iOS ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|Calendar synchronization with CalDAV<br />
|Contacts synchronization with CardDAV<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iOS 15 / iOS 16 / iPad OS<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== Mobility Solution - Supported- Platforms, Features and Devices ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Feature/Technology/Device'''<br />
|[http://oxpedia.org/wiki/index.php?title=OXtender_for_Business_Mobility '''OXtender for Business Mobility'''] (availalble for App Suite, OXHE, OXSE)<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Exchange Active Sync 2.5<br />
|[[File:check.gif]]<br />
|-<br />
|Exchange Active Sync 12.1<br />
|[[File:check.gif]]<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Access and creation of emails<br />
|[[File:check.gif]]<br />
|-<br />
|Personal PIM folder<br />
|[[File:check.gif]] <br />
|-<br />
|Public and Shared PIM folder<br />
|[[File:cross.gif]]<br />
|-<br />
|Global address book<br />
|[[File:check.gif]] <br />
|-<br />
|Push E-Mail<br />
|[[File:check.gif]] <br />
|-<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iOS 15 / iOS 16 / iPad OS<br />
|[[File:check.gif]]<br />
|-<br />
|Android 8 (Oreo) or later with latest Gmail app.<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== OX Drive Clients ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX Drive for Windows<br />
|OX App Suite 7.10.6<br>Latest versions of Windows 10 and above (no support for Windows RT and emulators)<br />
|-<br />
|OX Drive for Apple macOS<br />
|OX App Suite 7.10.6<br>macOS Big Sur 11, macOS Monterey 12, Intel- and Apple Silicon-based devices are both supported<br />
|-<br />
|OX Drive v2 for Apple iOS<br />
|OX App Suite 7.10.6<br>iOS / iPadOS 14 and above<br />
|-<br />
|OX Drive v3 for Apple iOS<br />
|OX App Suite 7.10.6<br>iOS / iPadOS 15 and above<br />
|-<br />
|OX Drive for Android<br />
|OX App Suite 7.10.6<br>Smartphones and tablets running Android 9.0 (API level 28) and above<br />
|-<br />
|}<br />
<br />
== OX Sync App ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform / User Interface'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX App Suite 7.10.6<br />
|-<br />
|OX Sync App for Android<br />
|Smartphone on Android 5.0 or later<br />
|-<br />
|}<br />
<br />
== OX Guard ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform / User Interface'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX Guard since v2.10.6: OX App Suite v7.10.6<br />
|-<br />
|Mobile Device and Tablet Support<br />
|Apple iPhone on iOS 15 / iOS 16 / iPad OS: Safari (latest version & previous version)<br>Smartphone on Android 4.1 or later: Chrome (latest & previous version)<br>Apple iPad (all devices) on iOS 15 / iOS 16 / iPad OS: Safari Safari (latest version & previous version)<br>Tablets on Android 4.1 or later: Chrome (latest & previous version)<br />
|-<br />
|}<br />
<br />
<br />
[[Category: OX7]]<br />
[[Category: AppSuite]]</div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=AppSuite:OX_System_Requirements&diff=27608AppSuite:OX System Requirements2022-09-13T07:47:32Z<p>Marco.Tabor: /* OX Drive Clients */</p>
<hr />
<div>= OX App Suite Requirements - Open-Xchange supported components overview =<br />
<br />
The following table provides an overview about the supported components of OX App Suite and further products. This overview makes no claim to be complete.<br />
<br />
Information about Maintenance expiries of components, versions and browser support, can be found in the [[AppSuite:Versioning_and_Numbering#Maintenance_expires|Maintenance Expires Table]]<br />
<br />
== Hardware Requirements ==<br />
<br />
=== General Assumptions ===<br />
<br />
Open-Xchange App Suite Server (middleware services) is designed to run on physical servers or virtual machines of the same flavor. Cloud environments might be used in terms of Infrastructure as a Service (IaaS), meaning that all components need to be deployed in a classical manner on virtual machines.<br />
<br />
This means in particular, but not only:<br />
<br />
* Infrastructure is supposed to be "quasi-static". Automatic replacement of broken nodes is fine as long as this is always an exceptional case. Scaling out or reducing number of nodes must always be a conscious task and closely monitored.<br />
* The only supported "Database as a service" solution is AWS RDS for MariaDB as defined by belows compatibility table.<br />
<br />
Especially we expect the virtual hardware to be not over-provisioned. Each VM must have dedicated resources with respect to CPU cores, RAM, IOPS, storage, network bandwidth, network latency, etc.<br />
<br />
Network is expected to be flat, inside one datacenter, no multi-datacenter, no segments. No packet loss, low latency.<br />
<br />
'''Disclaimer: All recommendations below are without guarantee and can differ for specific deployments. For mid- and large-scale setups a detailed deployment planning and sizing tests are mandatory and should be agreed on with OX Professional Services.'''<br />
<br />
=== High Level Design / OS setup ===<br />
<br />
Operate services separately (USM, Document/Image Converters) as described in [https://oxpedia.org/wiki/index.php?title=AppSuite:Running_a_cluster Cluster Setup].<br />
<br />
Clocks between all nodes must be synchronized (e.g. via NTP).<br />
<br />
Open file/max process limits need to be adjusted properly. Based on the used Linux distribution and init system configuration will differ, see Resource Limits for further explanation.<br />
<br />
Platform Architecture: 64 bit versions (x84_64) of the supported [[#Software Requirements | Linux distributions]]<br />
<br />
=== Node Sizing ===<br />
<br />
==== OX App Suite Middleware ====<br />
<br />
* Max. 8 GB heap per JVM + 4 GB system memory for other daemons and the OS (buffers, caches)<br />
* 4 CPU cores (virtual, physical or hyperthreads) for plain HTTP connections. If TLS is terminated on application nodes this might need to be doubled.<br />
* Disk space<br />
** 8 GB for OS and software<br />
** Some services like Document Converter need SWAP partitions (~1 * RAM)<br />
** 2 * system memory of free disk space (i.e. 12 GB RAM => 24 GB free disk space) for file spooling, log files, heap and core dumps<br />
<br />
=== Untested/Unsupported Deployments ===<br />
<br />
* Changes to Garbage Collector settings<br />
* Running in containerized environments (Docker, rkt)<br />
* Elasticity/High velocity of nodes going up and down: Services are sometimes stateful and demand static configuration<br />
* Cloud platform services (PaaS) that promise to replacements for certain supported technologies but have not been verified by OX for these regards<br />
* Multi-site active-active<br />
<br />
== Software Requirements ==<br />
<br />
=== Linux Distributions ===<br />
<br />
OX App Suite is available as Linux packages for the following distributions:<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Distribution'''<br />
|'''Versions'''<br />
|'''Remarks'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Red Hat Enterprise Linux<br />
|7<br />
|<br />
|-<br />
|CentOS<br />
|7<br />
|Install from RHEL package repositories<br />
|-<br />
|Debian<br />
|10 (Buster), 11 (Bullseye)<br />
|<br />
|-<br />
|Univention Corporate Server<br />
|4.4, 5.0<br />
|<br />
|-<br />
|Amazon Linux<br />
|2<br />
|Discontinued Support with end of life of OX App Suite v7.10.5<br />
|-<br />
|}<br />
<br />
=== Java ===<br />
<br />
OX App Suite Middleware requires OpenJDK headless JRE 8 or 9. Linux distributions might offer only packages for OpenJDK 11 JRE or higher, which are not suitable for OX App Suite. It is in those cases required to install Eclipse Temurin 8 JRE with HotSpot VM (successor of Adoptium). A comprehensive installation guide can be found at https://adoptium.net/de/installation/linux/. The correct JRE package is '''temurin-8-jdk'''.<br />
<br />
=== Databases ===<br />
<br />
OX App Suite uses MySQL/MariaDB with the InnoDB storage engine as its primary data store. The following vendors and products are supported.<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Vendor'''<br />
|'''Product'''<br />
|'''Versions'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Oracle<br />
|MySQL Community Edition, Standard Edition, Enterprise Edition<br />
|v5.6.x, v5.7.x<br />
|-<br />
|MariaDB<br />
|MariaDB Server, Galera Cluster<br />
|v10.1.x, v10.2.x, v10.4.x, v10.5.x.<br />
|-<br />
|Amazon<br />
|AWS RDS for MariaDB<br />
|10.2.x<br>Discontinued Support with end of life of OX App Suite v7.10.5<br />
|-<br />
|}<br />
<br />
==== Important Notes ====<br />
<br />
* Open-Xchange does not plan to support '''MySQL 8 or higher'''. As MariaDB and MySQL are diverging and cannot be assumed drop-in replacements anymore, Open-Xchange will focus on MariaDB Server and MariaDB Galera Cluster. Future App Suite releases '''> 7.10.x''' might rely on features only available in '''MariaDB'''.<br />
* Open-Xchange supports '''Percona XtraDB Cluster''' for existing customers with initial deployments done using '''App Suite 7.8.x or earlier'''. Those customers can continue to use Percona XtraDB Cluster throughout the 7.10.x release series. Like for MySQL, 7.10.x supports only versions 5.6 and 5.7. It is not planned to support Percona XtraDB Cluster beyond 7.10.x.<br />
<br />
* For some Linux distributions the included MySQL/MariaDB packages are too old to be used with App Suite. It is mandatory then to install a supported version from '''upstream package sources'''. Possible sources are the official vendor repositories of MySQL or MariaDB as well as for example Red Hat Software Collections.<br />
* Required '''MySQL/MariaDB configuration''' configuration differs between '''App Suite 7.8.4 and 7.10.x''' and also between the different database systems in terms of SQL modes. See [[My.cnf]] for details.<br />
* For upgrades from App Suite <= 7.8.2 to >= 7.10.0 a comprehensive '''database upgrade guide''' exists: [[AppSuite:7_10_Database_Migration]]<br />
<br />
== HTTP Reverse Proxy ==<br />
<br />
An HTTP server with reverse proxy and load balancing capabilities is required in front of App Suite application servers. TLS termination, virtual hosts, path-based routing, sticky sessions and X-Forwarded headers are typical required features. OX strongly recommends [https://httpd.apache.org/ Apache httpd 2.x] for that. Configuration examples can be found in the quickinstall guides.<br />
<br />
'''Important:''' For websocket support Apache httpd 2.4.x is needed, 2.2.x does not support the required ws_tunnel module. Websockets are mandatory for OX Documents starting with v7.10.3. Like with JRE and MySQL/MariaDB it might be necessary to use 3rd party packages to get the needed Linux packages. Especially for RHEL6 we recommend using Red Hat Software Collections.<br />
<br />
== Webserver ==<br />
<br />
[https://httpd.apache.org/ Apache httpd 2.x] is required as webserver to serve static App Suite UI content. Configuration examples can be found in the quickinstall guides.<br />
<br />
== File Storage ==<br />
<br />
=== Temporary Data ===<br />
<br />
OX App Suite stores temporary files in the local file system, e.g. for spooling of uploaded data. Any file system supported by the installed JRE is suitable.<br />
<br />
=== Persistent Data ===<br />
<br />
Persistent data like OX Drive files, PIM attachments etc. and temporary attachment data need to be stored in a distributed file system as registered filestore that is available from all server nodes. For single-node setups a local file system mount point can be used, small to mid-scale setups can be powered by NFS. For large-scale setups object storages should be considered.<br />
<br />
==== Object Storages ====<br />
<br />
OX App Suite ships with different optional adapters to support object storages.<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Vendor'''<br />
|'''Product'''<br />
|'''API'''<br />
|'''Remarks'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Amazon<br />
|AWS S3<br />
|S3 HTTP API<br />
|See also [[AppSuite:S3_File_Store]]<br />
|-<br />
|CEPH<br />
|RadosGW<br />
|S3 HTTP API<br />
|See also [[AppSuite:S3_File_Store]]<br />
|-<br />
|Scality<br />
|Scality RING<br />
|Sproxyd HTTP API<br />
|See also [[AppSuite:Scality_File_Store]]<br />
|-<br />
|}<br />
<br />
== Desktop Browser (Minimum display resolution: 1024 x 768)==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Google Chrome (latest & previous version)<br />
|v7.10.5, v7.10.6<br />
|-<br />
|Mozilla Firefox (latest & current ESR-Version)<br />
|v7.10.5, v7.10.6<br />
|-<br />
|Apple Safari (latest & previous version; macOS only)<br />
|v7.10.5, v7.10.6<br />
|-<br />
|Microsoft Edge (Chromium-based)<br />
|v7.10.5, v7.10.6<br />
|-<br />
|Microsoft Internet Explorer 10/11<br />
|v7.6.3<br />
|-<br />
|}<br />
<br />
== Mobile Device Support==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Mobile Device'''<br />
|'''Supported Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|'''Minimum Speed Requirements'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|iPhone on iOS 15 / iOS 16 / iPad OS<br />
|Safari<br />
|v7.10.5, v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|-<br />
|Smartphone on Android 4.1 or later<br />
|Chrome (latest & previous version)<br />
|v7.10.5, v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|}<br />
<br />
== Tablet Support==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Tablet'''<br />
|'''Supported Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|'''Minimum Speed Requirements'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iPad (all devices) on iOS 15 / iOS 16 / iPad OS<br />
|Safari<br />
|v7.10.5, v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|-<br />
|Tablets on Android 4.1 or later<br />
|Chrome (latest & previous version)<br />
|v7.10.5, v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|}<br />
<br />
== Calendar/Contact synchronization Apple macOS ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|Calendar synchronization with CalDAV<br />
|Contacts synchronization with CardDAV<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|macOS 11.0 (Big Sur)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|macOS 12.0 (Monterey)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== Calendar/Contact synchronization Apple iOS ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|Calendar synchronization with CalDAV<br />
|Contacts synchronization with CardDAV<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iOS 14 / iOS 15 / iPad OS<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== Mobility Solution - Supported- Platforms, Features and Devices ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Feature/Technology/Device'''<br />
|[http://oxpedia.org/wiki/index.php?title=OXtender_for_Business_Mobility '''OXtender for Business Mobility'''] (availalble for App Suite, OXHE, OXSE)<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Exchange Active Sync 2.5<br />
|[[File:check.gif]]<br />
|-<br />
|Exchange Active Sync 12.1<br />
|[[File:check.gif]]<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Access and creation of emails<br />
|[[File:check.gif]]<br />
|-<br />
|Personal PIM folder<br />
|[[File:check.gif]] <br />
|-<br />
|Public and Shared PIM folder<br />
|[[File:cross.gif]]<br />
|-<br />
|Global address book<br />
|[[File:check.gif]] <br />
|-<br />
|Push E-Mail<br />
|[[File:check.gif]] <br />
|-<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iOS 14 / iOS 15 / iPad OS<br />
|[[File:check.gif]]<br />
|-<br />
|Android 8 (Oreo) or later with latest Gmail app.<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== OX Drive Clients ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX Drive for Windows<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br>Latest versions of Windows 10 and above (no support for Windows RT and emulators)<br />
|-<br />
|OX Drive for Apple macOS<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br>macOS Big Sur 11, macOS Monterey 12, Intel- and Apple Silicon-based devices are both supported<br />
|-<br />
|OX Drive v2 for Apple iOS<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br>iOS / iPadOS 14 and above<br />
|-<br />
|OX Drive v3 for Apple iOS<br />
|OX App Suite 7.10.6<br>iOS / iPadOS 15 and above<br />
|-<br />
|OX Drive for Android<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br>Smartphones and tablets running Android 7.0 (API level 24) and above<br />
|-<br />
|}<br />
<br />
== OX Sync App ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform / User Interface'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br />
|-<br />
|OX Sync App for Android<br />
|Smartphone on Android 5.0 or later<br />
|-<br />
|}<br />
<br />
== OX Guard ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform / User Interface'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX Guard since v2.10.5: OX App Suite v7.10.5<br>OX Guard since v2.10.6: OX App Suite v7.10.6<br />
|-<br />
|Mobile Device and Tablet Support<br />
|Apple iPhone on iOS 14 / iOS 15 / iPad OS: Safari (latest version & previous version)<br>Smartphone on Android 4.1 or later: Chrome (latest & previous version)<br>Apple iPad (all devices) on iOS 14 / iOS 15 / iPad OS: Safari Safari (latest version & previous version)<br>Tablets on Android 4.1 or later: Chrome (latest & previous version)<br />
|-<br />
|}<br />
<br />
<br />
[[Category: OX7]]<br />
[[Category: AppSuite]]</div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=AppSuite:OX_System_Requirements&diff=27605AppSuite:OX System Requirements2022-09-13T07:47:05Z<p>Marco.Tabor: /* OX Drive Clients */ mentioned Windows 11 support of Drive clients and clarified remark about missing emulator support</p>
<hr />
<div>= OX App Suite Requirements - Open-Xchange supported components overview =<br />
<br />
The following table provides an overview about the supported components of OX App Suite and further products. This overview makes no claim to be complete.<br />
<br />
Information about Maintenance expiries of components, versions and browser support, can be found in the [[AppSuite:Versioning_and_Numbering#Maintenance_expires|Maintenance Expires Table]]<br />
<br />
== Hardware Requirements ==<br />
<br />
=== General Assumptions ===<br />
<br />
Open-Xchange App Suite Server (middleware services) is designed to run on physical servers or virtual machines of the same flavor. Cloud environments might be used in terms of Infrastructure as a Service (IaaS), meaning that all components need to be deployed in a classical manner on virtual machines.<br />
<br />
This means in particular, but not only:<br />
<br />
* Infrastructure is supposed to be "quasi-static". Automatic replacement of broken nodes is fine as long as this is always an exceptional case. Scaling out or reducing number of nodes must always be a conscious task and closely monitored.<br />
* The only supported "Database as a service" solution is AWS RDS for MariaDB as defined by belows compatibility table.<br />
<br />
Especially we expect the virtual hardware to be not over-provisioned. Each VM must have dedicated resources with respect to CPU cores, RAM, IOPS, storage, network bandwidth, network latency, etc.<br />
<br />
Network is expected to be flat, inside one datacenter, no multi-datacenter, no segments. No packet loss, low latency.<br />
<br />
'''Disclaimer: All recommendations below are without guarantee and can differ for specific deployments. For mid- and large-scale setups a detailed deployment planning and sizing tests are mandatory and should be agreed on with OX Professional Services.'''<br />
<br />
=== High Level Design / OS setup ===<br />
<br />
Operate services separately (USM, Document/Image Converters) as described in [https://oxpedia.org/wiki/index.php?title=AppSuite:Running_a_cluster Cluster Setup].<br />
<br />
Clocks between all nodes must be synchronized (e.g. via NTP).<br />
<br />
Open file/max process limits need to be adjusted properly. Based on the used Linux distribution and init system configuration will differ, see Resource Limits for further explanation.<br />
<br />
Platform Architecture: 64 bit versions (x84_64) of the supported [[#Software Requirements | Linux distributions]]<br />
<br />
=== Node Sizing ===<br />
<br />
==== OX App Suite Middleware ====<br />
<br />
* Max. 8 GB heap per JVM + 4 GB system memory for other daemons and the OS (buffers, caches)<br />
* 4 CPU cores (virtual, physical or hyperthreads) for plain HTTP connections. If TLS is terminated on application nodes this might need to be doubled.<br />
* Disk space<br />
** 8 GB for OS and software<br />
** Some services like Document Converter need SWAP partitions (~1 * RAM)<br />
** 2 * system memory of free disk space (i.e. 12 GB RAM => 24 GB free disk space) for file spooling, log files, heap and core dumps<br />
<br />
=== Untested/Unsupported Deployments ===<br />
<br />
* Changes to Garbage Collector settings<br />
* Running in containerized environments (Docker, rkt)<br />
* Elasticity/High velocity of nodes going up and down: Services are sometimes stateful and demand static configuration<br />
* Cloud platform services (PaaS) that promise to replacements for certain supported technologies but have not been verified by OX for these regards<br />
* Multi-site active-active<br />
<br />
== Software Requirements ==<br />
<br />
=== Linux Distributions ===<br />
<br />
OX App Suite is available as Linux packages for the following distributions:<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Distribution'''<br />
|'''Versions'''<br />
|'''Remarks'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Red Hat Enterprise Linux<br />
|7<br />
|<br />
|-<br />
|CentOS<br />
|7<br />
|Install from RHEL package repositories<br />
|-<br />
|Debian<br />
|10 (Buster), 11 (Bullseye)<br />
|<br />
|-<br />
|Univention Corporate Server<br />
|4.4, 5.0<br />
|<br />
|-<br />
|Amazon Linux<br />
|2<br />
|Discontinued Support with end of life of OX App Suite v7.10.5<br />
|-<br />
|}<br />
<br />
=== Java ===<br />
<br />
OX App Suite Middleware requires OpenJDK headless JRE 8 or 9. Linux distributions might offer only packages for OpenJDK 11 JRE or higher, which are not suitable for OX App Suite. It is in those cases required to install Eclipse Temurin 8 JRE with HotSpot VM (successor of Adoptium). A comprehensive installation guide can be found at https://adoptium.net/de/installation/linux/. The correct JRE package is '''temurin-8-jdk'''.<br />
<br />
=== Databases ===<br />
<br />
OX App Suite uses MySQL/MariaDB with the InnoDB storage engine as its primary data store. The following vendors and products are supported.<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Vendor'''<br />
|'''Product'''<br />
|'''Versions'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Oracle<br />
|MySQL Community Edition, Standard Edition, Enterprise Edition<br />
|v5.6.x, v5.7.x<br />
|-<br />
|MariaDB<br />
|MariaDB Server, Galera Cluster<br />
|v10.1.x, v10.2.x, v10.4.x, v10.5.x.<br />
|-<br />
|Amazon<br />
|AWS RDS for MariaDB<br />
|10.2.x<br>Discontinued Support with end of life of OX App Suite v7.10.5<br />
|-<br />
|}<br />
<br />
==== Important Notes ====<br />
<br />
* Open-Xchange does not plan to support '''MySQL 8 or higher'''. As MariaDB and MySQL are diverging and cannot be assumed drop-in replacements anymore, Open-Xchange will focus on MariaDB Server and MariaDB Galera Cluster. Future App Suite releases '''> 7.10.x''' might rely on features only available in '''MariaDB'''.<br />
* Open-Xchange supports '''Percona XtraDB Cluster''' for existing customers with initial deployments done using '''App Suite 7.8.x or earlier'''. Those customers can continue to use Percona XtraDB Cluster throughout the 7.10.x release series. Like for MySQL, 7.10.x supports only versions 5.6 and 5.7. It is not planned to support Percona XtraDB Cluster beyond 7.10.x.<br />
<br />
* For some Linux distributions the included MySQL/MariaDB packages are too old to be used with App Suite. It is mandatory then to install a supported version from '''upstream package sources'''. Possible sources are the official vendor repositories of MySQL or MariaDB as well as for example Red Hat Software Collections.<br />
* Required '''MySQL/MariaDB configuration''' configuration differs between '''App Suite 7.8.4 and 7.10.x''' and also between the different database systems in terms of SQL modes. See [[My.cnf]] for details.<br />
* For upgrades from App Suite <= 7.8.2 to >= 7.10.0 a comprehensive '''database upgrade guide''' exists: [[AppSuite:7_10_Database_Migration]]<br />
<br />
== HTTP Reverse Proxy ==<br />
<br />
An HTTP server with reverse proxy and load balancing capabilities is required in front of App Suite application servers. TLS termination, virtual hosts, path-based routing, sticky sessions and X-Forwarded headers are typical required features. OX strongly recommends [https://httpd.apache.org/ Apache httpd 2.x] for that. Configuration examples can be found in the quickinstall guides.<br />
<br />
'''Important:''' For websocket support Apache httpd 2.4.x is needed, 2.2.x does not support the required ws_tunnel module. Websockets are mandatory for OX Documents starting with v7.10.3. Like with JRE and MySQL/MariaDB it might be necessary to use 3rd party packages to get the needed Linux packages. Especially for RHEL6 we recommend using Red Hat Software Collections.<br />
<br />
== Webserver ==<br />
<br />
[https://httpd.apache.org/ Apache httpd 2.x] is required as webserver to serve static App Suite UI content. Configuration examples can be found in the quickinstall guides.<br />
<br />
== File Storage ==<br />
<br />
=== Temporary Data ===<br />
<br />
OX App Suite stores temporary files in the local file system, e.g. for spooling of uploaded data. Any file system supported by the installed JRE is suitable.<br />
<br />
=== Persistent Data ===<br />
<br />
Persistent data like OX Drive files, PIM attachments etc. and temporary attachment data need to be stored in a distributed file system as registered filestore that is available from all server nodes. For single-node setups a local file system mount point can be used, small to mid-scale setups can be powered by NFS. For large-scale setups object storages should be considered.<br />
<br />
==== Object Storages ====<br />
<br />
OX App Suite ships with different optional adapters to support object storages.<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Vendor'''<br />
|'''Product'''<br />
|'''API'''<br />
|'''Remarks'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Amazon<br />
|AWS S3<br />
|S3 HTTP API<br />
|See also [[AppSuite:S3_File_Store]]<br />
|-<br />
|CEPH<br />
|RadosGW<br />
|S3 HTTP API<br />
|See also [[AppSuite:S3_File_Store]]<br />
|-<br />
|Scality<br />
|Scality RING<br />
|Sproxyd HTTP API<br />
|See also [[AppSuite:Scality_File_Store]]<br />
|-<br />
|}<br />
<br />
== Desktop Browser (Minimum display resolution: 1024 x 768)==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Google Chrome (latest & previous version)<br />
|v7.10.5, v7.10.6<br />
|-<br />
|Mozilla Firefox (latest & current ESR-Version)<br />
|v7.10.5, v7.10.6<br />
|-<br />
|Apple Safari (latest & previous version; macOS only)<br />
|v7.10.5, v7.10.6<br />
|-<br />
|Microsoft Edge (Chromium-based)<br />
|v7.10.5, v7.10.6<br />
|-<br />
|Microsoft Internet Explorer 10/11<br />
|v7.6.3<br />
|-<br />
|}<br />
<br />
== Mobile Device Support==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Mobile Device'''<br />
|'''Supported Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|'''Minimum Speed Requirements'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|iPhone on iOS 15 / iOS 16 / iPad OS<br />
|Safari<br />
|v7.10.5, v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|-<br />
|Smartphone on Android 4.1 or later<br />
|Chrome (latest & previous version)<br />
|v7.10.5, v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|}<br />
<br />
== Tablet Support==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Tablet'''<br />
|'''Supported Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|'''Minimum Speed Requirements'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iPad (all devices) on iOS 15 / iOS 16 / iPad OS<br />
|Safari<br />
|v7.10.5, v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|-<br />
|Tablets on Android 4.1 or later<br />
|Chrome (latest & previous version)<br />
|v7.10.5, v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|}<br />
<br />
== Calendar/Contact synchronization Apple macOS ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|Calendar synchronization with CalDAV<br />
|Contacts synchronization with CardDAV<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|macOS 11.0 (Big Sur)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|macOS 12.0 (Monterey)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== Calendar/Contact synchronization Apple iOS ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|Calendar synchronization with CalDAV<br />
|Contacts synchronization with CardDAV<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iOS 14 / iOS 15 / iPad OS<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== Mobility Solution - Supported- Platforms, Features and Devices ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Feature/Technology/Device'''<br />
|[http://oxpedia.org/wiki/index.php?title=OXtender_for_Business_Mobility '''OXtender for Business Mobility'''] (availalble for App Suite, OXHE, OXSE)<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Exchange Active Sync 2.5<br />
|[[File:check.gif]]<br />
|-<br />
|Exchange Active Sync 12.1<br />
|[[File:check.gif]]<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Access and creation of emails<br />
|[[File:check.gif]]<br />
|-<br />
|Personal PIM folder<br />
|[[File:check.gif]] <br />
|-<br />
|Public and Shared PIM folder<br />
|[[File:cross.gif]]<br />
|-<br />
|Global address book<br />
|[[File:check.gif]] <br />
|-<br />
|Push E-Mail<br />
|[[File:check.gif]] <br />
|-<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iOS 14 / iOS 15 / iPad OS<br />
|[[File:check.gif]]<br />
|-<br />
|Android 8 (Oreo) or later with latest Gmail app.<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== OX Drive Clients ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX Drive for Windows<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br>Latest versions of Windows 10 and above (no support for Windows RT and emulators).<br />
|-<br />
|OX Drive for Apple macOS<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br>macOS Big Sur 11, macOS Monterey 12, Intel- and Apple Silicon-based devices are both supported<br />
|-<br />
|OX Drive v2 for Apple iOS<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br>iOS / iPadOS 14 and above<br />
|-<br />
|OX Drive v3 for Apple iOS<br />
|OX App Suite 7.10.6<br>iOS / iPadOS 15 and above<br />
|-<br />
|OX Drive for Android<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br>Smartphones and tablets running Android 7.0 (API level 24) and above.<br />
|-<br />
|}<br />
<br />
== OX Sync App ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform / User Interface'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br />
|-<br />
|OX Sync App for Android<br />
|Smartphone on Android 5.0 or later<br />
|-<br />
|}<br />
<br />
== OX Guard ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform / User Interface'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX Guard since v2.10.5: OX App Suite v7.10.5<br>OX Guard since v2.10.6: OX App Suite v7.10.6<br />
|-<br />
|Mobile Device and Tablet Support<br />
|Apple iPhone on iOS 14 / iOS 15 / iPad OS: Safari (latest version & previous version)<br>Smartphone on Android 4.1 or later: Chrome (latest & previous version)<br>Apple iPad (all devices) on iOS 14 / iOS 15 / iPad OS: Safari Safari (latest version & previous version)<br>Tablets on Android 4.1 or later: Chrome (latest & previous version)<br />
|-<br />
|}<br />
<br />
<br />
[[Category: OX7]]<br />
[[Category: AppSuite]]</div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=AppSuite:OX_System_Requirements&diff=27602AppSuite:OX System Requirements2022-09-12T10:26:59Z<p>Marco.Tabor: /* OX Drive Clients */ raised minimum iOS version to iOS 15</p>
<hr />
<div>= OX App Suite Requirements - Open-Xchange supported components overview =<br />
<br />
The following table provides an overview about the supported components of OX App Suite and further products. This overview makes no claim to be complete.<br />
<br />
Information about Maintenance expiries of components, versions and browser support, can be found in the [[AppSuite:Versioning_and_Numbering#Maintenance_expires|Maintenance Expires Table]]<br />
<br />
== Hardware Requirements ==<br />
<br />
=== General Assumptions ===<br />
<br />
Open-Xchange App Suite Server (middleware services) is designed to run on physical servers or virtual machines of the same flavor. Cloud environments might be used in terms of Infrastructure as a Service (IaaS), meaning that all components need to be deployed in a classical manner on virtual machines.<br />
<br />
This means in particular, but not only:<br />
<br />
* Infrastructure is supposed to be "quasi-static". Automatic replacement of broken nodes is fine as long as this is always an exceptional case. Scaling out or reducing number of nodes must always be a conscious task and closely monitored.<br />
* The only supported "Database as a service" solution is AWS RDS for MariaDB as defined by belows compatibility table.<br />
<br />
Especially we expect the virtual hardware to be not over-provisioned. Each VM must have dedicated resources with respect to CPU cores, RAM, IOPS, storage, network bandwidth, network latency, etc.<br />
<br />
Network is expected to be flat, inside one datacenter, no multi-datacenter, no segments. No packet loss, low latency.<br />
<br />
'''Disclaimer: All recommendations below are without guarantee and can differ for specific deployments. For mid- and large-scale setups a detailed deployment planning and sizing tests are mandatory and should be agreed on with OX Professional Services.'''<br />
<br />
=== High Level Design / OS setup ===<br />
<br />
Operate services separately (USM, Document/Image Converters) as described in [https://oxpedia.org/wiki/index.php?title=AppSuite:Running_a_cluster Cluster Setup].<br />
<br />
Clocks between all nodes must be synchronized (e.g. via NTP).<br />
<br />
Open file/max process limits need to be adjusted properly. Based on the used Linux distribution and init system configuration will differ, see Resource Limits for further explanation.<br />
<br />
Platform Architecture: 64 bit versions (x84_64) of the supported [[#Software Requirements | Linux distributions]]<br />
<br />
=== Node Sizing ===<br />
<br />
==== OX App Suite Middleware ====<br />
<br />
* Max. 8 GB heap per JVM + 4 GB system memory for other daemons and the OS (buffers, caches)<br />
* 4 CPU cores (virtual, physical or hyperthreads) for plain HTTP connections. If TLS is terminated on application nodes this might need to be doubled.<br />
* Disk space<br />
** 8 GB for OS and software<br />
** Some services like Document Converter need SWAP partitions (~1 * RAM)<br />
** 2 * system memory of free disk space (i.e. 12 GB RAM => 24 GB free disk space) for file spooling, log files, heap and core dumps<br />
<br />
=== Untested/Unsupported Deployments ===<br />
<br />
* Changes to Garbage Collector settings<br />
* Running in containerized environments (Docker, rkt)<br />
* Elasticity/High velocity of nodes going up and down: Services are sometimes stateful and demand static configuration<br />
* Cloud platform services (PaaS) that promise to replacements for certain supported technologies but have not been verified by OX for these regards<br />
* Multi-site active-active<br />
<br />
== Software Requirements ==<br />
<br />
=== Linux Distributions ===<br />
<br />
OX App Suite is available as Linux packages for the following distributions:<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Distribution'''<br />
|'''Versions'''<br />
|'''Remarks'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Red Hat Enterprise Linux<br />
|7<br />
|<br />
|-<br />
|CentOS<br />
|7<br />
|Install from RHEL package repositories<br />
|-<br />
|Debian<br />
|10 (Buster), 11 (Bullseye)<br />
|<br />
|-<br />
|Univention Corporate Server<br />
|4.4, 5.0<br />
|<br />
|-<br />
|Amazon Linux<br />
|2<br />
|Discontinued Support with end of life of OX App Suite v7.10.5<br />
|-<br />
|}<br />
<br />
=== Java ===<br />
<br />
OX App Suite Middleware requires OpenJDK headless JRE 8 or 9. Linux distributions might offer only packages for OpenJDK 11 JRE or higher, which are not suitable for OX App Suite. It is in those cases required to install Eclipse Temurin 8 JRE with HotSpot VM (successor of Adoptium). A comprehensive installation guide can be found at https://adoptium.net/de/installation/linux/. The correct JRE package is '''temurin-8-jdk'''.<br />
<br />
=== Databases ===<br />
<br />
OX App Suite uses MySQL/MariaDB with the InnoDB storage engine as its primary data store. The following vendors and products are supported.<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Vendor'''<br />
|'''Product'''<br />
|'''Versions'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Oracle<br />
|MySQL Community Edition, Standard Edition, Enterprise Edition<br />
|v5.6.x, v5.7.x<br />
|-<br />
|MariaDB<br />
|MariaDB Server, Galera Cluster<br />
|v10.1.x, v10.2.x, v10.4.x, v10.5.x.<br />
|-<br />
|Amazon<br />
|AWS RDS for MariaDB<br />
|10.2.x<br>Discontinued Support with end of life of OX App Suite v7.10.5<br />
|-<br />
|}<br />
<br />
==== Important Notes ====<br />
<br />
* Open-Xchange does not plan to support '''MySQL 8 or higher'''. As MariaDB and MySQL are diverging and cannot be assumed drop-in replacements anymore, Open-Xchange will focus on MariaDB Server and MariaDB Galera Cluster. Future App Suite releases '''> 7.10.x''' might rely on features only available in '''MariaDB'''.<br />
* Open-Xchange supports '''Percona XtraDB Cluster''' for existing customers with initial deployments done using '''App Suite 7.8.x or earlier'''. Those customers can continue to use Percona XtraDB Cluster throughout the 7.10.x release series. Like for MySQL, 7.10.x supports only versions 5.6 and 5.7. It is not planned to support Percona XtraDB Cluster beyond 7.10.x.<br />
<br />
* For some Linux distributions the included MySQL/MariaDB packages are too old to be used with App Suite. It is mandatory then to install a supported version from '''upstream package sources'''. Possible sources are the official vendor repositories of MySQL or MariaDB as well as for example Red Hat Software Collections.<br />
* Required '''MySQL/MariaDB configuration''' configuration differs between '''App Suite 7.8.4 and 7.10.x''' and also between the different database systems in terms of SQL modes. See [[My.cnf]] for details.<br />
* For upgrades from App Suite <= 7.8.2 to >= 7.10.0 a comprehensive '''database upgrade guide''' exists: [[AppSuite:7_10_Database_Migration]]<br />
<br />
== HTTP Reverse Proxy ==<br />
<br />
An HTTP server with reverse proxy and load balancing capabilities is required in front of App Suite application servers. TLS termination, virtual hosts, path-based routing, sticky sessions and X-Forwarded headers are typical required features. OX strongly recommends [https://httpd.apache.org/ Apache httpd 2.x] for that. Configuration examples can be found in the quickinstall guides.<br />
<br />
'''Important:''' For websocket support Apache httpd 2.4.x is needed, 2.2.x does not support the required ws_tunnel module. Websockets are mandatory for OX Documents starting with v7.10.3. Like with JRE and MySQL/MariaDB it might be necessary to use 3rd party packages to get the needed Linux packages. Especially for RHEL6 we recommend using Red Hat Software Collections.<br />
<br />
== Webserver ==<br />
<br />
[https://httpd.apache.org/ Apache httpd 2.x] is required as webserver to serve static App Suite UI content. Configuration examples can be found in the quickinstall guides.<br />
<br />
== File Storage ==<br />
<br />
=== Temporary Data ===<br />
<br />
OX App Suite stores temporary files in the local file system, e.g. for spooling of uploaded data. Any file system supported by the installed JRE is suitable.<br />
<br />
=== Persistent Data ===<br />
<br />
Persistent data like OX Drive files, PIM attachments etc. and temporary attachment data need to be stored in a distributed file system as registered filestore that is available from all server nodes. For single-node setups a local file system mount point can be used, small to mid-scale setups can be powered by NFS. For large-scale setups object storages should be considered.<br />
<br />
==== Object Storages ====<br />
<br />
OX App Suite ships with different optional adapters to support object storages.<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Vendor'''<br />
|'''Product'''<br />
|'''API'''<br />
|'''Remarks'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Amazon<br />
|AWS S3<br />
|S3 HTTP API<br />
|See also [[AppSuite:S3_File_Store]]<br />
|-<br />
|CEPH<br />
|RadosGW<br />
|S3 HTTP API<br />
|See also [[AppSuite:S3_File_Store]]<br />
|-<br />
|Scality<br />
|Scality RING<br />
|Sproxyd HTTP API<br />
|See also [[AppSuite:Scality_File_Store]]<br />
|-<br />
|}<br />
<br />
== Desktop Browser (Minimum display resolution: 1024 x 768)==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Google Chrome (latest & previous version)<br />
|v7.10.5, v7.10.6<br />
|-<br />
|Mozilla Firefox (latest & current ESR-Version)<br />
|v7.10.5, v7.10.6<br />
|-<br />
|Apple Safari (latest & previous version; macOS only)<br />
|v7.10.5, v7.10.6<br />
|-<br />
|Microsoft Edge (Chromium-based)<br />
|v7.10.5, v7.10.6<br />
|-<br />
|Microsoft Internet Explorer 10/11<br />
|v7.6.3<br />
|-<br />
|}<br />
<br />
== Mobile Device Support==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Mobile Device'''<br />
|'''Supported Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|'''Minimum Speed Requirements'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|iPhone on iOS 15 / iOS 16 / iPad OS<br />
|Safari<br />
|v7.10.5, v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|-<br />
|Smartphone on Android 4.1 or later<br />
|Chrome (latest & previous version)<br />
|v7.10.5, v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|}<br />
<br />
== Tablet Support==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Tablet'''<br />
|'''Supported Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|'''Minimum Speed Requirements'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iPad (all devices) on iOS 15 / iOS 16 / iPad OS<br />
|Safari<br />
|v7.10.5, v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|-<br />
|Tablets on Android 4.1 or later<br />
|Chrome (latest & previous version)<br />
|v7.10.5, v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|}<br />
<br />
== Calendar/Contact synchronization Apple macOS ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|Calendar synchronization with CalDAV<br />
|Contacts synchronization with CardDAV<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|macOS 11.0 (Big Sur)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|macOS 12.0 (Monterey)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== Calendar/Contact synchronization Apple iOS ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|Calendar synchronization with CalDAV<br />
|Contacts synchronization with CardDAV<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iOS 14 / iOS 15 / iPad OS<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== Mobility Solution - Supported- Platforms, Features and Devices ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Feature/Technology/Device'''<br />
|[http://oxpedia.org/wiki/index.php?title=OXtender_for_Business_Mobility '''OXtender for Business Mobility'''] (availalble for App Suite, OXHE, OXSE)<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Exchange Active Sync 2.5<br />
|[[File:check.gif]]<br />
|-<br />
|Exchange Active Sync 12.1<br />
|[[File:check.gif]]<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Access and creation of emails<br />
|[[File:check.gif]]<br />
|-<br />
|Personal PIM folder<br />
|[[File:check.gif]] <br />
|-<br />
|Public and Shared PIM folder<br />
|[[File:cross.gif]]<br />
|-<br />
|Global address book<br />
|[[File:check.gif]] <br />
|-<br />
|Push E-Mail<br />
|[[File:check.gif]] <br />
|-<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iOS 14 / iOS 15 / iPad OS<br />
|[[File:check.gif]]<br />
|-<br />
|Android 8 (Oreo) or later with latest Gmail app.<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== OX Drive Clients ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX Drive for Windows<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br>Latest versions of Windows 10 (no support of macOS clients with emulators and Windows RT)<br />
|-<br />
|OX Drive for Apple macOS<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br>macOS Big Sur 11, macOS Monterey 12, Intel- and Apple Silicon-based devices are both supported<br />
|-<br />
|OX Drive v2 for Apple iOS<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br>iOS / iPadOS 14 and above<br />
|-<br />
|OX Drive v3 for Apple iOS<br />
|OX App Suite 7.10.6<br>iOS / iPadOS 15 and above<br />
|-<br />
|OX Drive for Android<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br>Smartphones and tablets running Android 7.0 (API level 24) and above.<br />
|-<br />
|}<br />
<br />
== OX Sync App ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform / User Interface'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br />
|-<br />
|OX Sync App for Android<br />
|Smartphone on Android 5.0 or later<br />
|-<br />
|}<br />
<br />
== OX Guard ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform / User Interface'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX Guard since v2.10.5: OX App Suite v7.10.5<br>OX Guard since v2.10.6: OX App Suite v7.10.6<br />
|-<br />
|Mobile Device and Tablet Support<br />
|Apple iPhone on iOS 14 / iOS 15 / iPad OS: Safari (latest version & previous version)<br>Smartphone on Android 4.1 or later: Chrome (latest & previous version)<br>Apple iPad (all devices) on iOS 14 / iOS 15 / iPad OS: Safari Safari (latest version & previous version)<br>Tablets on Android 4.1 or later: Chrome (latest & previous version)<br />
|-<br />
|}<br />
<br />
<br />
[[Category: OX7]]<br />
[[Category: AppSuite]]</div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=AppSuite:OX_System_Requirements&diff=27599AppSuite:OX System Requirements2022-09-12T10:25:21Z<p>Marco.Tabor: /* Tablet Support */ raised iOS minimum requirement to iOS 15</p>
<hr />
<div>= OX App Suite Requirements - Open-Xchange supported components overview =<br />
<br />
The following table provides an overview about the supported components of OX App Suite and further products. This overview makes no claim to be complete.<br />
<br />
Information about Maintenance expiries of components, versions and browser support, can be found in the [[AppSuite:Versioning_and_Numbering#Maintenance_expires|Maintenance Expires Table]]<br />
<br />
== Hardware Requirements ==<br />
<br />
=== General Assumptions ===<br />
<br />
Open-Xchange App Suite Server (middleware services) is designed to run on physical servers or virtual machines of the same flavor. Cloud environments might be used in terms of Infrastructure as a Service (IaaS), meaning that all components need to be deployed in a classical manner on virtual machines.<br />
<br />
This means in particular, but not only:<br />
<br />
* Infrastructure is supposed to be "quasi-static". Automatic replacement of broken nodes is fine as long as this is always an exceptional case. Scaling out or reducing number of nodes must always be a conscious task and closely monitored.<br />
* The only supported "Database as a service" solution is AWS RDS for MariaDB as defined by belows compatibility table.<br />
<br />
Especially we expect the virtual hardware to be not over-provisioned. Each VM must have dedicated resources with respect to CPU cores, RAM, IOPS, storage, network bandwidth, network latency, etc.<br />
<br />
Network is expected to be flat, inside one datacenter, no multi-datacenter, no segments. No packet loss, low latency.<br />
<br />
'''Disclaimer: All recommendations below are without guarantee and can differ for specific deployments. For mid- and large-scale setups a detailed deployment planning and sizing tests are mandatory and should be agreed on with OX Professional Services.'''<br />
<br />
=== High Level Design / OS setup ===<br />
<br />
Operate services separately (USM, Document/Image Converters) as described in [https://oxpedia.org/wiki/index.php?title=AppSuite:Running_a_cluster Cluster Setup].<br />
<br />
Clocks between all nodes must be synchronized (e.g. via NTP).<br />
<br />
Open file/max process limits need to be adjusted properly. Based on the used Linux distribution and init system configuration will differ, see Resource Limits for further explanation.<br />
<br />
Platform Architecture: 64 bit versions (x84_64) of the supported [[#Software Requirements | Linux distributions]]<br />
<br />
=== Node Sizing ===<br />
<br />
==== OX App Suite Middleware ====<br />
<br />
* Max. 8 GB heap per JVM + 4 GB system memory for other daemons and the OS (buffers, caches)<br />
* 4 CPU cores (virtual, physical or hyperthreads) for plain HTTP connections. If TLS is terminated on application nodes this might need to be doubled.<br />
* Disk space<br />
** 8 GB for OS and software<br />
** Some services like Document Converter need SWAP partitions (~1 * RAM)<br />
** 2 * system memory of free disk space (i.e. 12 GB RAM => 24 GB free disk space) for file spooling, log files, heap and core dumps<br />
<br />
=== Untested/Unsupported Deployments ===<br />
<br />
* Changes to Garbage Collector settings<br />
* Running in containerized environments (Docker, rkt)<br />
* Elasticity/High velocity of nodes going up and down: Services are sometimes stateful and demand static configuration<br />
* Cloud platform services (PaaS) that promise to replacements for certain supported technologies but have not been verified by OX for these regards<br />
* Multi-site active-active<br />
<br />
== Software Requirements ==<br />
<br />
=== Linux Distributions ===<br />
<br />
OX App Suite is available as Linux packages for the following distributions:<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Distribution'''<br />
|'''Versions'''<br />
|'''Remarks'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Red Hat Enterprise Linux<br />
|7<br />
|<br />
|-<br />
|CentOS<br />
|7<br />
|Install from RHEL package repositories<br />
|-<br />
|Debian<br />
|10 (Buster), 11 (Bullseye)<br />
|<br />
|-<br />
|Univention Corporate Server<br />
|4.4, 5.0<br />
|<br />
|-<br />
|Amazon Linux<br />
|2<br />
|Discontinued Support with end of life of OX App Suite v7.10.5<br />
|-<br />
|}<br />
<br />
=== Java ===<br />
<br />
OX App Suite Middleware requires OpenJDK headless JRE 8 or 9. Linux distributions might offer only packages for OpenJDK 11 JRE or higher, which are not suitable for OX App Suite. It is in those cases required to install Eclipse Temurin 8 JRE with HotSpot VM (successor of Adoptium). A comprehensive installation guide can be found at https://adoptium.net/de/installation/linux/. The correct JRE package is '''temurin-8-jdk'''.<br />
<br />
=== Databases ===<br />
<br />
OX App Suite uses MySQL/MariaDB with the InnoDB storage engine as its primary data store. The following vendors and products are supported.<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Vendor'''<br />
|'''Product'''<br />
|'''Versions'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Oracle<br />
|MySQL Community Edition, Standard Edition, Enterprise Edition<br />
|v5.6.x, v5.7.x<br />
|-<br />
|MariaDB<br />
|MariaDB Server, Galera Cluster<br />
|v10.1.x, v10.2.x, v10.4.x, v10.5.x.<br />
|-<br />
|Amazon<br />
|AWS RDS for MariaDB<br />
|10.2.x<br>Discontinued Support with end of life of OX App Suite v7.10.5<br />
|-<br />
|}<br />
<br />
==== Important Notes ====<br />
<br />
* Open-Xchange does not plan to support '''MySQL 8 or higher'''. As MariaDB and MySQL are diverging and cannot be assumed drop-in replacements anymore, Open-Xchange will focus on MariaDB Server and MariaDB Galera Cluster. Future App Suite releases '''> 7.10.x''' might rely on features only available in '''MariaDB'''.<br />
* Open-Xchange supports '''Percona XtraDB Cluster''' for existing customers with initial deployments done using '''App Suite 7.8.x or earlier'''. Those customers can continue to use Percona XtraDB Cluster throughout the 7.10.x release series. Like for MySQL, 7.10.x supports only versions 5.6 and 5.7. It is not planned to support Percona XtraDB Cluster beyond 7.10.x.<br />
<br />
* For some Linux distributions the included MySQL/MariaDB packages are too old to be used with App Suite. It is mandatory then to install a supported version from '''upstream package sources'''. Possible sources are the official vendor repositories of MySQL or MariaDB as well as for example Red Hat Software Collections.<br />
* Required '''MySQL/MariaDB configuration''' configuration differs between '''App Suite 7.8.4 and 7.10.x''' and also between the different database systems in terms of SQL modes. See [[My.cnf]] for details.<br />
* For upgrades from App Suite <= 7.8.2 to >= 7.10.0 a comprehensive '''database upgrade guide''' exists: [[AppSuite:7_10_Database_Migration]]<br />
<br />
== HTTP Reverse Proxy ==<br />
<br />
An HTTP server with reverse proxy and load balancing capabilities is required in front of App Suite application servers. TLS termination, virtual hosts, path-based routing, sticky sessions and X-Forwarded headers are typical required features. OX strongly recommends [https://httpd.apache.org/ Apache httpd 2.x] for that. Configuration examples can be found in the quickinstall guides.<br />
<br />
'''Important:''' For websocket support Apache httpd 2.4.x is needed, 2.2.x does not support the required ws_tunnel module. Websockets are mandatory for OX Documents starting with v7.10.3. Like with JRE and MySQL/MariaDB it might be necessary to use 3rd party packages to get the needed Linux packages. Especially for RHEL6 we recommend using Red Hat Software Collections.<br />
<br />
== Webserver ==<br />
<br />
[https://httpd.apache.org/ Apache httpd 2.x] is required as webserver to serve static App Suite UI content. Configuration examples can be found in the quickinstall guides.<br />
<br />
== File Storage ==<br />
<br />
=== Temporary Data ===<br />
<br />
OX App Suite stores temporary files in the local file system, e.g. for spooling of uploaded data. Any file system supported by the installed JRE is suitable.<br />
<br />
=== Persistent Data ===<br />
<br />
Persistent data like OX Drive files, PIM attachments etc. and temporary attachment data need to be stored in a distributed file system as registered filestore that is available from all server nodes. For single-node setups a local file system mount point can be used, small to mid-scale setups can be powered by NFS. For large-scale setups object storages should be considered.<br />
<br />
==== Object Storages ====<br />
<br />
OX App Suite ships with different optional adapters to support object storages.<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Vendor'''<br />
|'''Product'''<br />
|'''API'''<br />
|'''Remarks'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Amazon<br />
|AWS S3<br />
|S3 HTTP API<br />
|See also [[AppSuite:S3_File_Store]]<br />
|-<br />
|CEPH<br />
|RadosGW<br />
|S3 HTTP API<br />
|See also [[AppSuite:S3_File_Store]]<br />
|-<br />
|Scality<br />
|Scality RING<br />
|Sproxyd HTTP API<br />
|See also [[AppSuite:Scality_File_Store]]<br />
|-<br />
|}<br />
<br />
== Desktop Browser (Minimum display resolution: 1024 x 768)==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Google Chrome (latest & previous version)<br />
|v7.10.5, v7.10.6<br />
|-<br />
|Mozilla Firefox (latest & current ESR-Version)<br />
|v7.10.5, v7.10.6<br />
|-<br />
|Apple Safari (latest & previous version; macOS only)<br />
|v7.10.5, v7.10.6<br />
|-<br />
|Microsoft Edge (Chromium-based)<br />
|v7.10.5, v7.10.6<br />
|-<br />
|Microsoft Internet Explorer 10/11<br />
|v7.6.3<br />
|-<br />
|}<br />
<br />
== Mobile Device Support==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Mobile Device'''<br />
|'''Supported Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|'''Minimum Speed Requirements'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|iPhone on iOS 15 / iOS 16 / iPad OS<br />
|Safari<br />
|v7.10.5, v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|-<br />
|Smartphone on Android 4.1 or later<br />
|Chrome (latest & previous version)<br />
|v7.10.5, v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|}<br />
<br />
== Tablet Support==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Tablet'''<br />
|'''Supported Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|'''Minimum Speed Requirements'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iPad (all devices) on iOS 15 / iOS 16 / iPad OS<br />
|Safari<br />
|v7.10.5, v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|-<br />
|Tablets on Android 4.1 or later<br />
|Chrome (latest & previous version)<br />
|v7.10.5, v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|}<br />
<br />
== Calendar/Contact synchronization Apple macOS ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|Calendar synchronization with CalDAV<br />
|Contacts synchronization with CardDAV<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|macOS 11.0 (Big Sur)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|macOS 12.0 (Monterey)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== Calendar/Contact synchronization Apple iOS ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|Calendar synchronization with CalDAV<br />
|Contacts synchronization with CardDAV<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iOS 14 / iOS 15 / iPad OS<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== Mobility Solution - Supported- Platforms, Features and Devices ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Feature/Technology/Device'''<br />
|[http://oxpedia.org/wiki/index.php?title=OXtender_for_Business_Mobility '''OXtender for Business Mobility'''] (availalble for App Suite, OXHE, OXSE)<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Exchange Active Sync 2.5<br />
|[[File:check.gif]]<br />
|-<br />
|Exchange Active Sync 12.1<br />
|[[File:check.gif]]<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Access and creation of emails<br />
|[[File:check.gif]]<br />
|-<br />
|Personal PIM folder<br />
|[[File:check.gif]] <br />
|-<br />
|Public and Shared PIM folder<br />
|[[File:cross.gif]]<br />
|-<br />
|Global address book<br />
|[[File:check.gif]] <br />
|-<br />
|Push E-Mail<br />
|[[File:check.gif]] <br />
|-<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iOS 14 / iOS 15 / iPad OS<br />
|[[File:check.gif]]<br />
|-<br />
|Android 8 (Oreo) or later with latest Gmail app.<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== OX Drive Clients ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX Drive for Windows<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br>Latest versions of Windows 10 (no support of macOS clients with emulators and Windows RT)<br />
|-<br />
|OX Drive for Apple macOS<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br>macOS Big Sur 11, macOS Monterey 12, Intel- and Apple Silicon-based devices are both supported<br />
|-<br />
|OX Drive v2 for Apple iOS<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br>iOS / iPadOS 14 and above<br />
|-<br />
|OX Drive v3 for Apple iOS<br />
|OX App Suite 7.10.6<br>iOS / iPadOS 14 and above<br />
|-<br />
|OX Drive for Android<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br>Smartphones and tablets running Android 7.0 (API level 24) and above.<br />
|-<br />
|}<br />
<br />
== OX Sync App ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform / User Interface'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br />
|-<br />
|OX Sync App for Android<br />
|Smartphone on Android 5.0 or later<br />
|-<br />
|}<br />
<br />
== OX Guard ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform / User Interface'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX Guard since v2.10.5: OX App Suite v7.10.5<br>OX Guard since v2.10.6: OX App Suite v7.10.6<br />
|-<br />
|Mobile Device and Tablet Support<br />
|Apple iPhone on iOS 14 / iOS 15 / iPad OS: Safari (latest version & previous version)<br>Smartphone on Android 4.1 or later: Chrome (latest & previous version)<br>Apple iPad (all devices) on iOS 14 / iOS 15 / iPad OS: Safari Safari (latest version & previous version)<br>Tablets on Android 4.1 or later: Chrome (latest & previous version)<br />
|-<br />
|}<br />
<br />
<br />
[[Category: OX7]]<br />
[[Category: AppSuite]]</div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=AppSuite:OX_System_Requirements&diff=27596AppSuite:OX System Requirements2022-09-12T10:24:27Z<p>Marco.Tabor: Changed minimum iOS version from iOS 14 to iOS 15</p>
<hr />
<div>= OX App Suite Requirements - Open-Xchange supported components overview =<br />
<br />
The following table provides an overview about the supported components of OX App Suite and further products. This overview makes no claim to be complete.<br />
<br />
Information about Maintenance expiries of components, versions and browser support, can be found in the [[AppSuite:Versioning_and_Numbering#Maintenance_expires|Maintenance Expires Table]]<br />
<br />
== Hardware Requirements ==<br />
<br />
=== General Assumptions ===<br />
<br />
Open-Xchange App Suite Server (middleware services) is designed to run on physical servers or virtual machines of the same flavor. Cloud environments might be used in terms of Infrastructure as a Service (IaaS), meaning that all components need to be deployed in a classical manner on virtual machines.<br />
<br />
This means in particular, but not only:<br />
<br />
* Infrastructure is supposed to be "quasi-static". Automatic replacement of broken nodes is fine as long as this is always an exceptional case. Scaling out or reducing number of nodes must always be a conscious task and closely monitored.<br />
* The only supported "Database as a service" solution is AWS RDS for MariaDB as defined by belows compatibility table.<br />
<br />
Especially we expect the virtual hardware to be not over-provisioned. Each VM must have dedicated resources with respect to CPU cores, RAM, IOPS, storage, network bandwidth, network latency, etc.<br />
<br />
Network is expected to be flat, inside one datacenter, no multi-datacenter, no segments. No packet loss, low latency.<br />
<br />
'''Disclaimer: All recommendations below are without guarantee and can differ for specific deployments. For mid- and large-scale setups a detailed deployment planning and sizing tests are mandatory and should be agreed on with OX Professional Services.'''<br />
<br />
=== High Level Design / OS setup ===<br />
<br />
Operate services separately (USM, Document/Image Converters) as described in [https://oxpedia.org/wiki/index.php?title=AppSuite:Running_a_cluster Cluster Setup].<br />
<br />
Clocks between all nodes must be synchronized (e.g. via NTP).<br />
<br />
Open file/max process limits need to be adjusted properly. Based on the used Linux distribution and init system configuration will differ, see Resource Limits for further explanation.<br />
<br />
Platform Architecture: 64 bit versions (x84_64) of the supported [[#Software Requirements | Linux distributions]]<br />
<br />
=== Node Sizing ===<br />
<br />
==== OX App Suite Middleware ====<br />
<br />
* Max. 8 GB heap per JVM + 4 GB system memory for other daemons and the OS (buffers, caches)<br />
* 4 CPU cores (virtual, physical or hyperthreads) for plain HTTP connections. If TLS is terminated on application nodes this might need to be doubled.<br />
* Disk space<br />
** 8 GB for OS and software<br />
** Some services like Document Converter need SWAP partitions (~1 * RAM)<br />
** 2 * system memory of free disk space (i.e. 12 GB RAM => 24 GB free disk space) for file spooling, log files, heap and core dumps<br />
<br />
=== Untested/Unsupported Deployments ===<br />
<br />
* Changes to Garbage Collector settings<br />
* Running in containerized environments (Docker, rkt)<br />
* Elasticity/High velocity of nodes going up and down: Services are sometimes stateful and demand static configuration<br />
* Cloud platform services (PaaS) that promise to replacements for certain supported technologies but have not been verified by OX for these regards<br />
* Multi-site active-active<br />
<br />
== Software Requirements ==<br />
<br />
=== Linux Distributions ===<br />
<br />
OX App Suite is available as Linux packages for the following distributions:<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Distribution'''<br />
|'''Versions'''<br />
|'''Remarks'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Red Hat Enterprise Linux<br />
|7<br />
|<br />
|-<br />
|CentOS<br />
|7<br />
|Install from RHEL package repositories<br />
|-<br />
|Debian<br />
|10 (Buster), 11 (Bullseye)<br />
|<br />
|-<br />
|Univention Corporate Server<br />
|4.4, 5.0<br />
|<br />
|-<br />
|Amazon Linux<br />
|2<br />
|Discontinued Support with end of life of OX App Suite v7.10.5<br />
|-<br />
|}<br />
<br />
=== Java ===<br />
<br />
OX App Suite Middleware requires OpenJDK headless JRE 8 or 9. Linux distributions might offer only packages for OpenJDK 11 JRE or higher, which are not suitable for OX App Suite. It is in those cases required to install Eclipse Temurin 8 JRE with HotSpot VM (successor of Adoptium). A comprehensive installation guide can be found at https://adoptium.net/de/installation/linux/. The correct JRE package is '''temurin-8-jdk'''.<br />
<br />
=== Databases ===<br />
<br />
OX App Suite uses MySQL/MariaDB with the InnoDB storage engine as its primary data store. The following vendors and products are supported.<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Vendor'''<br />
|'''Product'''<br />
|'''Versions'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Oracle<br />
|MySQL Community Edition, Standard Edition, Enterprise Edition<br />
|v5.6.x, v5.7.x<br />
|-<br />
|MariaDB<br />
|MariaDB Server, Galera Cluster<br />
|v10.1.x, v10.2.x, v10.4.x, v10.5.x.<br />
|-<br />
|Amazon<br />
|AWS RDS for MariaDB<br />
|10.2.x<br>Discontinued Support with end of life of OX App Suite v7.10.5<br />
|-<br />
|}<br />
<br />
==== Important Notes ====<br />
<br />
* Open-Xchange does not plan to support '''MySQL 8 or higher'''. As MariaDB and MySQL are diverging and cannot be assumed drop-in replacements anymore, Open-Xchange will focus on MariaDB Server and MariaDB Galera Cluster. Future App Suite releases '''> 7.10.x''' might rely on features only available in '''MariaDB'''.<br />
* Open-Xchange supports '''Percona XtraDB Cluster''' for existing customers with initial deployments done using '''App Suite 7.8.x or earlier'''. Those customers can continue to use Percona XtraDB Cluster throughout the 7.10.x release series. Like for MySQL, 7.10.x supports only versions 5.6 and 5.7. It is not planned to support Percona XtraDB Cluster beyond 7.10.x.<br />
<br />
* For some Linux distributions the included MySQL/MariaDB packages are too old to be used with App Suite. It is mandatory then to install a supported version from '''upstream package sources'''. Possible sources are the official vendor repositories of MySQL or MariaDB as well as for example Red Hat Software Collections.<br />
* Required '''MySQL/MariaDB configuration''' configuration differs between '''App Suite 7.8.4 and 7.10.x''' and also between the different database systems in terms of SQL modes. See [[My.cnf]] for details.<br />
* For upgrades from App Suite <= 7.8.2 to >= 7.10.0 a comprehensive '''database upgrade guide''' exists: [[AppSuite:7_10_Database_Migration]]<br />
<br />
== HTTP Reverse Proxy ==<br />
<br />
An HTTP server with reverse proxy and load balancing capabilities is required in front of App Suite application servers. TLS termination, virtual hosts, path-based routing, sticky sessions and X-Forwarded headers are typical required features. OX strongly recommends [https://httpd.apache.org/ Apache httpd 2.x] for that. Configuration examples can be found in the quickinstall guides.<br />
<br />
'''Important:''' For websocket support Apache httpd 2.4.x is needed, 2.2.x does not support the required ws_tunnel module. Websockets are mandatory for OX Documents starting with v7.10.3. Like with JRE and MySQL/MariaDB it might be necessary to use 3rd party packages to get the needed Linux packages. Especially for RHEL6 we recommend using Red Hat Software Collections.<br />
<br />
== Webserver ==<br />
<br />
[https://httpd.apache.org/ Apache httpd 2.x] is required as webserver to serve static App Suite UI content. Configuration examples can be found in the quickinstall guides.<br />
<br />
== File Storage ==<br />
<br />
=== Temporary Data ===<br />
<br />
OX App Suite stores temporary files in the local file system, e.g. for spooling of uploaded data. Any file system supported by the installed JRE is suitable.<br />
<br />
=== Persistent Data ===<br />
<br />
Persistent data like OX Drive files, PIM attachments etc. and temporary attachment data need to be stored in a distributed file system as registered filestore that is available from all server nodes. For single-node setups a local file system mount point can be used, small to mid-scale setups can be powered by NFS. For large-scale setups object storages should be considered.<br />
<br />
==== Object Storages ====<br />
<br />
OX App Suite ships with different optional adapters to support object storages.<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Vendor'''<br />
|'''Product'''<br />
|'''API'''<br />
|'''Remarks'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Amazon<br />
|AWS S3<br />
|S3 HTTP API<br />
|See also [[AppSuite:S3_File_Store]]<br />
|-<br />
|CEPH<br />
|RadosGW<br />
|S3 HTTP API<br />
|See also [[AppSuite:S3_File_Store]]<br />
|-<br />
|Scality<br />
|Scality RING<br />
|Sproxyd HTTP API<br />
|See also [[AppSuite:Scality_File_Store]]<br />
|-<br />
|}<br />
<br />
== Desktop Browser (Minimum display resolution: 1024 x 768)==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Google Chrome (latest & previous version)<br />
|v7.10.5, v7.10.6<br />
|-<br />
|Mozilla Firefox (latest & current ESR-Version)<br />
|v7.10.5, v7.10.6<br />
|-<br />
|Apple Safari (latest & previous version; macOS only)<br />
|v7.10.5, v7.10.6<br />
|-<br />
|Microsoft Edge (Chromium-based)<br />
|v7.10.5, v7.10.6<br />
|-<br />
|Microsoft Internet Explorer 10/11<br />
|v7.6.3<br />
|-<br />
|}<br />
<br />
== Mobile Device Support==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Mobile Device'''<br />
|'''Supported Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|'''Minimum Speed Requirements'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|iPhone on iOS 15 / iOS 16 / iPad OS<br />
|Safari<br />
|v7.10.5, v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|-<br />
|Smartphone on Android 4.1 or later<br />
|Chrome (latest & previous version)<br />
|v7.10.5, v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|}<br />
<br />
== Tablet Support==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Tablet'''<br />
|'''Supported Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|'''Minimum Speed Requirements'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iPad (all devices) on iOS 14 / iOS 15 / iPad OS<br />
|Safari<br />
|v7.10.5, v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|-<br />
|Tablets on Android 4.1 or later<br />
|Chrome (latest & previous version)<br />
|v7.10.5, v7.10.6<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|}<br />
<br />
== Calendar/Contact synchronization Apple macOS ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|Calendar synchronization with CalDAV<br />
|Contacts synchronization with CardDAV<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|macOS 11.0 (Big Sur)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|macOS 12.0 (Monterey)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== Calendar/Contact synchronization Apple iOS ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|Calendar synchronization with CalDAV<br />
|Contacts synchronization with CardDAV<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iOS 14 / iOS 15 / iPad OS<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== Mobility Solution - Supported- Platforms, Features and Devices ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Feature/Technology/Device'''<br />
|[http://oxpedia.org/wiki/index.php?title=OXtender_for_Business_Mobility '''OXtender for Business Mobility'''] (availalble for App Suite, OXHE, OXSE)<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Exchange Active Sync 2.5<br />
|[[File:check.gif]]<br />
|-<br />
|Exchange Active Sync 12.1<br />
|[[File:check.gif]]<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Access and creation of emails<br />
|[[File:check.gif]]<br />
|-<br />
|Personal PIM folder<br />
|[[File:check.gif]] <br />
|-<br />
|Public and Shared PIM folder<br />
|[[File:cross.gif]]<br />
|-<br />
|Global address book<br />
|[[File:check.gif]] <br />
|-<br />
|Push E-Mail<br />
|[[File:check.gif]] <br />
|-<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iOS 14 / iOS 15 / iPad OS<br />
|[[File:check.gif]]<br />
|-<br />
|Android 8 (Oreo) or later with latest Gmail app.<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== OX Drive Clients ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX Drive for Windows<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br>Latest versions of Windows 10 (no support of macOS clients with emulators and Windows RT)<br />
|-<br />
|OX Drive for Apple macOS<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br>macOS Big Sur 11, macOS Monterey 12, Intel- and Apple Silicon-based devices are both supported<br />
|-<br />
|OX Drive v2 for Apple iOS<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br>iOS / iPadOS 14 and above<br />
|-<br />
|OX Drive v3 for Apple iOS<br />
|OX App Suite 7.10.6<br>iOS / iPadOS 14 and above<br />
|-<br />
|OX Drive for Android<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br>Smartphones and tablets running Android 7.0 (API level 24) and above.<br />
|-<br />
|}<br />
<br />
== OX Sync App ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform / User Interface'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX App Suite 7.10.5, OX App Suite 7.10.6<br />
|-<br />
|OX Sync App for Android<br />
|Smartphone on Android 5.0 or later<br />
|-<br />
|}<br />
<br />
== OX Guard ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform / User Interface'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX Guard since v2.10.5: OX App Suite v7.10.5<br>OX Guard since v2.10.6: OX App Suite v7.10.6<br />
|-<br />
|Mobile Device and Tablet Support<br />
|Apple iPhone on iOS 14 / iOS 15 / iPad OS: Safari (latest version & previous version)<br>Smartphone on Android 4.1 or later: Chrome (latest & previous version)<br>Apple iPad (all devices) on iOS 14 / iOS 15 / iPad OS: Safari Safari (latest version & previous version)<br>Tablets on Android 4.1 or later: Chrome (latest & previous version)<br />
|-<br />
|}<br />
<br />
<br />
[[Category: OX7]]<br />
[[Category: AppSuite]]</div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive&diff=27155AppSuite:OX Drive2022-07-14T09:02:16Z<p>Marco.Tabor: /* App Configuration and Deployment */</p>
<hr />
<div>Source of http://oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive<br />
<br />
<br />
<br />
= OX Drive =<br />
<br />
In OX App Suite, Open-Xchange provides a cloud storage called OX Drive. It provides file- and folder synchronization across multiple devices in the simplest way for the end user, fully optimized for each device type. This article explains how to set up the server-side components for OX Drive, as well as details about the app setup.<br />
<br />
== Key features ==<br />
<br />
* Native Apps for Windows, macOS, iOS and Android<br />
* Easy and attractive upsell properties (e.g. Upsell based on Quota limitations)<br />
* Apps are specially designed for the devices they run on taking into account limitations such as battery life, screen limitations, bandwidth etc.<br />
* Controlled synchronization of files across devices<br />
* Storage management (e.g. quota control, upload limits)<br />
* Connection type recognition and adaptation (e.g. Wi-Fi, cell network)<br />
<br />
== Availability ==<br />
<br />
OX Drive is a combination of two components:<br />
* OX Drive in OX App Suite<br />
* OX Drive Apps (optional native apps for synchronization)<br />
<br />
OX Drive is available as native app for the following operating systems:<br />
* OX Drive for Windows (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive for macOS (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive v2 for iOS (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive v3 for iOS (supported with OX App Suite v7.10.6)<br />
* OX Drive for Android (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
<br />
== Requirements ==<br />
<br />
You will find the requirements under [[AppSuite:OX_System_Requirements#OX_Drive_for_Clients|OX Drive App and Platform Requirements]]<br />
<br />
= Server-side Installation and Configuration =<br />
<br />
This chapter describes how the backend components of OX Drive are installed and configured on the server.<br />
<br />
== Prerequisites ==<br />
<br />
* Open-Xchange Server v7.10.5 and above (''open-xchange-core'')<br />
* Grizzly HTTP connector (''open-xchange-grizzly''), see [[AppSuite:Grizzly]] for details, with ''Comet'' support enabled in ''grizzly.properties''<br />
* Valid Push-Certificates / API keys for cloud-based notifications, see configuration below<br />
* Enabled Hazelcast for inter-OX-communication, see [[AppSuite:Running_a_cluster]] for details<br />
<br />
== Available packages ==<br />
<br />
Open-Xchange Drive is available with the following backend packages:<br />
<br />
* ''open-xchange-drive'' - The main server components for OX Drive<br />
* ''open-xchange-drive-comet'' - Provides the Push interface via long-polling for the desktop apps<br />
* ''open-xchange-drive-help-*'' - Online help in various languages for the OX Drive applications (these were called ''open-xchange-appsuite-help-drive-*'' in versions earlier than Open-Xchange Server v7.6.2)<br />
* ''open-xchange-drive-restricted'' - Restricted components, including prerequisites for cloud-based push notifications<br />
<br />
Installation on the server varies depending on the underlying distribution, details are available in the following chapters.<br />
<br />
=== OX Drive for Windows ===<br />
<br />
Additionally OX Drive for Windows can be provided to users by installing additional packages.<br />
<br />
OX Drive for Windows is able to update itself and can be downloaded from the Web UI directly via the [[AppSuite:Client_Onboarding|App Onboarding Wizard]]. Therefore the wizard must be installed and configured for OX Drive users. Besides the client onboarding feature you need the following packages:<br />
<br />
* ''open-xchange-drive-client-windows'' - The main server component to provide the app<br />
* ''open-xchange-drive-client-windows-generic'' - The package providing the final binary files to be installed on users machines.<br />
<br />
To make the app download available via the app onboarding wizard, you need to enable the according scenario. Edit ''/opt/open-xchange/etc/client-onboarding-scenarios.yml'' and get to the ''drivewindowsclientinstall'' section, where you have to set the ''enabled'' property to ''true''.<br />
<br />
[[File:Drive_Update.png|500px|thumb|left|Drive Update Info]]<br />
<br />
===== Custom branded apps =====<br />
<br />
OX Drive for Windows can be purchased with a custom theming. In such cases, the according binary files need to be installed on the middleware servers. Instead of the ''open-xchange-drive-client-windows-generic'' package, a package containing the branded binaries will be provided as ''open-xchange-drive-client-windows-<brand-name>'' and needs to be installed. You MUST then set the property ''com.openexchange.drive.update.branding'' in ''/opt/open-xchange/etc/drive-client-windows.properties'' to ''<brand-name>'' accordingly.<br />
<br />
It is also possible to provide multiple brands of the app via the same OX App Suite deployment, multiple ''open-xchange-drive-client-windows-<brand-name>'' packages can be installed in parallel. Which brand is available for a certain user is determined by the ''com.openexchange.drive.update.branding'' property, which can be overwritten via [[ConfigCascade|Config Cascade]] therefore.<br />
<br />
App brands can be managed via command line tools. The tool ''/opt/open-xchange/sbin/listdriveclients'' lists all installed brands. After updating a certain brand by installing a newer package version or installing an additional one, no server restart is necessary. Instead ''/opt/open-xchange/sbin/reloaddriveclients'' can be executed to refresh the internal server state.<br />
<br />
<br />
=== Redhat Enterprise Linux 7 or CentOS 7 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange yum configuration:<br />
<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|backend}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|drive-help}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ yum update<br />
$ yum install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== Debian GNU/Linux 9.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== Debian GNU/Linux 10.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== Debian GNU/Linux 11.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBullseye|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBullseye|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBullseye|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBullseye|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBullseye|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== OX Server Edition / App Suite for UCS ===<br />
<br />
If you have purchased the OX Server Edition / App Suite for UCS, the OX Drive is part of the offering and after the installation/update available. The necessary package for push, is available with a valid license and can be installed via the Univention App Center.<br />
<br />
* The new license is already registered at the LDB after purchase.<br />
* Log on at the Univention Management Console (UMC)<br />
* Make sure, that the correct LDB account has been selected in the UMC module "OX License Management"<br />
* Click on "App Center" at the UMC und switch to the tab "Repository Settings"<br />
* Within the component list, select "Open-Xchange Drive" and press the "Install" button<br />
<br />
== Configuration ==<br />
<br />
The following gives an overview about the most important settings to enable file synchronization via OX Drive, especially when it comes to real-time Push notifications for the apps.<br />
<br />
All settings regarding the OX Drive backend component are located in the configuration file ''drive.properties''. The default configuration should be sufficient for a basic "up-and-running" setup (with the exception of defining the Push certificates and API keys for cloud-based app notifications, see next chapters). Please refer to the inline documentation of the configuration file for more advanced options. <br />
<br />
Most properties located in configuration file ''drive.properties'' are now config-cascade aware. Therefore all settings can be set per user, per contextSet or per context. If there is no configuration per user, per contextSet or per context, the configuration in ''drive.properties'' will still be used as server-wide fallback.<br />
<br />
When installing from scratch, the configuration file ''drive.properties'' is no longer shipped, as the default values are used. For more details, find an overview of configurable settings [https://documentation.open-xchange.com/7.10.5/middleware/administration.html here].<br />
<br />
If no Push certificates and API keys are defined but cloud-based app notifications are enabled, the Push certificates and API keys from package ''open-xchange-drive-restricted'' are used as fallback, if this package is installed.<br />
<br />
=== Push via Firebase Cloud Messaging (FCM) ===<br />
<br />
The OX Drive application for Android devices is able to receive Push notifications from the Open-Xchange Server via [https://firebase.google.com/docs/cloud-messaging/ Firebase Cloud Messaging (FCM)]. To issue those Push messages, the backend needs to be provided with a suitable API key for the corresponding Android app application. The API key is included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" Android app. Alternatively, the key can be specified directly in the ''drive.properties'' configuration file:<br />
<br />
# Specifies the API key of the server application. Required if <br />
# "com.openexchange.drive.events.gcm.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.gcm.key=<br />
<br />
Push via FCM can be enabled via:<br />
<br />
# Enables or disables push event notifications to apps using the Google<br />
# Firebase Cloud Messaging (FCM) service. This requires a valid configuration for the <br />
# FCM API key, see options below. Defaults to "false". <br />
com.openexchange.drive.events.gcm.enabled=true<br />
<br />
Please note that push via FCM needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.<br />
<br />
=== Push via Apple Push Notification service (APNs) ===<br />
<br />
The OX Drive application for iOS and macOS devices is able to receive Push notifications from the Open-Xchange Server via [http://developer.apple.com/library/IOS/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html Apple Push Notification service (APNs)]. To issue those Push messages, the backend needs to be provided with a suitable keystore container file (PKCS #12) containing the APNs certificate and keys. Note that the macOS desktop app and the iOS mobile app are served separately with different certificates, so that both needs to be configured independently. The required certificates are already included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" iOS and macOS applications. Therefore no additional configuration is needed. Alternatively, an external certificate can be specified directly in the ''drive.properties'' configuration file (the following only shows the setup for iOS). First, the path to the PKCS #12 container file needs to be specified at:<br />
<br />
# Specifies the path to the local keystore file (PKCS #12) containing the APNS <br />
# certificate and keys for the iOS application, e.g. <br />
# "/opt/open-xchange/etc/drive-apns.p12". Required if <br />
# "com.openexchange.drive.events.apn.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.apn.ios.keystore=<br />
<br />
This file is opened by the backend using the password as supplied via: <br />
<br />
# Specifies the password used when creating the referenced keystore containing<br />
# the certificate of the iOS application. Note that blank or null passwords <br />
# are in violation of the PKCS #12 specifications. Required if <br />
# "com.openexchange.drive.events.apn.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.apn.ios.password=<br />
<br />
Configuration also allows to switch between development and production environments, however, this setting should be ''true'' normally:<br />
<br />
# Indicates which APNS service is used when sending push notifications to iOS<br />
# devices. A value of "true" will use the production service, a value of <br />
# "false" the sandbox service. Defaults to "true".<br />
com.openexchange.drive.events.apn.ios.production=true<br />
<br />
The OX backend contacts the APNs servers from time to time to get informed about apps no longer reachable apps where the applications was uninstalled. The interval can be defined with the following setting: <br />
<br />
# Configures the interval between queries to the APN feedback service for the<br />
# subscribed iOS devices. The value can be defined using units of measurement: <br />
# "D" (=days), "W" (=weeks) and "H" (=hours). Defaults to "1D" (one day). <br />
# Leaving this parameter empty disables the feedback queries on this node. <br />
# Since each received feedback is processed cluster-wide, only one node in the <br />
# cluster should be enabled here. <br />
com.openexchange.drive.events.apn.ios.feedbackQueryInterval=1D<br />
<br />
Please note that if you have multiple backend nodes in the cluster, it's recommended that only one node is configured to contact the feedback query service. Finally, Push notifications via APN for iOS can be enabled via:<br />
<br />
# Enables or disables push event notifications to apps using the Apple Push<br />
# Notification service (APNS) for macOS devices. This requires a valid <br />
# configuration for the APNS certificate and keys, see either options below, <br />
# or install the restricted components packages for drive. Defaults to <br />
# "false". <br />
com.openexchange.drive.events.apn.ios.enabled=false<br />
<br />
As stated above, configuration for Push notifications via APN for the macOS desktop application is configured similarly, the relevant options are prefixed with ''com.openexchange.drive.events.apn.macos''. Please also note that push via APNS needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.<br />
<br />
=== Further Configuration ===<br />
<br />
* The backend component of OX Drive supplies the apps with various hyperlinks, e.g. deep-links to files and folders in the groupware webinterface or an URL to the online help. In order to point to the suitable web interface, please ensure that the correct UI web path is configured via ''com.openexchange.UIWebPath'' located in ''server.properties''.<br />
* As already mentioned above, the backend relies on the [https://grizzly.java.net/comet.html Comet] component of the Grizzly http connector for sending push notifications to the desktop apps. Therefore, ''com.openexchange.http.grizzly.hasCometEnabled'' needs to be set to ''true'' in ''grizzly.properties''.<br />
<br />
= Enabling OX Drive for Users =<br />
<br />
OX Drive is enabled for all users that have the capability ''com.openexchange.capability.drive''. Please note that users need to have the ''infostore'' permission set to use drive. So the users that have ''drive'' enabled must be a subset of those users with ''infostore'' permission. Since 7.6.0 we enforce this via the default configuration. You can also enable this cabaility globally with the following setting in the ''drive.properties'' configuration file:<br />
<br />
# Enables or disables the "drive" module capability globally. The capability<br />
# can also be set more fine-grained via config cascade. Per default it is only<br />
# enabled for users that have the "infostore" permission set. This is configured<br />
# in /opt/open-xchange/etc/contextSets/drive.yml.<br />
com.openexchange.capability.drive=false<br />
<br />
More details about capabilities can be found at [[AppSuite:Capabilities]]. Furthermore, this capability can be defined in a more granular way using the Config Cascade as described at [[ConfigCascade]].<br />
<br />
= Installation of the Apps =<br />
<br />
== Installation of macOS Desktop App ==<br />
<br />
The OX Drive for macOS is provided via the Mac App Store:<br />
<br />
* https://itunes.apple.com/app/ox-drive/id818195014?mt=12<br />
<br />
=== Enabling the Finder Extension on macOS ===<br />
<br />
In order to be able to open or share documents in the App Suite from Finder you need to enable the Drive Finder Extension.<br />
<br />
How to enable the Drive Finder Extension on macOS:<br />
# Open the System Preferences.<br />
# In the System Preferences window select Extensions.<br />
# In the Extensions window select Finder.<br />
# Enable Drive Finder Extension.<br />
<br />
== Installation of Windows Desktop App ==<br />
<br />
If the necessary packages are installed (See [[AppSuite:OX_Drive#OX_Drive_for_Windows|OX Drive for Windows]]), users can download the app from within the App Suite via "Settings > Connect my Device".<br />
<br />
== Installation of Android and iOS Apps ==<br />
<br />
The OX Drive app is available via the different App Stores:<br />
<br />
* iOS: https://apps.apple.com/de/app/ox-drive-by-open-xchange/id1585939206<br />
* Android: https://play.google.com/store/apps/details?id=com.openexchange.drive.vanilla<br />
<br />
== App Configuration and Deployment ==<br />
<br />
The user needs to enter the App Suite server URL and provide his username and password to log in. More help is available in the online documentation which is accessible from within the apps.<br />
<br />
After the initial synchronization is completed, all subsequent changes are synchronized instantly across all devices.<br />
<br />
'''Note:''' Version v7.10.3 of the OX App Suite introduced optional multifactor authentication, see https://documentation.open-xchange.com/7.10.3/middleware/security_and_encryption/multifactor_authentication.html. <br />
Not all OX Drive apps support this. <br />
<br />
To allow the apps to connect to a server that has multi-factor authentication activated, you can switch on app-specific passwords, see https://documentation.open-xchange.com/7.10.5/middleware/login_and_sessions/application_passwords.html. Then users need to define this password in App Suite under "Settings > Security > Application Passwords" and use it when signing in.<br />
<br />
<br />
<!-- = FAQ =<br />
<br />
You will find it under [https://oxpedia.org/wiki/index.php?title=Product_FAQ]. --></div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive&diff=26948AppSuite:OX Drive2022-06-02T13:05:15Z<p>Marco.Tabor: added info about app-specific passwords</p>
<hr />
<div>Source of http://oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive<br />
<br />
<br />
<br />
= OX Drive =<br />
<br />
In OX App Suite, Open-Xchange provides a cloud storage called OX Drive. It provides file- and folder synchronization across multiple devices in the simplest way for the end user, fully optimized for each device type. This article explains how to set up the server-side components for OX Drive, as well as details about the app setup.<br />
<br />
== Key features ==<br />
<br />
* Native Apps for Windows, macOS, iOS and Android<br />
* Easy and attractive upsell properties (e.g. Upsell based on Quota limitations)<br />
* Apps are specially designed for the devices they run on taking into account limitations such as battery life, screen limitations, bandwidth etc.<br />
* Controlled synchronization of files across devices<br />
* Storage management (e.g. quota control, upload limits)<br />
* Connection type recognition and adaptation (e.g. Wi-Fi, cell network)<br />
<br />
== Availability ==<br />
<br />
OX Drive is a combination of two components:<br />
* OX Drive in OX App Suite<br />
* OX Drive Apps (optional native apps for synchronization)<br />
<br />
OX Drive is available as native app for the following operating systems:<br />
* OX Drive for Windows (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive for macOS (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive v2 for iOS (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive v3 for iOS (supported with OX App Suite v7.10.6)<br />
* OX Drive for Android (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
<br />
== Requirements ==<br />
<br />
You will find the requirements under [[AppSuite:OX_System_Requirements#OX_Drive_for_Clients|OX Drive App and Platform Requirements]]<br />
<br />
= Server-side Installation and Configuration =<br />
<br />
This chapter describes how the backend components of OX Drive are installed and configured on the server.<br />
<br />
== Prerequisites ==<br />
<br />
* Open-Xchange Server v7.10.5 and above (''open-xchange-core'')<br />
* Grizzly HTTP connector (''open-xchange-grizzly''), see [[AppSuite:Grizzly]] for details, with ''Comet'' support enabled in ''grizzly.properties''<br />
* Valid Push-Certificates / API keys for cloud-based notifications, see configuration below<br />
* Enabled Hazelcast for inter-OX-communication, see [[AppSuite:Running_a_cluster]] for details<br />
<br />
== Available packages ==<br />
<br />
Open-Xchange Drive is available with the following backend packages:<br />
<br />
* ''open-xchange-drive'' - The main server components for OX Drive<br />
* ''open-xchange-drive-comet'' - Provides the Push interface via long-polling for the desktop apps<br />
* ''open-xchange-drive-help-*'' - Online help in various languages for the OX Drive applications (these were called ''open-xchange-appsuite-help-drive-*'' in versions earlier than Open-Xchange Server v7.6.2)<br />
* ''open-xchange-drive-restricted'' - Restricted components, including prerequisites for cloud-based push notifications<br />
<br />
Installation on the server varies depending on the underlying distribution, details are available in the following chapters.<br />
<br />
=== OX Drive for Windows ===<br />
<br />
Additionally OX Drive for Windows can be provided to users by installing additional packages.<br />
<br />
OX Drive for Windows is able to update itself and can be downloaded from the Web UI directly via the [[AppSuite:Client_Onboarding|App Onboarding Wizard]]. Therefore the wizard must be installed and configured for OX Drive users. Besides the client onboarding feature you need the following packages:<br />
<br />
* ''open-xchange-drive-client-windows'' - The main server component to provide the app<br />
* ''open-xchange-drive-client-windows-generic'' - The package providing the final binary files to be installed on users machines.<br />
<br />
To make the app download available via the app onboarding wizard, you need to enable the according scenario. Edit ''/opt/open-xchange/etc/client-onboarding-scenarios.yml'' and get to the ''drivewindowsclientinstall'' section, where you have to set the ''enabled'' property to ''true''.<br />
<br />
[[File:Drive_Update.png|500px|thumb|left|Drive Update Info]]<br />
<br />
===== Custom branded apps =====<br />
<br />
OX Drive for Windows can be purchased with a custom theming. In such cases, the according binary files need to be installed on the middleware servers. Instead of the ''open-xchange-drive-client-windows-generic'' package, a package containing the branded binaries will be provided as ''open-xchange-drive-client-windows-<brand-name>'' and needs to be installed. You MUST then set the property ''com.openexchange.drive.update.branding'' in ''/opt/open-xchange/etc/drive-client-windows.properties'' to ''<brand-name>'' accordingly.<br />
<br />
It is also possible to provide multiple brands of the app via the same OX App Suite deployment, multiple ''open-xchange-drive-client-windows-<brand-name>'' packages can be installed in parallel. Which brand is available for a certain user is determined by the ''com.openexchange.drive.update.branding'' property, which can be overwritten via [[ConfigCascade|Config Cascade]] therefore.<br />
<br />
App brands can be managed via command line tools. The tool ''/opt/open-xchange/sbin/listdriveclients'' lists all installed brands. After updating a certain brand by installing a newer package version or installing an additional one, no server restart is necessary. Instead ''/opt/open-xchange/sbin/reloaddriveclients'' can be executed to refresh the internal server state.<br />
<br />
<br />
=== Redhat Enterprise Linux 7 or CentOS 7 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange yum configuration:<br />
<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|backend}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|drive-help}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ yum update<br />
$ yum install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== Debian GNU/Linux 9.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== Debian GNU/Linux 10.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
<br />
=== OX Server Edition / App Suite for UCS ===<br />
<br />
If you have purchased the OX Server Edition / App Suite for UCS, the OX Drive is part of the offering and after the installation/update available. The necessary package for push, is available with a valid license and can be installed via the Univention App Center.<br />
<br />
* The new license is already registered at the LDB after purchase.<br />
* Log on at the Univention Management Console (UMC)<br />
* Make sure, that the correct LDB account has been selected in the UMC module "OX License Management"<br />
* Click on "App Center" at the UMC und switch to the tab "Repository Settings"<br />
* Within the component list, select "Open-Xchange Drive" and press the "Install" button<br />
<br />
== Configuration ==<br />
<br />
The following gives an overview about the most important settings to enable file synchronization via OX Drive, especially when it comes to real-time Push notifications for the apps.<br />
<br />
All settings regarding the OX Drive backend component are located in the configuration file ''drive.properties''. The default configuration should be sufficient for a basic "up-and-running" setup (with the exception of defining the Push certificates and API keys for cloud-based app notifications, see next chapters). Please refer to the inline documentation of the configuration file for more advanced options. <br />
<br />
Most properties located in configuration file ''drive.properties'' are now config-cascade aware. Therefore all settings can be set per user, per contextSet or per context. If there is no configuration per user, per contextSet or per context, the configuration in ''drive.properties'' will still be used as server-wide fallback.<br />
<br />
When installing from scratch, the configuration file ''drive.properties'' is no longer shipped, as the default values are used. For more details, find an overview of configurable settings [https://documentation.open-xchange.com/7.10.5/middleware/administration.html here].<br />
<br />
If no Push certificates and API keys are defined but cloud-based app notifications are enabled, the Push certificates and API keys from package ''open-xchange-drive-restricted'' are used as fallback, if this package is installed.<br />
<br />
=== Push via Firebase Cloud Messaging (FCM) ===<br />
<br />
The OX Drive application for Android devices is able to receive Push notifications from the Open-Xchange Server via [https://firebase.google.com/docs/cloud-messaging/ Firebase Cloud Messaging (FCM)]. To issue those Push messages, the backend needs to be provided with a suitable API key for the corresponding Android app application. The API key is included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" Android app. Alternatively, the key can be specified directly in the ''drive.properties'' configuration file:<br />
<br />
# Specifies the API key of the server application. Required if <br />
# "com.openexchange.drive.events.gcm.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.gcm.key=<br />
<br />
Push via FCM can be enabled via:<br />
<br />
# Enables or disables push event notifications to apps using the Google<br />
# Firebase Cloud Messaging (FCM) service. This requires a valid configuration for the <br />
# FCM API key, see options below. Defaults to "false". <br />
com.openexchange.drive.events.gcm.enabled=true<br />
<br />
Please note that push via FCM needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.<br />
<br />
=== Push via Apple Push Notification service (APNs) ===<br />
<br />
The OX Drive application for iOS and macOS devices is able to receive Push notifications from the Open-Xchange Server via [http://developer.apple.com/library/IOS/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html Apple Push Notification service (APNs)]. To issue those Push messages, the backend needs to be provided with a suitable keystore container file (PKCS #12) containing the APNs certificate and keys. Note that the macOS desktop app and the iOS mobile app are served separately with different certificates, so that both needs to be configured independently. The required certificates are already included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" iOS and macOS applications. Therefore no additional configuration is needed. Alternatively, an external certificate can be specified directly in the ''drive.properties'' configuration file (the following only shows the setup for iOS). First, the path to the PKCS #12 container file needs to be specified at:<br />
<br />
# Specifies the path to the local keystore file (PKCS #12) containing the APNS <br />
# certificate and keys for the iOS application, e.g. <br />
# "/opt/open-xchange/etc/drive-apns.p12". Required if <br />
# "com.openexchange.drive.events.apn.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.apn.ios.keystore=<br />
<br />
This file is opened by the backend using the password as supplied via: <br />
<br />
# Specifies the password used when creating the referenced keystore containing<br />
# the certificate of the iOS application. Note that blank or null passwords <br />
# are in violation of the PKCS #12 specifications. Required if <br />
# "com.openexchange.drive.events.apn.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.apn.ios.password=<br />
<br />
Configuration also allows to switch between development and production environments, however, this setting should be ''true'' normally:<br />
<br />
# Indicates which APNS service is used when sending push notifications to iOS<br />
# devices. A value of "true" will use the production service, a value of <br />
# "false" the sandbox service. Defaults to "true".<br />
com.openexchange.drive.events.apn.ios.production=true<br />
<br />
The OX backend contacts the APNs servers from time to time to get informed about apps no longer reachable apps where the applications was uninstalled. The interval can be defined with the following setting: <br />
<br />
# Configures the interval between queries to the APN feedback service for the<br />
# subscribed iOS devices. The value can be defined using units of measurement: <br />
# "D" (=days), "W" (=weeks) and "H" (=hours). Defaults to "1D" (one day). <br />
# Leaving this parameter empty disables the feedback queries on this node. <br />
# Since each received feedback is processed cluster-wide, only one node in the <br />
# cluster should be enabled here. <br />
com.openexchange.drive.events.apn.ios.feedbackQueryInterval=1D<br />
<br />
Please note that if you have multiple backend nodes in the cluster, it's recommended that only one node is configured to contact the feedback query service. Finally, Push notifications via APN for iOS can be enabled via:<br />
<br />
# Enables or disables push event notifications to apps using the Apple Push<br />
# Notification service (APNS) for macOS devices. This requires a valid <br />
# configuration for the APNS certificate and keys, see either options below, <br />
# or install the restricted components packages for drive. Defaults to <br />
# "false". <br />
com.openexchange.drive.events.apn.ios.enabled=false<br />
<br />
As stated above, configuration for Push notifications via APN for the macOS desktop application is configured similarly, the relevant options are prefixed with ''com.openexchange.drive.events.apn.macos''. Please also note that push via APNS needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.<br />
<br />
=== Further Configuration ===<br />
<br />
* The backend component of OX Drive supplies the apps with various hyperlinks, e.g. deep-links to files and folders in the groupware webinterface or an URL to the online help. In order to point to the suitable web interface, please ensure that the correct UI web path is configured via ''com.openexchange.UIWebPath'' located in ''server.properties''.<br />
* As already mentioned above, the backend relies on the [https://grizzly.java.net/comet.html Comet] component of the Grizzly http connector for sending push notifications to the desktop apps. Therefore, ''com.openexchange.http.grizzly.hasCometEnabled'' needs to be set to ''true'' in ''grizzly.properties''.<br />
<br />
= Enabling OX Drive for Users =<br />
<br />
OX Drive is enabled for all users that have the capability ''com.openexchange.capability.drive''. Please note that users need to have the ''infostore'' permission set to use drive. So the users that have ''drive'' enabled must be a subset of those users with ''infostore'' permission. Since 7.6.0 we enforce this via the default configuration. You can also enable this cabaility globally with the following setting in the ''drive.properties'' configuration file:<br />
<br />
# Enables or disables the "drive" module capability globally. The capability<br />
# can also be set more fine-grained via config cascade. Per default it is only<br />
# enabled for users that have the "infostore" permission set. This is configured<br />
# in /opt/open-xchange/etc/contextSets/drive.yml.<br />
com.openexchange.capability.drive=false<br />
<br />
More details about capabilities can be found at [[AppSuite:Capabilities]]. Furthermore, this capability can be defined in a more granular way using the Config Cascade as described at [[ConfigCascade]].<br />
<br />
= Installation of the Apps =<br />
<br />
== Installation of macOS Desktop App ==<br />
<br />
The OX Drive for macOS is provided via the Mac App Store:<br />
<br />
* https://itunes.apple.com/app/ox-drive/id818195014?mt=12<br />
<br />
=== Enabling the Finder Extension on macOS ===<br />
<br />
In order to be able to open or share documents in the App Suite from Finder you need to enable the Drive Finder Extension.<br />
<br />
How to enable the Drive Finder Extension on macOS:<br />
# Open the System Preferences.<br />
# In the System Preferences window select Extensions.<br />
# In the Extensions window select Finder.<br />
# Enable Drive Finder Extension.<br />
<br />
== Installation of Windows Desktop App ==<br />
<br />
If the necessary packages are installed (See [[AppSuite:OX_Drive#OX_Drive_for_Windows|OX Drive for Windows]]), users can download the app from within the App Suite via "Settings > Connect my Device".<br />
<br />
== Installation of Android and iOS Apps ==<br />
<br />
The OX Drive app is available via the different App Stores:<br />
<br />
* iOS: https://apps.apple.com/de/app/ox-drive-by-open-xchange/id1585939206<br />
* Android: https://play.google.com/store/apps/details?id=com.openexchange.drive.vanilla<br />
<br />
== App Configuration and Deployment ==<br />
<br />
The user needs to enter the App Suite server URL and provide his username and password to log in. More help is available in the online documentation which is accessible from within the apps.<br />
<br />
After the initial synchronization is completed, all subsequent changes are synchronized instantly across all devices.<br />
<br />
'''Note:''' Version v7.10.3 of the OX App Suite introduced optional multifactor authentication, see https://documentation.open-xchange.com/7.10.3/middleware/security_and_encryption/multifactor_authentication.html. <br />
The OX Drive apps do not support this yet. <br />
<br />
To allow the apps to connect to a server that has multi-factor authentication activated, you can switch on app-specific passwords, see https://documentation.open-xchange.com/7.10.5/middleware/login_and_sessions/application_passwords.html. Then users need to define this password in App Suite under "Settings > Security > Application Passwords" and use it when signing in.<br />
<br />
<br />
<!-- = FAQ =<br />
<br />
You will find it under [https://oxpedia.org/wiki/index.php?title=Product_FAQ]. --></div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive&diff=26945AppSuite:OX Drive2022-06-02T12:52:53Z<p>Marco.Tabor: /* Installation of Android and iOS Apps */</p>
<hr />
<div>Source of http://oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive<br />
<br />
<br />
<br />
= OX Drive =<br />
<br />
In OX App Suite, Open-Xchange provides a cloud storage called OX Drive. It provides file- and folder synchronization across multiple devices in the simplest way for the end user, fully optimized for each device type. This article explains how to set up the server-side components for OX Drive, as well as details about the app setup.<br />
<br />
== Key features ==<br />
<br />
* Native Apps for Windows, macOS, iOS and Android<br />
* Easy and attractive upsell properties (e.g. Upsell based on Quota limitations)<br />
* Apps are specially designed for the devices they run on taking into account limitations such as battery life, screen limitations, bandwidth etc.<br />
* Controlled synchronization of files across devices<br />
* Storage management (e.g. quota control, upload limits)<br />
* Connection type recognition and adaptation (e.g. Wi-Fi, cell network)<br />
<br />
== Availability ==<br />
<br />
OX Drive is a combination of two components:<br />
* OX Drive in OX App Suite<br />
* OX Drive Apps (optional native apps for synchronization)<br />
<br />
OX Drive is available as native app for the following operating systems:<br />
* OX Drive for Windows (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive for macOS (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive v2 for iOS (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive v3 for iOS (supported with OX App Suite v7.10.6)<br />
* OX Drive for Android (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
<br />
== Requirements ==<br />
<br />
You will find the requirements under [[AppSuite:OX_System_Requirements#OX_Drive_for_Clients|OX Drive App and Platform Requirements]]<br />
<br />
= Server-side Installation and Configuration =<br />
<br />
This chapter describes how the backend components of OX Drive are installed and configured on the server.<br />
<br />
== Prerequisites ==<br />
<br />
* Open-Xchange Server v7.10.5 and above (''open-xchange-core'')<br />
* Grizzly HTTP connector (''open-xchange-grizzly''), see [[AppSuite:Grizzly]] for details, with ''Comet'' support enabled in ''grizzly.properties''<br />
* Valid Push-Certificates / API keys for cloud-based notifications, see configuration below<br />
* Enabled Hazelcast for inter-OX-communication, see [[AppSuite:Running_a_cluster]] for details<br />
<br />
== Available packages ==<br />
<br />
Open-Xchange Drive is available with the following backend packages:<br />
<br />
* ''open-xchange-drive'' - The main server components for OX Drive<br />
* ''open-xchange-drive-comet'' - Provides the Push interface via long-polling for the desktop apps<br />
* ''open-xchange-drive-help-*'' - Online help in various languages for the OX Drive applications (these were called ''open-xchange-appsuite-help-drive-*'' in versions earlier than Open-Xchange Server v7.6.2)<br />
* ''open-xchange-drive-restricted'' - Restricted components, including prerequisites for cloud-based push notifications<br />
<br />
Installation on the server varies depending on the underlying distribution, details are available in the following chapters.<br />
<br />
=== OX Drive for Windows ===<br />
<br />
Additionally OX Drive for Windows can be provided to users by installing additional packages.<br />
<br />
OX Drive for Windows is able to update itself and can be downloaded from the Web UI directly via the [[AppSuite:Client_Onboarding|App Onboarding Wizard]]. Therefore the wizard must be installed and configured for OX Drive users. Besides the client onboarding feature you need the following packages:<br />
<br />
* ''open-xchange-drive-client-windows'' - The main server component to provide the app<br />
* ''open-xchange-drive-client-windows-generic'' - The package providing the final binary files to be installed on users machines.<br />
<br />
To make the app download available via the app onboarding wizard, you need to enable the according scenario. Edit ''/opt/open-xchange/etc/client-onboarding-scenarios.yml'' and get to the ''drivewindowsclientinstall'' section, where you have to set the ''enabled'' property to ''true''.<br />
<br />
[[File:Drive_Update.png|500px|thumb|left|Drive Update Info]]<br />
<br />
===== Custom branded apps =====<br />
<br />
OX Drive for Windows can be purchased with a custom theming. In such cases, the according binary files need to be installed on the middleware servers. Instead of the ''open-xchange-drive-client-windows-generic'' package, a package containing the branded binaries will be provided as ''open-xchange-drive-client-windows-<brand-name>'' and needs to be installed. You MUST then set the property ''com.openexchange.drive.update.branding'' in ''/opt/open-xchange/etc/drive-client-windows.properties'' to ''<brand-name>'' accordingly.<br />
<br />
It is also possible to provide multiple brands of the app via the same OX App Suite deployment, multiple ''open-xchange-drive-client-windows-<brand-name>'' packages can be installed in parallel. Which brand is available for a certain user is determined by the ''com.openexchange.drive.update.branding'' property, which can be overwritten via [[ConfigCascade|Config Cascade]] therefore.<br />
<br />
App brands can be managed via command line tools. The tool ''/opt/open-xchange/sbin/listdriveclients'' lists all installed brands. After updating a certain brand by installing a newer package version or installing an additional one, no server restart is necessary. Instead ''/opt/open-xchange/sbin/reloaddriveclients'' can be executed to refresh the internal server state.<br />
<br />
<br />
=== Redhat Enterprise Linux 7 or CentOS 7 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange yum configuration:<br />
<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|backend}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|drive-help}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ yum update<br />
$ yum install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== Debian GNU/Linux 9.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== Debian GNU/Linux 10.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
<br />
=== OX Server Edition / App Suite for UCS ===<br />
<br />
If you have purchased the OX Server Edition / App Suite for UCS, the OX Drive is part of the offering and after the installation/update available. The necessary package for push, is available with a valid license and can be installed via the Univention App Center.<br />
<br />
* The new license is already registered at the LDB after purchase.<br />
* Log on at the Univention Management Console (UMC)<br />
* Make sure, that the correct LDB account has been selected in the UMC module "OX License Management"<br />
* Click on "App Center" at the UMC und switch to the tab "Repository Settings"<br />
* Within the component list, select "Open-Xchange Drive" and press the "Install" button<br />
<br />
== Configuration ==<br />
<br />
The following gives an overview about the most important settings to enable file synchronization via OX Drive, especially when it comes to real-time Push notifications for the apps.<br />
<br />
All settings regarding the OX Drive backend component are located in the configuration file ''drive.properties''. The default configuration should be sufficient for a basic "up-and-running" setup (with the exception of defining the Push certificates and API keys for cloud-based app notifications, see next chapters). Please refer to the inline documentation of the configuration file for more advanced options. <br />
<br />
Most properties located in configuration file ''drive.properties'' are now config-cascade aware. Therefore all settings can be set per user, per contextSet or per context. If there is no configuration per user, per contextSet or per context, the configuration in ''drive.properties'' will still be used as server-wide fallback.<br />
<br />
When installing from scratch, the configuration file ''drive.properties'' is no longer shipped, as the default values are used. For more details, find an overview of configurable settings [https://documentation.open-xchange.com/7.10.5/middleware/administration.html here].<br />
<br />
If no Push certificates and API keys are defined but cloud-based app notifications are enabled, the Push certificates and API keys from package ''open-xchange-drive-restricted'' are used as fallback, if this package is installed.<br />
<br />
=== Push via Firebase Cloud Messaging (FCM) ===<br />
<br />
The OX Drive application for Android devices is able to receive Push notifications from the Open-Xchange Server via [https://firebase.google.com/docs/cloud-messaging/ Firebase Cloud Messaging (FCM)]. To issue those Push messages, the backend needs to be provided with a suitable API key for the corresponding Android app application. The API key is included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" Android app. Alternatively, the key can be specified directly in the ''drive.properties'' configuration file:<br />
<br />
# Specifies the API key of the server application. Required if <br />
# "com.openexchange.drive.events.gcm.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.gcm.key=<br />
<br />
Push via FCM can be enabled via:<br />
<br />
# Enables or disables push event notifications to apps using the Google<br />
# Firebase Cloud Messaging (FCM) service. This requires a valid configuration for the <br />
# FCM API key, see options below. Defaults to "false". <br />
com.openexchange.drive.events.gcm.enabled=true<br />
<br />
Please note that push via FCM needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.<br />
<br />
=== Push via Apple Push Notification service (APNs) ===<br />
<br />
The OX Drive application for iOS and macOS devices is able to receive Push notifications from the Open-Xchange Server via [http://developer.apple.com/library/IOS/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html Apple Push Notification service (APNs)]. To issue those Push messages, the backend needs to be provided with a suitable keystore container file (PKCS #12) containing the APNs certificate and keys. Note that the macOS desktop app and the iOS mobile app are served separately with different certificates, so that both needs to be configured independently. The required certificates are already included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" iOS and macOS applications. Therefore no additional configuration is needed. Alternatively, an external certificate can be specified directly in the ''drive.properties'' configuration file (the following only shows the setup for iOS). First, the path to the PKCS #12 container file needs to be specified at:<br />
<br />
# Specifies the path to the local keystore file (PKCS #12) containing the APNS <br />
# certificate and keys for the iOS application, e.g. <br />
# "/opt/open-xchange/etc/drive-apns.p12". Required if <br />
# "com.openexchange.drive.events.apn.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.apn.ios.keystore=<br />
<br />
This file is opened by the backend using the password as supplied via: <br />
<br />
# Specifies the password used when creating the referenced keystore containing<br />
# the certificate of the iOS application. Note that blank or null passwords <br />
# are in violation of the PKCS #12 specifications. Required if <br />
# "com.openexchange.drive.events.apn.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.apn.ios.password=<br />
<br />
Configuration also allows to switch between development and production environments, however, this setting should be ''true'' normally:<br />
<br />
# Indicates which APNS service is used when sending push notifications to iOS<br />
# devices. A value of "true" will use the production service, a value of <br />
# "false" the sandbox service. Defaults to "true".<br />
com.openexchange.drive.events.apn.ios.production=true<br />
<br />
The OX backend contacts the APNs servers from time to time to get informed about apps no longer reachable apps where the applications was uninstalled. The interval can be defined with the following setting: <br />
<br />
# Configures the interval between queries to the APN feedback service for the<br />
# subscribed iOS devices. The value can be defined using units of measurement: <br />
# "D" (=days), "W" (=weeks) and "H" (=hours). Defaults to "1D" (one day). <br />
# Leaving this parameter empty disables the feedback queries on this node. <br />
# Since each received feedback is processed cluster-wide, only one node in the <br />
# cluster should be enabled here. <br />
com.openexchange.drive.events.apn.ios.feedbackQueryInterval=1D<br />
<br />
Please note that if you have multiple backend nodes in the cluster, it's recommended that only one node is configured to contact the feedback query service. Finally, Push notifications via APN for iOS can be enabled via:<br />
<br />
# Enables or disables push event notifications to apps using the Apple Push<br />
# Notification service (APNS) for macOS devices. This requires a valid <br />
# configuration for the APNS certificate and keys, see either options below, <br />
# or install the restricted components packages for drive. Defaults to <br />
# "false". <br />
com.openexchange.drive.events.apn.ios.enabled=false<br />
<br />
As stated above, configuration for Push notifications via APN for the macOS desktop application is configured similarly, the relevant options are prefixed with ''com.openexchange.drive.events.apn.macos''. Please also note that push via APNS needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.<br />
<br />
=== Further Configuration ===<br />
<br />
* The backend component of OX Drive supplies the apps with various hyperlinks, e.g. deep-links to files and folders in the groupware webinterface or an URL to the online help. In order to point to the suitable web interface, please ensure that the correct UI web path is configured via ''com.openexchange.UIWebPath'' located in ''server.properties''.<br />
* As already mentioned above, the backend relies on the [https://grizzly.java.net/comet.html Comet] component of the Grizzly http connector for sending push notifications to the desktop apps. Therefore, ''com.openexchange.http.grizzly.hasCometEnabled'' needs to be set to ''true'' in ''grizzly.properties''.<br />
<br />
= Enabling OX Drive for Users =<br />
<br />
OX Drive is enabled for all users that have the capability ''com.openexchange.capability.drive''. Please note that users need to have the ''infostore'' permission set to use drive. So the users that have ''drive'' enabled must be a subset of those users with ''infostore'' permission. Since 7.6.0 we enforce this via the default configuration. You can also enable this cabaility globally with the following setting in the ''drive.properties'' configuration file:<br />
<br />
# Enables or disables the "drive" module capability globally. The capability<br />
# can also be set more fine-grained via config cascade. Per default it is only<br />
# enabled for users that have the "infostore" permission set. This is configured<br />
# in /opt/open-xchange/etc/contextSets/drive.yml.<br />
com.openexchange.capability.drive=false<br />
<br />
More details about capabilities can be found at [[AppSuite:Capabilities]]. Furthermore, this capability can be defined in a more granular way using the Config Cascade as described at [[ConfigCascade]].<br />
<br />
= Installation of the Apps =<br />
<br />
== Installation of macOS Desktop App ==<br />
<br />
The OX Drive for macOS is provided via the Mac App Store:<br />
<br />
* https://itunes.apple.com/app/ox-drive/id818195014?mt=12<br />
<br />
=== Enabling the Finder Extension on macOS ===<br />
<br />
In order to be able to open or share documents in the App Suite from Finder you need to enable the Drive Finder Extension.<br />
<br />
How to enable the Drive Finder Extension on macOS:<br />
# Open the System Preferences.<br />
# In the System Preferences window select Extensions.<br />
# In the Extensions window select Finder.<br />
# Enable Drive Finder Extension.<br />
<br />
== Installation of Windows Desktop App ==<br />
<br />
If the necessary packages are installed (See [[AppSuite:OX_Drive#OX_Drive_for_Windows|OX Drive for Windows]]), users can download the app from within the App Suite via "Settings > Connect my Device".<br />
<br />
== Installation of Android and iOS Apps ==<br />
<br />
The OX Drive app is available via the different App Stores:<br />
<br />
* iOS: https://apps.apple.com/de/app/ox-drive-by-open-xchange/id1585939206<br />
* Android: https://play.google.com/store/apps/details?id=com.openexchange.drive.vanilla<br />
<br />
== App Configuration and Deployment ==<br />
<br />
The user needs to enter the server URL and provide his username and password to log in. Afterwards, app-specific synchronisation settings may be configured. More information is available in the online documentation which is accessible from within the app.<br />
<br />
After the initial synchronization is completed, all further changes are synchronized instantly across all devices.<br />
<br />
'''Note:''' Version v7.10.3 of the OX App Suite introduced optional multifactor authentication, see https://documentation.open-xchange.com/7.10.3/middleware/security_and_encryption/multifactor_authentication.html. <br />
The OX Drive apps do not support this yet. If activated on the server, you will not be able to connect with the apps anymore.<br />
<br />
<br />
<!-- = FAQ =<br />
<br />
You will find it under [https://oxpedia.org/wiki/index.php?title=Product_FAQ]. --></div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive&diff=26942AppSuite:OX Drive2022-06-02T12:52:26Z<p>Marco.Tabor: /* Installation of Android and iOS Apps */</p>
<hr />
<div>Source of http://oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive<br />
<br />
<br />
<br />
= OX Drive =<br />
<br />
In OX App Suite, Open-Xchange provides a cloud storage called OX Drive. It provides file- and folder synchronization across multiple devices in the simplest way for the end user, fully optimized for each device type. This article explains how to set up the server-side components for OX Drive, as well as details about the app setup.<br />
<br />
== Key features ==<br />
<br />
* Native Apps for Windows, macOS, iOS and Android<br />
* Easy and attractive upsell properties (e.g. Upsell based on Quota limitations)<br />
* Apps are specially designed for the devices they run on taking into account limitations such as battery life, screen limitations, bandwidth etc.<br />
* Controlled synchronization of files across devices<br />
* Storage management (e.g. quota control, upload limits)<br />
* Connection type recognition and adaptation (e.g. Wi-Fi, cell network)<br />
<br />
== Availability ==<br />
<br />
OX Drive is a combination of two components:<br />
* OX Drive in OX App Suite<br />
* OX Drive Apps (optional native apps for synchronization)<br />
<br />
OX Drive is available as native app for the following operating systems:<br />
* OX Drive for Windows (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive for macOS (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive v2 for iOS (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive v3 for iOS (supported with OX App Suite v7.10.6)<br />
* OX Drive for Android (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
<br />
== Requirements ==<br />
<br />
You will find the requirements under [[AppSuite:OX_System_Requirements#OX_Drive_for_Clients|OX Drive App and Platform Requirements]]<br />
<br />
= Server-side Installation and Configuration =<br />
<br />
This chapter describes how the backend components of OX Drive are installed and configured on the server.<br />
<br />
== Prerequisites ==<br />
<br />
* Open-Xchange Server v7.10.5 and above (''open-xchange-core'')<br />
* Grizzly HTTP connector (''open-xchange-grizzly''), see [[AppSuite:Grizzly]] for details, with ''Comet'' support enabled in ''grizzly.properties''<br />
* Valid Push-Certificates / API keys for cloud-based notifications, see configuration below<br />
* Enabled Hazelcast for inter-OX-communication, see [[AppSuite:Running_a_cluster]] for details<br />
<br />
== Available packages ==<br />
<br />
Open-Xchange Drive is available with the following backend packages:<br />
<br />
* ''open-xchange-drive'' - The main server components for OX Drive<br />
* ''open-xchange-drive-comet'' - Provides the Push interface via long-polling for the desktop apps<br />
* ''open-xchange-drive-help-*'' - Online help in various languages for the OX Drive applications (these were called ''open-xchange-appsuite-help-drive-*'' in versions earlier than Open-Xchange Server v7.6.2)<br />
* ''open-xchange-drive-restricted'' - Restricted components, including prerequisites for cloud-based push notifications<br />
<br />
Installation on the server varies depending on the underlying distribution, details are available in the following chapters.<br />
<br />
=== OX Drive for Windows ===<br />
<br />
Additionally OX Drive for Windows can be provided to users by installing additional packages.<br />
<br />
OX Drive for Windows is able to update itself and can be downloaded from the Web UI directly via the [[AppSuite:Client_Onboarding|App Onboarding Wizard]]. Therefore the wizard must be installed and configured for OX Drive users. Besides the client onboarding feature you need the following packages:<br />
<br />
* ''open-xchange-drive-client-windows'' - The main server component to provide the app<br />
* ''open-xchange-drive-client-windows-generic'' - The package providing the final binary files to be installed on users machines.<br />
<br />
To make the app download available via the app onboarding wizard, you need to enable the according scenario. Edit ''/opt/open-xchange/etc/client-onboarding-scenarios.yml'' and get to the ''drivewindowsclientinstall'' section, where you have to set the ''enabled'' property to ''true''.<br />
<br />
[[File:Drive_Update.png|500px|thumb|left|Drive Update Info]]<br />
<br />
===== Custom branded apps =====<br />
<br />
OX Drive for Windows can be purchased with a custom theming. In such cases, the according binary files need to be installed on the middleware servers. Instead of the ''open-xchange-drive-client-windows-generic'' package, a package containing the branded binaries will be provided as ''open-xchange-drive-client-windows-<brand-name>'' and needs to be installed. You MUST then set the property ''com.openexchange.drive.update.branding'' in ''/opt/open-xchange/etc/drive-client-windows.properties'' to ''<brand-name>'' accordingly.<br />
<br />
It is also possible to provide multiple brands of the app via the same OX App Suite deployment, multiple ''open-xchange-drive-client-windows-<brand-name>'' packages can be installed in parallel. Which brand is available for a certain user is determined by the ''com.openexchange.drive.update.branding'' property, which can be overwritten via [[ConfigCascade|Config Cascade]] therefore.<br />
<br />
App brands can be managed via command line tools. The tool ''/opt/open-xchange/sbin/listdriveclients'' lists all installed brands. After updating a certain brand by installing a newer package version or installing an additional one, no server restart is necessary. Instead ''/opt/open-xchange/sbin/reloaddriveclients'' can be executed to refresh the internal server state.<br />
<br />
<br />
=== Redhat Enterprise Linux 7 or CentOS 7 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange yum configuration:<br />
<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|backend}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|drive-help}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ yum update<br />
$ yum install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== Debian GNU/Linux 9.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== Debian GNU/Linux 10.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
<br />
=== OX Server Edition / App Suite for UCS ===<br />
<br />
If you have purchased the OX Server Edition / App Suite for UCS, the OX Drive is part of the offering and after the installation/update available. The necessary package for push, is available with a valid license and can be installed via the Univention App Center.<br />
<br />
* The new license is already registered at the LDB after purchase.<br />
* Log on at the Univention Management Console (UMC)<br />
* Make sure, that the correct LDB account has been selected in the UMC module "OX License Management"<br />
* Click on "App Center" at the UMC und switch to the tab "Repository Settings"<br />
* Within the component list, select "Open-Xchange Drive" and press the "Install" button<br />
<br />
== Configuration ==<br />
<br />
The following gives an overview about the most important settings to enable file synchronization via OX Drive, especially when it comes to real-time Push notifications for the apps.<br />
<br />
All settings regarding the OX Drive backend component are located in the configuration file ''drive.properties''. The default configuration should be sufficient for a basic "up-and-running" setup (with the exception of defining the Push certificates and API keys for cloud-based app notifications, see next chapters). Please refer to the inline documentation of the configuration file for more advanced options. <br />
<br />
Most properties located in configuration file ''drive.properties'' are now config-cascade aware. Therefore all settings can be set per user, per contextSet or per context. If there is no configuration per user, per contextSet or per context, the configuration in ''drive.properties'' will still be used as server-wide fallback.<br />
<br />
When installing from scratch, the configuration file ''drive.properties'' is no longer shipped, as the default values are used. For more details, find an overview of configurable settings [https://documentation.open-xchange.com/7.10.5/middleware/administration.html here].<br />
<br />
If no Push certificates and API keys are defined but cloud-based app notifications are enabled, the Push certificates and API keys from package ''open-xchange-drive-restricted'' are used as fallback, if this package is installed.<br />
<br />
=== Push via Firebase Cloud Messaging (FCM) ===<br />
<br />
The OX Drive application for Android devices is able to receive Push notifications from the Open-Xchange Server via [https://firebase.google.com/docs/cloud-messaging/ Firebase Cloud Messaging (FCM)]. To issue those Push messages, the backend needs to be provided with a suitable API key for the corresponding Android app application. The API key is included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" Android app. Alternatively, the key can be specified directly in the ''drive.properties'' configuration file:<br />
<br />
# Specifies the API key of the server application. Required if <br />
# "com.openexchange.drive.events.gcm.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.gcm.key=<br />
<br />
Push via FCM can be enabled via:<br />
<br />
# Enables or disables push event notifications to apps using the Google<br />
# Firebase Cloud Messaging (FCM) service. This requires a valid configuration for the <br />
# FCM API key, see options below. Defaults to "false". <br />
com.openexchange.drive.events.gcm.enabled=true<br />
<br />
Please note that push via FCM needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.<br />
<br />
=== Push via Apple Push Notification service (APNs) ===<br />
<br />
The OX Drive application for iOS and macOS devices is able to receive Push notifications from the Open-Xchange Server via [http://developer.apple.com/library/IOS/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html Apple Push Notification service (APNs)]. To issue those Push messages, the backend needs to be provided with a suitable keystore container file (PKCS #12) containing the APNs certificate and keys. Note that the macOS desktop app and the iOS mobile app are served separately with different certificates, so that both needs to be configured independently. The required certificates are already included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" iOS and macOS applications. Therefore no additional configuration is needed. Alternatively, an external certificate can be specified directly in the ''drive.properties'' configuration file (the following only shows the setup for iOS). First, the path to the PKCS #12 container file needs to be specified at:<br />
<br />
# Specifies the path to the local keystore file (PKCS #12) containing the APNS <br />
# certificate and keys for the iOS application, e.g. <br />
# "/opt/open-xchange/etc/drive-apns.p12". Required if <br />
# "com.openexchange.drive.events.apn.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.apn.ios.keystore=<br />
<br />
This file is opened by the backend using the password as supplied via: <br />
<br />
# Specifies the password used when creating the referenced keystore containing<br />
# the certificate of the iOS application. Note that blank or null passwords <br />
# are in violation of the PKCS #12 specifications. Required if <br />
# "com.openexchange.drive.events.apn.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.apn.ios.password=<br />
<br />
Configuration also allows to switch between development and production environments, however, this setting should be ''true'' normally:<br />
<br />
# Indicates which APNS service is used when sending push notifications to iOS<br />
# devices. A value of "true" will use the production service, a value of <br />
# "false" the sandbox service. Defaults to "true".<br />
com.openexchange.drive.events.apn.ios.production=true<br />
<br />
The OX backend contacts the APNs servers from time to time to get informed about apps no longer reachable apps where the applications was uninstalled. The interval can be defined with the following setting: <br />
<br />
# Configures the interval between queries to the APN feedback service for the<br />
# subscribed iOS devices. The value can be defined using units of measurement: <br />
# "D" (=days), "W" (=weeks) and "H" (=hours). Defaults to "1D" (one day). <br />
# Leaving this parameter empty disables the feedback queries on this node. <br />
# Since each received feedback is processed cluster-wide, only one node in the <br />
# cluster should be enabled here. <br />
com.openexchange.drive.events.apn.ios.feedbackQueryInterval=1D<br />
<br />
Please note that if you have multiple backend nodes in the cluster, it's recommended that only one node is configured to contact the feedback query service. Finally, Push notifications via APN for iOS can be enabled via:<br />
<br />
# Enables or disables push event notifications to apps using the Apple Push<br />
# Notification service (APNS) for macOS devices. This requires a valid <br />
# configuration for the APNS certificate and keys, see either options below, <br />
# or install the restricted components packages for drive. Defaults to <br />
# "false". <br />
com.openexchange.drive.events.apn.ios.enabled=false<br />
<br />
As stated above, configuration for Push notifications via APN for the macOS desktop application is configured similarly, the relevant options are prefixed with ''com.openexchange.drive.events.apn.macos''. Please also note that push via APNS needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.<br />
<br />
=== Further Configuration ===<br />
<br />
* The backend component of OX Drive supplies the apps with various hyperlinks, e.g. deep-links to files and folders in the groupware webinterface or an URL to the online help. In order to point to the suitable web interface, please ensure that the correct UI web path is configured via ''com.openexchange.UIWebPath'' located in ''server.properties''.<br />
* As already mentioned above, the backend relies on the [https://grizzly.java.net/comet.html Comet] component of the Grizzly http connector for sending push notifications to the desktop apps. Therefore, ''com.openexchange.http.grizzly.hasCometEnabled'' needs to be set to ''true'' in ''grizzly.properties''.<br />
<br />
= Enabling OX Drive for Users =<br />
<br />
OX Drive is enabled for all users that have the capability ''com.openexchange.capability.drive''. Please note that users need to have the ''infostore'' permission set to use drive. So the users that have ''drive'' enabled must be a subset of those users with ''infostore'' permission. Since 7.6.0 we enforce this via the default configuration. You can also enable this cabaility globally with the following setting in the ''drive.properties'' configuration file:<br />
<br />
# Enables or disables the "drive" module capability globally. The capability<br />
# can also be set more fine-grained via config cascade. Per default it is only<br />
# enabled for users that have the "infostore" permission set. This is configured<br />
# in /opt/open-xchange/etc/contextSets/drive.yml.<br />
com.openexchange.capability.drive=false<br />
<br />
More details about capabilities can be found at [[AppSuite:Capabilities]]. Furthermore, this capability can be defined in a more granular way using the Config Cascade as described at [[ConfigCascade]].<br />
<br />
= Installation of the Apps =<br />
<br />
== Installation of macOS Desktop App ==<br />
<br />
The OX Drive for macOS is provided via the Mac App Store:<br />
<br />
* https://itunes.apple.com/app/ox-drive/id818195014?mt=12<br />
<br />
=== Enabling the Finder Extension on macOS ===<br />
<br />
In order to be able to open or share documents in the App Suite from Finder you need to enable the Drive Finder Extension.<br />
<br />
How to enable the Drive Finder Extension on macOS:<br />
# Open the System Preferences.<br />
# In the System Preferences window select Extensions.<br />
# In the Extensions window select Finder.<br />
# Enable Drive Finder Extension.<br />
<br />
== Installation of Windows Desktop App ==<br />
<br />
If the necessary packages are installed (See [[AppSuite:OX_Drive#OX_Drive_for_Windows|OX Drive for Windows]]), users can download the app from within the App Suite via "Settings > Connect my Device".<br />
<br />
== Installation of Android and iOS Apps ==<br />
<br />
The OX Drive App is available via the different App Stores:<br />
<br />
* iOS: https://apps.apple.com/de/app/ox-drive-by-open-xchange/id1585939206<br />
* Android: https://play.google.com/store/apps/details?id=com.openexchange.drive.vanilla<br />
<br />
== App Configuration and Deployment ==<br />
<br />
The user needs to enter the server URL and provide his username and password to log in. Afterwards, app-specific synchronisation settings may be configured. More information is available in the online documentation which is accessible from within the app.<br />
<br />
After the initial synchronization is completed, all further changes are synchronized instantly across all devices.<br />
<br />
'''Note:''' Version v7.10.3 of the OX App Suite introduced optional multifactor authentication, see https://documentation.open-xchange.com/7.10.3/middleware/security_and_encryption/multifactor_authentication.html. <br />
The OX Drive apps do not support this yet. If activated on the server, you will not be able to connect with the apps anymore.<br />
<br />
<br />
<!-- = FAQ =<br />
<br />
You will find it under [https://oxpedia.org/wiki/index.php?title=Product_FAQ]. --></div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive&diff=26939AppSuite:OX Drive2022-06-02T12:51:59Z<p>Marco.Tabor: Deleted iOS Legacy App Link</p>
<hr />
<div>Source of http://oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive<br />
<br />
<br />
<br />
= OX Drive =<br />
<br />
In OX App Suite, Open-Xchange provides a cloud storage called OX Drive. It provides file- and folder synchronization across multiple devices in the simplest way for the end user, fully optimized for each device type. This article explains how to set up the server-side components for OX Drive, as well as details about the app setup.<br />
<br />
== Key features ==<br />
<br />
* Native Apps for Windows, macOS, iOS and Android<br />
* Easy and attractive upsell properties (e.g. Upsell based on Quota limitations)<br />
* Apps are specially designed for the devices they run on taking into account limitations such as battery life, screen limitations, bandwidth etc.<br />
* Controlled synchronization of files across devices<br />
* Storage management (e.g. quota control, upload limits)<br />
* Connection type recognition and adaptation (e.g. Wi-Fi, cell network)<br />
<br />
== Availability ==<br />
<br />
OX Drive is a combination of two components:<br />
* OX Drive in OX App Suite<br />
* OX Drive Apps (optional native apps for synchronization)<br />
<br />
OX Drive is available as native app for the following operating systems:<br />
* OX Drive for Windows (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive for macOS (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive v2 for iOS (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive v3 for iOS (supported with OX App Suite v7.10.6)<br />
* OX Drive for Android (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
<br />
== Requirements ==<br />
<br />
You will find the requirements under [[AppSuite:OX_System_Requirements#OX_Drive_for_Clients|OX Drive App and Platform Requirements]]<br />
<br />
= Server-side Installation and Configuration =<br />
<br />
This chapter describes how the backend components of OX Drive are installed and configured on the server.<br />
<br />
== Prerequisites ==<br />
<br />
* Open-Xchange Server v7.10.5 and above (''open-xchange-core'')<br />
* Grizzly HTTP connector (''open-xchange-grizzly''), see [[AppSuite:Grizzly]] for details, with ''Comet'' support enabled in ''grizzly.properties''<br />
* Valid Push-Certificates / API keys for cloud-based notifications, see configuration below<br />
* Enabled Hazelcast for inter-OX-communication, see [[AppSuite:Running_a_cluster]] for details<br />
<br />
== Available packages ==<br />
<br />
Open-Xchange Drive is available with the following backend packages:<br />
<br />
* ''open-xchange-drive'' - The main server components for OX Drive<br />
* ''open-xchange-drive-comet'' - Provides the Push interface via long-polling for the desktop apps<br />
* ''open-xchange-drive-help-*'' - Online help in various languages for the OX Drive applications (these were called ''open-xchange-appsuite-help-drive-*'' in versions earlier than Open-Xchange Server v7.6.2)<br />
* ''open-xchange-drive-restricted'' - Restricted components, including prerequisites for cloud-based push notifications<br />
<br />
Installation on the server varies depending on the underlying distribution, details are available in the following chapters.<br />
<br />
=== OX Drive for Windows ===<br />
<br />
Additionally OX Drive for Windows can be provided to users by installing additional packages.<br />
<br />
OX Drive for Windows is able to update itself and can be downloaded from the Web UI directly via the [[AppSuite:Client_Onboarding|App Onboarding Wizard]]. Therefore the wizard must be installed and configured for OX Drive users. Besides the client onboarding feature you need the following packages:<br />
<br />
* ''open-xchange-drive-client-windows'' - The main server component to provide the app<br />
* ''open-xchange-drive-client-windows-generic'' - The package providing the final binary files to be installed on users machines.<br />
<br />
To make the app download available via the app onboarding wizard, you need to enable the according scenario. Edit ''/opt/open-xchange/etc/client-onboarding-scenarios.yml'' and get to the ''drivewindowsclientinstall'' section, where you have to set the ''enabled'' property to ''true''.<br />
<br />
[[File:Drive_Update.png|500px|thumb|left|Drive Update Info]]<br />
<br />
===== Custom branded apps =====<br />
<br />
OX Drive for Windows can be purchased with a custom theming. In such cases, the according binary files need to be installed on the middleware servers. Instead of the ''open-xchange-drive-client-windows-generic'' package, a package containing the branded binaries will be provided as ''open-xchange-drive-client-windows-<brand-name>'' and needs to be installed. You MUST then set the property ''com.openexchange.drive.update.branding'' in ''/opt/open-xchange/etc/drive-client-windows.properties'' to ''<brand-name>'' accordingly.<br />
<br />
It is also possible to provide multiple brands of the app via the same OX App Suite deployment, multiple ''open-xchange-drive-client-windows-<brand-name>'' packages can be installed in parallel. Which brand is available for a certain user is determined by the ''com.openexchange.drive.update.branding'' property, which can be overwritten via [[ConfigCascade|Config Cascade]] therefore.<br />
<br />
App brands can be managed via command line tools. The tool ''/opt/open-xchange/sbin/listdriveclients'' lists all installed brands. After updating a certain brand by installing a newer package version or installing an additional one, no server restart is necessary. Instead ''/opt/open-xchange/sbin/reloaddriveclients'' can be executed to refresh the internal server state.<br />
<br />
<br />
=== Redhat Enterprise Linux 7 or CentOS 7 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange yum configuration:<br />
<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|backend}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|drive-help}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ yum update<br />
$ yum install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== Debian GNU/Linux 9.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== Debian GNU/Linux 10.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
<br />
=== OX Server Edition / App Suite for UCS ===<br />
<br />
If you have purchased the OX Server Edition / App Suite for UCS, the OX Drive is part of the offering and after the installation/update available. The necessary package for push, is available with a valid license and can be installed via the Univention App Center.<br />
<br />
* The new license is already registered at the LDB after purchase.<br />
* Log on at the Univention Management Console (UMC)<br />
* Make sure, that the correct LDB account has been selected in the UMC module "OX License Management"<br />
* Click on "App Center" at the UMC und switch to the tab "Repository Settings"<br />
* Within the component list, select "Open-Xchange Drive" and press the "Install" button<br />
<br />
== Configuration ==<br />
<br />
The following gives an overview about the most important settings to enable file synchronization via OX Drive, especially when it comes to real-time Push notifications for the apps.<br />
<br />
All settings regarding the OX Drive backend component are located in the configuration file ''drive.properties''. The default configuration should be sufficient for a basic "up-and-running" setup (with the exception of defining the Push certificates and API keys for cloud-based app notifications, see next chapters). Please refer to the inline documentation of the configuration file for more advanced options. <br />
<br />
Most properties located in configuration file ''drive.properties'' are now config-cascade aware. Therefore all settings can be set per user, per contextSet or per context. If there is no configuration per user, per contextSet or per context, the configuration in ''drive.properties'' will still be used as server-wide fallback.<br />
<br />
When installing from scratch, the configuration file ''drive.properties'' is no longer shipped, as the default values are used. For more details, find an overview of configurable settings [https://documentation.open-xchange.com/7.10.5/middleware/administration.html here].<br />
<br />
If no Push certificates and API keys are defined but cloud-based app notifications are enabled, the Push certificates and API keys from package ''open-xchange-drive-restricted'' are used as fallback, if this package is installed.<br />
<br />
=== Push via Firebase Cloud Messaging (FCM) ===<br />
<br />
The OX Drive application for Android devices is able to receive Push notifications from the Open-Xchange Server via [https://firebase.google.com/docs/cloud-messaging/ Firebase Cloud Messaging (FCM)]. To issue those Push messages, the backend needs to be provided with a suitable API key for the corresponding Android app application. The API key is included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" Android app. Alternatively, the key can be specified directly in the ''drive.properties'' configuration file:<br />
<br />
# Specifies the API key of the server application. Required if <br />
# "com.openexchange.drive.events.gcm.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.gcm.key=<br />
<br />
Push via FCM can be enabled via:<br />
<br />
# Enables or disables push event notifications to apps using the Google<br />
# Firebase Cloud Messaging (FCM) service. This requires a valid configuration for the <br />
# FCM API key, see options below. Defaults to "false". <br />
com.openexchange.drive.events.gcm.enabled=true<br />
<br />
Please note that push via FCM needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.<br />
<br />
=== Push via Apple Push Notification service (APNs) ===<br />
<br />
The OX Drive application for iOS and macOS devices is able to receive Push notifications from the Open-Xchange Server via [http://developer.apple.com/library/IOS/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html Apple Push Notification service (APNs)]. To issue those Push messages, the backend needs to be provided with a suitable keystore container file (PKCS #12) containing the APNs certificate and keys. Note that the macOS desktop app and the iOS mobile app are served separately with different certificates, so that both needs to be configured independently. The required certificates are already included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" iOS and macOS applications. Therefore no additional configuration is needed. Alternatively, an external certificate can be specified directly in the ''drive.properties'' configuration file (the following only shows the setup for iOS). First, the path to the PKCS #12 container file needs to be specified at:<br />
<br />
# Specifies the path to the local keystore file (PKCS #12) containing the APNS <br />
# certificate and keys for the iOS application, e.g. <br />
# "/opt/open-xchange/etc/drive-apns.p12". Required if <br />
# "com.openexchange.drive.events.apn.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.apn.ios.keystore=<br />
<br />
This file is opened by the backend using the password as supplied via: <br />
<br />
# Specifies the password used when creating the referenced keystore containing<br />
# the certificate of the iOS application. Note that blank or null passwords <br />
# are in violation of the PKCS #12 specifications. Required if <br />
# "com.openexchange.drive.events.apn.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.apn.ios.password=<br />
<br />
Configuration also allows to switch between development and production environments, however, this setting should be ''true'' normally:<br />
<br />
# Indicates which APNS service is used when sending push notifications to iOS<br />
# devices. A value of "true" will use the production service, a value of <br />
# "false" the sandbox service. Defaults to "true".<br />
com.openexchange.drive.events.apn.ios.production=true<br />
<br />
The OX backend contacts the APNs servers from time to time to get informed about apps no longer reachable apps where the applications was uninstalled. The interval can be defined with the following setting: <br />
<br />
# Configures the interval between queries to the APN feedback service for the<br />
# subscribed iOS devices. The value can be defined using units of measurement: <br />
# "D" (=days), "W" (=weeks) and "H" (=hours). Defaults to "1D" (one day). <br />
# Leaving this parameter empty disables the feedback queries on this node. <br />
# Since each received feedback is processed cluster-wide, only one node in the <br />
# cluster should be enabled here. <br />
com.openexchange.drive.events.apn.ios.feedbackQueryInterval=1D<br />
<br />
Please note that if you have multiple backend nodes in the cluster, it's recommended that only one node is configured to contact the feedback query service. Finally, Push notifications via APN for iOS can be enabled via:<br />
<br />
# Enables or disables push event notifications to apps using the Apple Push<br />
# Notification service (APNS) for macOS devices. This requires a valid <br />
# configuration for the APNS certificate and keys, see either options below, <br />
# or install the restricted components packages for drive. Defaults to <br />
# "false". <br />
com.openexchange.drive.events.apn.ios.enabled=false<br />
<br />
As stated above, configuration for Push notifications via APN for the macOS desktop application is configured similarly, the relevant options are prefixed with ''com.openexchange.drive.events.apn.macos''. Please also note that push via APNS needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.<br />
<br />
=== Further Configuration ===<br />
<br />
* The backend component of OX Drive supplies the apps with various hyperlinks, e.g. deep-links to files and folders in the groupware webinterface or an URL to the online help. In order to point to the suitable web interface, please ensure that the correct UI web path is configured via ''com.openexchange.UIWebPath'' located in ''server.properties''.<br />
* As already mentioned above, the backend relies on the [https://grizzly.java.net/comet.html Comet] component of the Grizzly http connector for sending push notifications to the desktop apps. Therefore, ''com.openexchange.http.grizzly.hasCometEnabled'' needs to be set to ''true'' in ''grizzly.properties''.<br />
<br />
= Enabling OX Drive for Users =<br />
<br />
OX Drive is enabled for all users that have the capability ''com.openexchange.capability.drive''. Please note that users need to have the ''infostore'' permission set to use drive. So the users that have ''drive'' enabled must be a subset of those users with ''infostore'' permission. Since 7.6.0 we enforce this via the default configuration. You can also enable this cabaility globally with the following setting in the ''drive.properties'' configuration file:<br />
<br />
# Enables or disables the "drive" module capability globally. The capability<br />
# can also be set more fine-grained via config cascade. Per default it is only<br />
# enabled for users that have the "infostore" permission set. This is configured<br />
# in /opt/open-xchange/etc/contextSets/drive.yml.<br />
com.openexchange.capability.drive=false<br />
<br />
More details about capabilities can be found at [[AppSuite:Capabilities]]. Furthermore, this capability can be defined in a more granular way using the Config Cascade as described at [[ConfigCascade]].<br />
<br />
= Installation of the Apps =<br />
<br />
== Installation of macOS Desktop App ==<br />
<br />
The OX Drive for macOS is provided via the Mac App Store:<br />
<br />
* https://itunes.apple.com/app/ox-drive/id818195014?mt=12<br />
<br />
=== Enabling the Finder Extension on macOS ===<br />
<br />
In order to be able to open or share documents in the App Suite from Finder you need to enable the Drive Finder Extension.<br />
<br />
How to enable the Drive Finder Extension on macOS:<br />
# Open the System Preferences.<br />
# In the System Preferences window select Extensions.<br />
# In the Extensions window select Finder.<br />
# Enable Drive Finder Extension.<br />
<br />
== Installation of Windows Desktop App ==<br />
<br />
If the necessary packages are installed (See [[AppSuite:OX_Drive#OX_Drive_for_Windows|OX Drive for Windows]]), users can download the app from within the App Suite via "Settings > Connect my Device".<br />
<br />
== Installation of Android and iOS Apps ==<br />
<br />
The OX Drive App is available via the different App Stores:<br />
<br />
* OX Drive app v3 for Apple iOS: https://apps.apple.com/de/app/ox-drive-by-open-xchange/id1585939206<br />
* Android: https://play.google.com/store/apps/details?id=com.openexchange.drive.vanilla<br />
<br />
== App Configuration and Deployment ==<br />
<br />
The user needs to enter the server URL and provide his username and password to log in. Afterwards, app-specific synchronisation settings may be configured. More information is available in the online documentation which is accessible from within the app.<br />
<br />
After the initial synchronization is completed, all further changes are synchronized instantly across all devices.<br />
<br />
'''Note:''' Version v7.10.3 of the OX App Suite introduced optional multifactor authentication, see https://documentation.open-xchange.com/7.10.3/middleware/security_and_encryption/multifactor_authentication.html. <br />
The OX Drive apps do not support this yet. If activated on the server, you will not be able to connect with the apps anymore.<br />
<br />
<br />
<!-- = FAQ =<br />
<br />
You will find it under [https://oxpedia.org/wiki/index.php?title=Product_FAQ]. --></div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive&diff=26936AppSuite:OX Drive2022-06-02T12:51:01Z<p>Marco.Tabor: /* Installation of Windows Desktop App */</p>
<hr />
<div>Source of http://oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive<br />
<br />
<br />
<br />
= OX Drive =<br />
<br />
In OX App Suite, Open-Xchange provides a cloud storage called OX Drive. It provides file- and folder synchronization across multiple devices in the simplest way for the end user, fully optimized for each device type. This article explains how to set up the server-side components for OX Drive, as well as details about the app setup.<br />
<br />
== Key features ==<br />
<br />
* Native Apps for Windows, macOS, iOS and Android<br />
* Easy and attractive upsell properties (e.g. Upsell based on Quota limitations)<br />
* Apps are specially designed for the devices they run on taking into account limitations such as battery life, screen limitations, bandwidth etc.<br />
* Controlled synchronization of files across devices<br />
* Storage management (e.g. quota control, upload limits)<br />
* Connection type recognition and adaptation (e.g. Wi-Fi, cell network)<br />
<br />
== Availability ==<br />
<br />
OX Drive is a combination of two components:<br />
* OX Drive in OX App Suite<br />
* OX Drive Apps (optional native apps for synchronization)<br />
<br />
OX Drive is available as native app for the following operating systems:<br />
* OX Drive for Windows (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive for macOS (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive v2 for iOS (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
* OX Drive v3 for iOS (supported with OX App Suite v7.10.6)<br />
* OX Drive for Android (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)<br />
<br />
== Requirements ==<br />
<br />
You will find the requirements under [[AppSuite:OX_System_Requirements#OX_Drive_for_Clients|OX Drive App and Platform Requirements]]<br />
<br />
= Server-side Installation and Configuration =<br />
<br />
This chapter describes how the backend components of OX Drive are installed and configured on the server.<br />
<br />
== Prerequisites ==<br />
<br />
* Open-Xchange Server v7.10.5 and above (''open-xchange-core'')<br />
* Grizzly HTTP connector (''open-xchange-grizzly''), see [[AppSuite:Grizzly]] for details, with ''Comet'' support enabled in ''grizzly.properties''<br />
* Valid Push-Certificates / API keys for cloud-based notifications, see configuration below<br />
* Enabled Hazelcast for inter-OX-communication, see [[AppSuite:Running_a_cluster]] for details<br />
<br />
== Available packages ==<br />
<br />
Open-Xchange Drive is available with the following backend packages:<br />
<br />
* ''open-xchange-drive'' - The main server components for OX Drive<br />
* ''open-xchange-drive-comet'' - Provides the Push interface via long-polling for the desktop apps<br />
* ''open-xchange-drive-help-*'' - Online help in various languages for the OX Drive applications (these were called ''open-xchange-appsuite-help-drive-*'' in versions earlier than Open-Xchange Server v7.6.2)<br />
* ''open-xchange-drive-restricted'' - Restricted components, including prerequisites for cloud-based push notifications<br />
<br />
Installation on the server varies depending on the underlying distribution, details are available in the following chapters.<br />
<br />
=== OX Drive for Windows ===<br />
<br />
Additionally OX Drive for Windows can be provided to users by installing additional packages.<br />
<br />
OX Drive for Windows is able to update itself and can be downloaded from the Web UI directly via the [[AppSuite:Client_Onboarding|App Onboarding Wizard]]. Therefore the wizard must be installed and configured for OX Drive users. Besides the client onboarding feature you need the following packages:<br />
<br />
* ''open-xchange-drive-client-windows'' - The main server component to provide the app<br />
* ''open-xchange-drive-client-windows-generic'' - The package providing the final binary files to be installed on users machines.<br />
<br />
To make the app download available via the app onboarding wizard, you need to enable the according scenario. Edit ''/opt/open-xchange/etc/client-onboarding-scenarios.yml'' and get to the ''drivewindowsclientinstall'' section, where you have to set the ''enabled'' property to ''true''.<br />
<br />
[[File:Drive_Update.png|500px|thumb|left|Drive Update Info]]<br />
<br />
===== Custom branded apps =====<br />
<br />
OX Drive for Windows can be purchased with a custom theming. In such cases, the according binary files need to be installed on the middleware servers. Instead of the ''open-xchange-drive-client-windows-generic'' package, a package containing the branded binaries will be provided as ''open-xchange-drive-client-windows-<brand-name>'' and needs to be installed. You MUST then set the property ''com.openexchange.drive.update.branding'' in ''/opt/open-xchange/etc/drive-client-windows.properties'' to ''<brand-name>'' accordingly.<br />
<br />
It is also possible to provide multiple brands of the app via the same OX App Suite deployment, multiple ''open-xchange-drive-client-windows-<brand-name>'' packages can be installed in parallel. Which brand is available for a certain user is determined by the ''com.openexchange.drive.update.branding'' property, which can be overwritten via [[ConfigCascade|Config Cascade]] therefore.<br />
<br />
App brands can be managed via command line tools. The tool ''/opt/open-xchange/sbin/listdriveclients'' lists all installed brands. After updating a certain brand by installing a newer package version or installing an additional one, no server restart is necessary. Instead ''/opt/open-xchange/sbin/reloaddriveclients'' can be executed to refresh the internal server state.<br />
<br />
<br />
=== Redhat Enterprise Linux 7 or CentOS 7 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange yum configuration:<br />
<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|backend}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|drive-help}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ yum update<br />
$ yum install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== Debian GNU/Linux 9.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== Debian GNU/Linux 10.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
<br />
=== OX Server Edition / App Suite for UCS ===<br />
<br />
If you have purchased the OX Server Edition / App Suite for UCS, the OX Drive is part of the offering and after the installation/update available. The necessary package for push, is available with a valid license and can be installed via the Univention App Center.<br />
<br />
* The new license is already registered at the LDB after purchase.<br />
* Log on at the Univention Management Console (UMC)<br />
* Make sure, that the correct LDB account has been selected in the UMC module "OX License Management"<br />
* Click on "App Center" at the UMC und switch to the tab "Repository Settings"<br />
* Within the component list, select "Open-Xchange Drive" and press the "Install" button<br />
<br />
== Configuration ==<br />
<br />
The following gives an overview about the most important settings to enable file synchronization via OX Drive, especially when it comes to real-time Push notifications for the apps.<br />
<br />
All settings regarding the OX Drive backend component are located in the configuration file ''drive.properties''. The default configuration should be sufficient for a basic "up-and-running" setup (with the exception of defining the Push certificates and API keys for cloud-based app notifications, see next chapters). Please refer to the inline documentation of the configuration file for more advanced options. <br />
<br />
Most properties located in configuration file ''drive.properties'' are now config-cascade aware. Therefore all settings can be set per user, per contextSet or per context. If there is no configuration per user, per contextSet or per context, the configuration in ''drive.properties'' will still be used as server-wide fallback.<br />
<br />
When installing from scratch, the configuration file ''drive.properties'' is no longer shipped, as the default values are used. For more details, find an overview of configurable settings [https://documentation.open-xchange.com/7.10.5/middleware/administration.html here].<br />
<br />
If no Push certificates and API keys are defined but cloud-based app notifications are enabled, the Push certificates and API keys from package ''open-xchange-drive-restricted'' are used as fallback, if this package is installed.<br />
<br />
=== Push via Firebase Cloud Messaging (FCM) ===<br />
<br />
The OX Drive application for Android devices is able to receive Push notifications from the Open-Xchange Server via [https://firebase.google.com/docs/cloud-messaging/ Firebase Cloud Messaging (FCM)]. To issue those Push messages, the backend needs to be provided with a suitable API key for the corresponding Android app application. The API key is included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" Android app. Alternatively, the key can be specified directly in the ''drive.properties'' configuration file:<br />
<br />
# Specifies the API key of the server application. Required if <br />
# "com.openexchange.drive.events.gcm.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.gcm.key=<br />
<br />
Push via FCM can be enabled via:<br />
<br />
# Enables or disables push event notifications to apps using the Google<br />
# Firebase Cloud Messaging (FCM) service. This requires a valid configuration for the <br />
# FCM API key, see options below. Defaults to "false". <br />
com.openexchange.drive.events.gcm.enabled=true<br />
<br />
Please note that push via FCM needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.<br />
<br />
=== Push via Apple Push Notification service (APNs) ===<br />
<br />
The OX Drive application for iOS and macOS devices is able to receive Push notifications from the Open-Xchange Server via [http://developer.apple.com/library/IOS/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html Apple Push Notification service (APNs)]. To issue those Push messages, the backend needs to be provided with a suitable keystore container file (PKCS #12) containing the APNs certificate and keys. Note that the macOS desktop app and the iOS mobile app are served separately with different certificates, so that both needs to be configured independently. The required certificates are already included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" iOS and macOS applications. Therefore no additional configuration is needed. Alternatively, an external certificate can be specified directly in the ''drive.properties'' configuration file (the following only shows the setup for iOS). First, the path to the PKCS #12 container file needs to be specified at:<br />
<br />
# Specifies the path to the local keystore file (PKCS #12) containing the APNS <br />
# certificate and keys for the iOS application, e.g. <br />
# "/opt/open-xchange/etc/drive-apns.p12". Required if <br />
# "com.openexchange.drive.events.apn.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.apn.ios.keystore=<br />
<br />
This file is opened by the backend using the password as supplied via: <br />
<br />
# Specifies the password used when creating the referenced keystore containing<br />
# the certificate of the iOS application. Note that blank or null passwords <br />
# are in violation of the PKCS #12 specifications. Required if <br />
# "com.openexchange.drive.events.apn.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.apn.ios.password=<br />
<br />
Configuration also allows to switch between development and production environments, however, this setting should be ''true'' normally:<br />
<br />
# Indicates which APNS service is used when sending push notifications to iOS<br />
# devices. A value of "true" will use the production service, a value of <br />
# "false" the sandbox service. Defaults to "true".<br />
com.openexchange.drive.events.apn.ios.production=true<br />
<br />
The OX backend contacts the APNs servers from time to time to get informed about apps no longer reachable apps where the applications was uninstalled. The interval can be defined with the following setting: <br />
<br />
# Configures the interval between queries to the APN feedback service for the<br />
# subscribed iOS devices. The value can be defined using units of measurement: <br />
# "D" (=days), "W" (=weeks) and "H" (=hours). Defaults to "1D" (one day). <br />
# Leaving this parameter empty disables the feedback queries on this node. <br />
# Since each received feedback is processed cluster-wide, only one node in the <br />
# cluster should be enabled here. <br />
com.openexchange.drive.events.apn.ios.feedbackQueryInterval=1D<br />
<br />
Please note that if you have multiple backend nodes in the cluster, it's recommended that only one node is configured to contact the feedback query service. Finally, Push notifications via APN for iOS can be enabled via:<br />
<br />
# Enables or disables push event notifications to apps using the Apple Push<br />
# Notification service (APNS) for macOS devices. This requires a valid <br />
# configuration for the APNS certificate and keys, see either options below, <br />
# or install the restricted components packages for drive. Defaults to <br />
# "false". <br />
com.openexchange.drive.events.apn.ios.enabled=false<br />
<br />
As stated above, configuration for Push notifications via APN for the macOS desktop application is configured similarly, the relevant options are prefixed with ''com.openexchange.drive.events.apn.macos''. Please also note that push via APNS needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.<br />
<br />
=== Further Configuration ===<br />
<br />
* The backend component of OX Drive supplies the apps with various hyperlinks, e.g. deep-links to files and folders in the groupware webinterface or an URL to the online help. In order to point to the suitable web interface, please ensure that the correct UI web path is configured via ''com.openexchange.UIWebPath'' located in ''server.properties''.<br />
* As already mentioned above, the backend relies on the [https://grizzly.java.net/comet.html Comet] component of the Grizzly http connector for sending push notifications to the desktop apps. Therefore, ''com.openexchange.http.grizzly.hasCometEnabled'' needs to be set to ''true'' in ''grizzly.properties''.<br />
<br />
= Enabling OX Drive for Users =<br />
<br />
OX Drive is enabled for all users that have the capability ''com.openexchange.capability.drive''. Please note that users need to have the ''infostore'' permission set to use drive. So the users that have ''drive'' enabled must be a subset of those users with ''infostore'' permission. Since 7.6.0 we enforce this via the default configuration. You can also enable this cabaility globally with the following setting in the ''drive.properties'' configuration file:<br />
<br />
# Enables or disables the "drive" module capability globally. The capability<br />
# can also be set more fine-grained via config cascade. Per default it is only<br />
# enabled for users that have the "infostore" permission set. This is configured<br />
# in /opt/open-xchange/etc/contextSets/drive.yml.<br />
com.openexchange.capability.drive=false<br />
<br />
More details about capabilities can be found at [[AppSuite:Capabilities]]. Furthermore, this capability can be defined in a more granular way using the Config Cascade as described at [[ConfigCascade]].<br />
<br />
= Installation of the Apps =<br />
<br />
== Installation of macOS Desktop App ==<br />
<br />
The OX Drive for macOS is provided via the Mac App Store:<br />
<br />
* https://itunes.apple.com/app/ox-drive/id818195014?mt=12<br />
<br />
=== Enabling the Finder Extension on macOS ===<br />
<br />
In order to be able to open or share documents in the App Suite from Finder you need to enable the Drive Finder Extension.<br />
<br />
How to enable the Drive Finder Extension on macOS:<br />
# Open the System Preferences.<br />
# In the System Preferences window select Extensions.<br />
# In the Extensions window select Finder.<br />
# Enable Drive Finder Extension.<br />
<br />
== Installation of Windows Desktop App ==<br />
<br />
If the necessary packages are installed (See [[AppSuite:OX_Drive#OX_Drive_for_Windows|OX Drive for Windows]]), users can download the app from within the App Suite via "Settings > Connect my Device".<br />
<br />
== Installation of Mobile Apps ==<br />
<br />
The OX Drive App is available via the different App Stores:<br />
<br />
* OX Drive app v3 for Apple iOS: https://apps.apple.com/de/app/ox-drive-by-open-xchange/id1585939206<br />
* OX Drive app v2 for Apple iOS: https://apps.apple.com/de/app/ox-drive/id798570177<br />
* Android: https://play.google.com/store/apps/details?id=com.openexchange.drive.vanilla<br />
<br />
== App Configuration and Deployment ==<br />
<br />
The user needs to enter the server URL and provide his username and password to log in. Afterwards, app-specific synchronisation settings may be configured. More information is available in the online documentation which is accessible from within the app.<br />
<br />
After the initial synchronization is completed, all further changes are synchronized instantly across all devices.<br />
<br />
'''Note:''' Version v7.10.3 of the OX App Suite introduced optional multifactor authentication, see https://documentation.open-xchange.com/7.10.3/middleware/security_and_encryption/multifactor_authentication.html. <br />
The OX Drive apps do not support this yet. If activated on the server, you will not be able to connect with the apps anymore.<br />
<br />
<br />
<!-- = FAQ =<br />
<br />
You will find it under [https://oxpedia.org/wiki/index.php?title=Product_FAQ]. --></div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=Product_Drive_FAQ&diff=26668Product Drive FAQ2022-01-24T10:14:19Z<p>Marco.Tabor: Deleted the description of the background photo upload feature. It is only present one Android, so most of the content was irrelevant. And: The Android feature explains itself.</p>
<hr />
<div>== What is OX Drive? ==<br />
<br />
OX Drive allows users to synchronize and share files and folders from the desktop and from their mobile devices.<br />
<br />
OX Drive is available through the browser as part of OX App Suite. OX Drive native apps are available for Windows, OSX, iOS and Android and allow users to synchronize files between their PC’s, notebooks and mobile devices and OX App Suite.<br />
<br />
== What does it mean to sync files and folders? ==<br />
<br />
Syncing files and folders is handled differently on desktop and mobile devices. Syncing files and folders on desktop computers (Windows and Mac) means that a copy of the file will be stored on your computer as well as in the cloud. Any changes to files and folders will be synced automatically.<br />
<br />
On mobile devices files and folders are downloaded on demand, when needed. This means that OX Drive for Android and iOS does not eat into your data plan and storage space unnecessarily.<br />
<br />
== What are the requirements for OX Drive clients? ==<br />
<br />
You will finde the client requirements under [[http://oxpedia.org/wiki/index.php?title=AppSuite:OX_System_Requirements#OX_Drive_for_Clients|OX Drive clients requirements]]<br />
<br />
== How do I install OX Drive? ==<br />
<br />
Download and install the correct OX Drive app for your mobile device and follow the instructions in the Wizard. Be prepared to enter the server URL and your credentials for the server.<br />
<br />
== How do I share a file or folder? ==<br />
<br />
There are two ways to share files or folders in OX Drive. The first option is to share files or folders via a simple link. This link can be sent to anyone via email, instant message, text message, etc. Link sharing also allows you to set an expiration date or a password for additional security.<br />
<br />
The second option is to invite others to collaborate on both files and folders. This means that authorized users can not only see all your content, but also edit and upload their own.<br />
<br />
== Can I share files and folders with non-OX Drive users? ==<br />
<br />
Yes, you can share files and folders with anyone, even with users who don’t have an OX Drive account. <br />
<br />
== Can I limit access to a shared link? ==<br />
<br />
There are two ways to limit access to a shared link (“Get link”). The first way is to set an expiration date for any shared link that you create. This enables you to provide temporary access to shared content.<br />
The second option is to set a password for a shared link. This ensures that only recipients with the password can view your shared content.<br />
<br />
== Some files are missing, where can I find them? ==<br />
<br />
Technically speaking, there are some cases when a file does not get synchronized immediately because it's still being modified. This is normally true for office documents. As soon as the document gets released it will be synchronized. But there are also some cases that the file is ignored by OX Drive because of the filename contains one or of the following reserved characters:<br />
<br />
* < (less than)<br />
* > (greater than)<br />
* : (colon)<br />
* ” (double quote)<br />
* / (forward slash)<br />
* \ (backslash)<br />
* | (vertical bar or pipe)<br />
* ? (question mark)<br />
* * (asterisk)<br />
* Characters whose integer representations are in the range from 0 through 31<br />
* The last character is a . (dot) or ' ' (space)<br />
* It's case-invariant name without an optional extension matches one of the reserved names CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, or LPT9<br />
* It consists solely of whitespace characters<br />
<br />
In addition folders have some more reserved conditions: <br />
* The last character of any subpath (i.e. the last part of the whole path or the part preceding the separator character /) is a . (dot) or ' ' (space) <br />
* It not equals the root path /, but ends with a / (forward slash) character <br />
* It contains two or more consecutive / (forward slash) characters <br />
<br />
Unfortunately, there are more constraints: The maximum allowed length for some path segments, i.e. the parts between forward slashes (/) in directory and filenames, is restricted to 255 characters. Synchronizing a file or directory version that contains path segments longer than this limit leads to those versions being put into quarantine.<br />
<br />
== Can I synchronize a shared or public folder? ==<br />
<br />
If a user is working with “Public” or “Shared” folders, OX Drive for Windows and Mac can sync these folders as well. Please note that these folders will take additional space on your computer hard drive, so only selected folders will be synced. Also be warned that selecting everything can create problems if your hard drive does not have enough free space available.<br />
<br />
There are two ways to select additional folders for syncing. Either choose “Customize folder settings” after the initial configuration, or change the folder settings in the “Sync options” tab.<br />
<br />
== Which files types can I view on my mobile device? ==<br />
<br />
On iOS devices the following file formats are natively supported:<br />
* Images (jpg, png, gif) <br />
* Audio (mp3, m4a, wav) <br />
* Video (mov, mp4, m4v) <br />
* Word documents (doc, docx) <br />
* PowerPoint presentations (ppt, pptx) <br />
* Excel spreadsheets (xls, xlsx) <br />
* PDF (pdf) <br />
* Keynote presentations (key) <br />
* Pages documents (pages) <br />
* Numbers spreadsheets (numbers) <br />
* Text files (csv, txt, rtf) <br />
<br />
On Android devices the following file formats can be opened natively:<br />
* Images (jpg, png, gig)<br />
* Text files (txt, csv)<br />
<br />
Other file types like Word, Excel, PowerPoint and PDF need an application installed on your device that can open these file types. If you have more than one application installed that is capable of viewing your file type, you will be asked which App you want to use.</div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=AppSuite:OX_System_Requirements&diff=25906AppSuite:OX System Requirements2021-04-29T10:10:38Z<p>Marco.Tabor: /* OX Drive for Clients */</p>
<hr />
<div>= OX App Suite Requirements - Open-Xchange supported components overview =<br />
<br />
The following table provides an overview about the supported components of OX App Suite and further products. This overview makes no claim to be complete.<br />
<br />
Information about Maintenance expiries of components, versions and browser support, can be found in the [[AppSuite:Versioning_and_Numbering#Maintenance_expires|Maintenance Expires Table]]<br />
<br />
== Hardware Requirements ==<br />
<br />
=== General Assumptions ===<br />
<br />
Open-Xchange App Suite Server (middleware services) is designed to run on physical servers or virtual machines of the same flavor. Cloud environments might be used in terms of Infrastructure as a Service (IaaS), meaning that all components need to be deployed in a classical manner on virtual machines.<br />
<br />
This means in particular, but not only:<br />
<br />
* Infrastructure is supposed to be "quasi-static". Automatic replacement of broken nodes is fine as long as this is always an exceptional case. Scaling out or reducing number of nodes must always be a conscious task and closely monitored.<br />
* The only supported "Database as a service" solution is AWS RDS for MariaDB as defined by belows compatibility table.<br />
<br />
Especially we expect the virtual hardware to be not over-provisioned. Each VM must have dedicated resources with respect to CPU cores, RAM, IOPS, storage, network bandwidth, network latency, etc.<br />
<br />
Network is expected to be flat, inside one datacenter, no multi-datacenter, no segments. No packet loss, low latency.<br />
<br />
'''Disclaimer: All recommendations below are without guarantee and can differ for specific deployments. For mid- and large-scale setups a detailed deployment planning and sizing tests are mandatory and should be agreed on with OX Professional Services.'''<br />
<br />
=== High Level Design / OS setup ===<br />
<br />
Operate services separately (USM, Document/Image Converters) as described in [https://oxpedia.org/wiki/index.php?title=AppSuite:Running_a_cluster Cluster Setup].<br />
<br />
Clocks between all nodes must be synchronized (e.g. via NTP).<br />
<br />
Open file/max process limits need to be adjusted properly. Based on the used Linux distribution and init system configuration will differ, see Resource Limits for further explanation.<br />
<br />
Platform Architecture: 64 bit versions (x84_64) of the supported [[#Software Requirements | Linux distributions]]<br />
<br />
=== Node Sizing ===<br />
<br />
==== OX App Suite Middleware ====<br />
<br />
* Max. 8 GB heap per JVM + 4 GB system memory for other daemons and the OS (buffers, caches)<br />
* 4 CPU cores (virtual, physical or hyperthreads) for plain HTTP connections. If TLS is terminated on application nodes this might need to be doubled.<br />
* Disk space<br />
** 8 GB for OS and software<br />
** Some services like Document Converter need SWAP partitions (~1 * RAM)<br />
** 2 * system memory of free disk space (i.e. 12 GB RAM => 24 GB free disk space) for file spooling, log files, heap and core dumps<br />
<br />
=== Untested/Unsupported Deployments ===<br />
<br />
* Changes to Garbage Collector settings<br />
* Running in containerized environments (Docker, rkt)<br />
* Elasticity/High velocity of nodes going up and down: Services are sometimes stateful and demand static configuration<br />
* Cloud platform services (PaaS) that promise to replacements for certain supported technologies but have not been verified by OX for these regards<br />
* Multi-site active-active<br />
<br />
== Software Requirements ==<br />
<br />
=== Linux Distributions ===<br />
<br />
OX App Suite is available as Linux packages for the following distributions:<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Distribution'''<br />
|'''Versions'''<br />
|'''Remarks'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Red Hat Enterprise Linux<br />
|7<br />
|<br />
|-<br />
|CentOS<br />
|7<br />
|Install from RHEL package repositories<br />
|-<br />
|Debian<br />
|9 (Stretch), 10 (Buster)<br />
|<br />
|-<br />
|Univention Corporate Server<br />
|4.4<br />
|<br />
|-<br />
|Amazon Linux<br />
|2<br />
|Discontinued Support with end of life of OX App Suite v7.10.5<br />
|-<br />
|}<br />
<br />
=== Java ===<br />
<br />
OX App Suite Middleware requires OpenJDK headless JRE 8 or 9. Linux distributions might offer only packages for OpenJDK 11 JRE, which is not suitable for OX App Suite. It is in those cases required to install AdoptOpenJDK 8 JRE with HotSpot VM. A comprehensive installation guide can be found at https://adoptopenjdk.net/installation.html#linux-pkg. The correct JRE package is adoptopenjdk-8-hotspot-jre.<br />
<br />
=== Databases ===<br />
<br />
OX App Suite uses MySQL/MariaDB with the InnoDB storage engine as its primary data store. The following vendors and products are supported.<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Vendor'''<br />
|'''Product'''<br />
|'''Versions'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Oracle<br />
|MySQL Community Edition, Standard Edition, Enterprise Edition<br />
|v5.6.x, v5.7.x<br />
|-<br />
|MariaDB<br />
|MariaDB Server, Galera Cluster<br />
|v10.1.x, v10.2.x, v10.4.x<br />
|-<br />
|Amazon<br />
|AWS RDS for MariaDB<br />
|10.2.x<br>Discontinued Support with end of life of OX App Suite v7.10.5<br />
|-<br />
|}<br />
<br />
==== Important Notes ====<br />
<br />
* Open-Xchange does not plan to support '''MySQL 8 or higher'''. As MariaDB and MySQL are diverging and cannot be assumed drop-in replacements anymore, Open-Xchange will focus on MariaDB Server and MariaDB Galera Cluster. Future App Suite releases '''> 7.10.x''' might rely on features only available in '''MariaDB'''.<br />
* Open-Xchange supports '''Percona XtraDB Cluster''' for existing customers with initial deployments done using '''App Suite 7.8.x or earlier'''. Those customers can continue to use Percona XtraDB Cluster throughout the 7.10.x release series. Like for MySQL, 7.10.x supports only versions 5.6 and 5.7. It is not planned to support Percona XtraDB Cluster beyond 7.10.x.<br />
<br />
* For some Linux distributions the included MySQL/MariaDB packages are too old to be used with App Suite. It is mandatory then to install a supported version from '''upstream package sources'''. Possible sources are the official vendor repositories of MySQL or MariaDB as well as for example Red Hat Software Collections.<br />
* Required '''MySQL/MariaDB configuration''' configuration differs between '''App Suite 7.8.4 and 7.10.x''' and also between the different database systems in terms of SQL modes. See [[My.cnf]] for details.<br />
* For upgrades from App Suite <= 7.8.2 to >= 7.10.0 a comprehensive '''database upgrade guide''' exists: [[AppSuite:7_10_Database_Migration]]<br />
<br />
== HTTP Reverse Proxy ==<br />
<br />
An HTTP server with reverse proxy and load balancing capabilities is required in front of App Suite application servers. TLS termination, virtual hosts, path-based routing, sticky sessions and X-Forwarded headers are typical required features. OX strongly recommends [https://httpd.apache.org/ Apache httpd 2.x] for that. Configuration examples can be found in the quickinstall guides.<br />
<br />
'''Important:''' For websocket support Apache httpd 2.4.x is needed, 2.2.x does not support the required ws_tunnel module. Websockets are mandatory for OX Documents starting with v7.10.3. Like with JRE and MySQL/MariaDB it might be necessary to use 3rd party packages to get the needed Linux packages. Especially for RHEL6 we recommend using Red Hat Software Collections.<br />
<br />
== Webserver ==<br />
<br />
[https://httpd.apache.org/ Apache httpd 2.x] is required as webserver to serve static App Suite UI content. Configuration examples can be found in the quickinstall guides.<br />
<br />
== File Storage ==<br />
<br />
=== Temporary Data ===<br />
<br />
OX App Suite stores temporary files in the local file system, e.g. for spooling of uploaded data. Any file system supported by the installed JRE is suitable.<br />
<br />
=== Persistent Data ===<br />
<br />
Persistent data like OX Drive files, PIM attachments etc. and temporary attachment data need to be stored in a distributed file system as registered filestore that is available from all server nodes. For single-node setups a local file system mount point can be used, small to mid-scale setups can be powered by NFS. For large-scale setups object storages should be considered.<br />
<br />
==== Object Storages ====<br />
<br />
OX App Suite ships with different optional adapters to support object storages.<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Vendor'''<br />
|'''Product'''<br />
|'''API'''<br />
|'''Remarks'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Amazon<br />
|AWS S3<br />
|S3 HTTP API<br />
|See also [[AppSuite:S3_File_Store]]<br />
|-<br />
|CEPH<br />
|RadosGW<br />
|S3 HTTP API<br />
|See also [[AppSuite:S3_File_Store]]<br />
|-<br />
|Scality<br />
|Scality RING<br />
|Sproxyd HTTP API<br />
|See also [[AppSuite:Scality_File_Store]]<br />
|-<br />
|}<br />
<br />
== Desktop Browser (Minimum display resolution: 1024 x 768)==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Google Chrome (latest & previous version)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|-<br />
|Mozilla Firefox (latest & current ESR-Version)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|-<br />
|Apple Safari (latest & previous version; macOS only)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|-<br />
|Microsoft Edge (Chromium-based)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|-<br />
|Microsoft Edge (Legacy)<br />
|v7.10.3, 7.10.4<br />
|-<br />
|Microsoft Internet Explorer 11<br />
|v7.10.3, 7.10.4<br />
|-<br />
|Microsoft Internet Explorer 10/11<br />
|v7.6.3<br />
|-<br />
|}<br />
<br />
== Mobile Device Support==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Mobile Device'''<br />
|'''Supported Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|'''Minimum Speed Requirements'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|iPhone on iOS 13 / iOS 14 / iPad OS<br />
|Safari<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|-<br />
|Smartphone on Android 4.1 or later<br />
|Chrome (latest & previous version)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|}<br />
<br />
== Tablet Support==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Tablet'''<br />
|'''Supported Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|'''Minimum Speed Requirements'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iPad (all devices) on iOS 13 / iOS 14 / iPad OS<br />
|Safari<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|-<br />
|Tablets on Android 4.1 or later<br />
|Chrome (latest & previous version)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|}<br />
<br />
== Calendar/Contact synchronization Apple macOS ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|Calendar synchronization with CalDAV<br />
|Contacts synchronization with CardDAV<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|macOS 10.14 (Mojave)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|macOS 10.15 (Catalina)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|macOS 11.0 (Big Sur)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== Calendar/Contact synchronization Apple iOS ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|Calendar synchronization with CalDAV<br />
|Contacts synchronization with CardDAV<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iOS 13 / iOS 14 / iPad OS<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== Mobility Solution - Supported- Platforms, Features and Devices ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Feature/Technology/Device'''<br />
|[http://oxpedia.org/wiki/index.php?title=OXtender_for_Business_Mobility '''OXtender for Business Mobility'''] (availalble for App Suite, OXHE, OXSE)<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Exchange Active Sync 2.5<br />
|[[File:check.gif]]<br />
|-<br />
|Exchange Active Sync 12.1<br />
|[[File:check.gif]]<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Access and creation of emails<br />
|[[File:check.gif]]<br />
|-<br />
|Personal PIM folder<br />
|[[File:check.gif]] <br />
|-<br />
|Public and Shared PIM folder<br />
|[[File:cross.gif]]<br />
|-<br />
|Global address book<br />
|[[File:check.gif]] <br />
|-<br />
|Push E-Mail<br />
|[[File:check.gif]] <br />
|-<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iOS 13 / iOS 14 / iPad OS<br />
|[[File:check.gif]]<br />
|-<br />
|Android 8 (Oreo) or later with latest Gmail app.<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== OX Drive for Clients ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX App Suite 7.10.5<br />
|-<br />
|OX Drive for Windows<br />
|Latest versions of Windows 8, latest versions of Windows 10 (no support of macOS clients with emulators and Windows RT)<br />
|-<br />
|OX Drive for macOS<br />
|macOS Mojave 10.14, macOS Catalina 10.15, macOS Big Sur 11<br />
|-<br />
|OX Drive for iOS<br />
|iOS / iPadOS 13 and above<br />
|-<br />
|OX Drive for Android<br />
|Smartphones and tablets running Android 7.0 (API level 24) and above.<br />
|-<br />
|}<br />
<br />
== OX Sync App ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform / User Interface'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX App Suite 7.10.5<br />
|-<br />
|OX Sync App for Android<br />
|Smartphone on Android 5.0 or later<br />
|-<br />
|}<br />
<br />
== OX Guard ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform / User Interface'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX Guard since v2.10.3: OX App Suite v7.10.3, OX Guard since v2.10.4: OX App Suite v7.10.4, OX Guard since v2.10.5: OX App Suite v7.10.5<br />
|-<br />
|Mobile Device and Tablet Support<br />
|Apple iPhone on iOS 13 / iOS 14 / iPad OS: Safari (latest version & previous version)<br>Smartphone on Android 4.1 or later: Chrome (latest & previous version)<br>Apple iPad (all devices) on iOS 13 / iOS 14 / iPad OS: Safari Safari (latest version & previous version)<br>Tablets on Android 4.1 or later: Chrome (latest & previous version)<br />
|-<br />
|}<br />
<br />
<br />
[[Category: OX7]]<br />
[[Category: AppSuite]]</div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=AppSuite:OX_System_Requirements&diff=25891AppSuite:OX System Requirements2021-04-23T10:26:08Z<p>Marco.Tabor: /* OX Drive for Clients */</p>
<hr />
<div>= OX App Suite Requirements - Open-Xchange supported components overview =<br />
<br />
The following table provides an overview about the supported components of OX App Suite and further products. This overview makes no claim to be complete.<br />
<br />
Information about Maintenance expiries of components, versions and browser support, can be found in the [[AppSuite:Versioning_and_Numbering#Maintenance_expires|Maintenance Expires Table]]<br />
<br />
== Hardware Requirements ==<br />
<br />
=== General Assumptions ===<br />
<br />
Open-Xchange App Suite Server (middleware services) is designed to run on physical servers or virtual machines of the same flavor. Cloud environments might be used in terms of Infrastructure as a Service (IaaS), meaning that all components need to be deployed in a classical manner on virtual machines.<br />
<br />
This means in particular, but not only:<br />
<br />
* Infrastructure is supposed to be "quasi-static". Automatic replacement of broken nodes is fine as long as this is always an exceptional case. Scaling out or reducing number of nodes must always be a conscious task and closely monitored.<br />
* The only supported "Database as a service" solution is AWS RDS for MariaDB as defined by belows compatibility table.<br />
<br />
Especially we expect the virtual hardware to be not over-provisioned. Each VM must have dedicated resources with respect to CPU cores, RAM, IOPS, storage, network bandwidth, network latency, etc.<br />
<br />
Network is expected to be flat, inside one datacenter, no multi-datacenter, no segments. No packet loss, low latency.<br />
<br />
'''Disclaimer: All recommendations below are without guarantee and can differ for specific deployments. For mid- and large-scale setups a detailed deployment planning and sizing tests are mandatory and should be agreed on with OX Professional Services.'''<br />
<br />
=== High Level Design / OS setup ===<br />
<br />
Operate services separately (USM, Document/Image Converters) as described in [https://oxpedia.org/wiki/index.php?title=AppSuite:Running_a_cluster Cluster Setup].<br />
<br />
Clocks between all nodes must be synchronized (e.g. via NTP).<br />
<br />
Open file/max process limits need to be adjusted properly. Based on the used Linux distribution and init system configuration will differ, see Resource Limits for further explanation.<br />
<br />
Platform Architecture: 64 bit versions (x84_64) of the supported [[#Software Requirements | Linux distributions]]<br />
<br />
=== Node Sizing ===<br />
<br />
==== OX App Suite Middleware ====<br />
<br />
* Max. 8 GB heap per JVM + 4 GB system memory for other daemons and the OS (buffers, caches)<br />
* 4 CPU cores (virtual, physical or hyperthreads) for plain HTTP connections. If TLS is terminated on application nodes this might need to be doubled.<br />
* Disk space<br />
** 8 GB for OS and software<br />
** Some services like Document Converter need SWAP partitions (~1 * RAM)<br />
** 2 * system memory of free disk space (i.e. 12 GB RAM => 24 GB free disk space) for file spooling, log files, heap and core dumps<br />
<br />
=== Untested/Unsupported Deployments ===<br />
<br />
* Changes to Garbage Collector settings<br />
* Running in containerized environments (Docker, rkt)<br />
* Elasticity/High velocity of nodes going up and down: Services are sometimes stateful and demand static configuration<br />
* Cloud platform services (PaaS) that promise to replacements for certain supported technologies but have not been verified by OX for these regards<br />
* Multi-site active-active<br />
<br />
== Software Requirements ==<br />
<br />
=== Linux Distributions ===<br />
<br />
OX App Suite is available as Linux packages for the following distributions:<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Distribution'''<br />
|'''Versions'''<br />
|'''Remarks'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Red Hat Enterprise Linux<br />
|7<br />
|<br />
|-<br />
|CentOS<br />
|7<br />
|Install from RHEL package repositories<br />
|-<br />
|Debian<br />
|9 (Stretch), 10 (Buster)<br />
|<br />
|-<br />
|Univention Corporate Server<br />
|4.4<br />
|<br />
|-<br />
|Amazon Linux<br />
|2<br />
|Discontinued Support with end of life of OX App Suite v7.10.5<br />
|-<br />
|}<br />
<br />
=== Java ===<br />
<br />
OX App Suite Middleware requires OpenJDK headless JRE 8 or 9. Linux distributions might offer only packages for OpenJDK 11 JRE, which is not suitable for OX App Suite. It is in those cases required to install AdoptOpenJDK 8 JRE with HotSpot VM. A comprehensive installation guide can be found at https://adoptopenjdk.net/installation.html#linux-pkg. The correct JRE package is adoptopenjdk-8-hotspot-jre.<br />
<br />
=== Databases ===<br />
<br />
OX App Suite uses MySQL/MariaDB with the InnoDB storage engine as its primary data store. The following vendors and products are supported.<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Vendor'''<br />
|'''Product'''<br />
|'''Versions'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Oracle<br />
|MySQL Community Edition, Standard Edition, Enterprise Edition<br />
|v5.6.x, v5.7.x<br />
|-<br />
|MariaDB<br />
|MariaDB Server, Galera Cluster<br />
|v10.1.x, v10.2.x, v10.4.x<br />
|-<br />
|Amazon<br />
|AWS RDS for MariaDB<br />
|10.2.x<br>Discontinued Support with end of life of OX App Suite v7.10.5<br />
|-<br />
|}<br />
<br />
==== Important Notes ====<br />
<br />
* Open-Xchange does not plan to support '''MySQL 8 or higher'''. As MariaDB and MySQL are diverging and cannot be assumed drop-in replacements anymore, Open-Xchange will focus on MariaDB Server and MariaDB Galera Cluster. Future App Suite releases '''> 7.10.x''' might rely on features only available in '''MariaDB'''.<br />
* Open-Xchange supports '''Percona XtraDB Cluster''' for existing customers with initial deployments done using '''App Suite 7.8.x or earlier'''. Those customers can continue to use Percona XtraDB Cluster throughout the 7.10.x release series. Like for MySQL, 7.10.x supports only versions 5.6 and 5.7. It is not planned to support Percona XtraDB Cluster beyond 7.10.x.<br />
<br />
* For some Linux distributions the included MySQL/MariaDB packages are too old to be used with App Suite. It is mandatory then to install a supported version from '''upstream package sources'''. Possible sources are the official vendor repositories of MySQL or MariaDB as well as for example Red Hat Software Collections.<br />
* Required '''MySQL/MariaDB configuration''' configuration differs between '''App Suite 7.8.4 and 7.10.x''' and also between the different database systems in terms of SQL modes. See [[My.cnf]] for details.<br />
* For upgrades from App Suite <= 7.8.2 to >= 7.10.0 a comprehensive '''database upgrade guide''' exists: [[AppSuite:7_10_Database_Migration]]<br />
<br />
== HTTP Reverse Proxy ==<br />
<br />
An HTTP server with reverse proxy and load balancing capabilities is required in front of App Suite application servers. TLS termination, virtual hosts, path-based routing, sticky sessions and X-Forwarded headers are typical required features. OX strongly recommends [https://httpd.apache.org/ Apache httpd 2.x] for that. Configuration examples can be found in the quickinstall guides.<br />
<br />
'''Important:''' For websocket support Apache httpd 2.4.x is needed, 2.2.x does not support the required ws_tunnel module. Websockets are mandatory for OX Documents starting with v7.10.3. Like with JRE and MySQL/MariaDB it might be necessary to use 3rd party packages to get the needed Linux packages. Especially for RHEL6 we recommend using Red Hat Software Collections.<br />
<br />
== Webserver ==<br />
<br />
[https://httpd.apache.org/ Apache httpd 2.x] is required as webserver to serve static App Suite UI content. Configuration examples can be found in the quickinstall guides.<br />
<br />
== File Storage ==<br />
<br />
=== Temporary Data ===<br />
<br />
OX App Suite stores temporary files in the local file system, e.g. for spooling of uploaded data. Any file system supported by the installed JRE is suitable.<br />
<br />
=== Persistent Data ===<br />
<br />
Persistent data like OX Drive files, PIM attachments etc. and temporary attachment data need to be stored in a distributed file system as registered filestore that is available from all server nodes. For single-node setups a local file system mount point can be used, small to mid-scale setups can be powered by NFS. For large-scale setups object storages should be considered.<br />
<br />
==== Object Storages ====<br />
<br />
OX App Suite ships with different optional adapters to support object storages.<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Vendor'''<br />
|'''Product'''<br />
|'''API'''<br />
|'''Remarks'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Amazon<br />
|AWS S3<br />
|S3 HTTP API<br />
|See also [[AppSuite:S3_File_Store]]<br />
|-<br />
|CEPH<br />
|RadosGW<br />
|S3 HTTP API<br />
|See also [[AppSuite:S3_File_Store]]<br />
|-<br />
|Scality<br />
|Scality RING<br />
|Sproxyd HTTP API<br />
|See also [[AppSuite:Scality_File_Store]]<br />
|-<br />
|}<br />
<br />
== Desktop Browser (Minimum display resolution: 1024 x 768)==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Google Chrome (latest & previous version)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|-<br />
|Mozilla Firefox (latest & current ESR-Version)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|-<br />
|Apple Safari (latest & previous version; macOS only)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|-<br />
|Microsoft Edge (Chromium-based)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|-<br />
|Microsoft Edge (Legacy)<br />
|v7.10.3, 7.10.4<br />
|-<br />
|Microsoft Internet Explorer 11<br />
|v7.10.3, 7.10.4<br />
|-<br />
|Microsoft Internet Explorer 10/11<br />
|v7.6.3<br />
|-<br />
|}<br />
<br />
== Mobile Device Support==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Mobile Device'''<br />
|'''Supported Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|'''Minimum Speed Requirements'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|iPhone on iOS 13 / iOS 14 / iPad OS<br />
|Safari<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|-<br />
|Smartphone on Android 4.1 or later<br />
|Chrome (latest & previous version)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|}<br />
<br />
== Tablet Support==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Tablet'''<br />
|'''Supported Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|'''Minimum Speed Requirements'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iPad (all devices) on iOS 13 / iOS 14 / iPad OS<br />
|Safari<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|-<br />
|Tablets on Android 4.1 or later<br />
|Chrome (latest & previous version)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|}<br />
<br />
== Calendar/Contact synchronization Apple macOS ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|Calendar synchronization with CalDAV<br />
|Contacts synchronization with CardDAV<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|macOS 10.14 (Mojave)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|macOS 10.15 (Catalina)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|macOS 11.0 (Big Sur)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== Calendar/Contact synchronization Apple iOS ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|Calendar synchronization with CalDAV<br />
|Contacts synchronization with CardDAV<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iOS 13 / iOS 14 / iPad OS<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== Mobility Solution - Supported- Platforms, Features and Devices ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Feature/Technology/Device'''<br />
|[http://oxpedia.org/wiki/index.php?title=OXtender_for_Business_Mobility '''OXtender for Business Mobility'''] (availalble for App Suite, OXHE, OXSE)<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Exchange Active Sync 2.5<br />
|[[File:check.gif]]<br />
|-<br />
|Exchange Active Sync 12.1<br />
|[[File:check.gif]]<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Access and creation of emails<br />
|[[File:check.gif]]<br />
|-<br />
|Personal PIM folder<br />
|[[File:check.gif]] <br />
|-<br />
|Public and Shared PIM folder<br />
|[[File:cross.gif]]<br />
|-<br />
|Global address book<br />
|[[File:check.gif]] <br />
|-<br />
|Push E-Mail<br />
|[[File:check.gif]] <br />
|-<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iOS 13 / iOS 14 / iPad OS<br />
|[[File:check.gif]]<br />
|-<br />
|Android 8 (Oreo) or later with latest Gmail app.<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== OX Drive for Clients ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX App Suite 7.10.5<br />
|-<br />
|OX Drive for Windows<br />
|Latest versions of Windows 8, latest versions of Windows 10 (no support of Mac OS X clients with emulators and Windows RT)<br />
|-<br />
|OX Drive for macOS<br />
|macOS Mojave 10.14, macOS Catalina 10.15, macOS Big Sur 11<br />
|-<br />
|OX Drive for iOS<br />
|iOS / iPadOS 11 and above<br />
|-<br />
|OX Drive for Android<br />
|Smartphones and tablets running Android 7.0 (API level 24) and above.<br />
|-<br />
|}<br />
<br />
== OX Sync App ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform / User Interface'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX App Suite 7.10.5<br />
|-<br />
|OX Sync App for Android<br />
|Smartphone on Android 5.0 or later<br />
|-<br />
|}<br />
<br />
== OX Guard ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform / User Interface'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX Guard since v2.10.3: OX App Suite v7.10.3, OX Guard since v2.10.4: OX App Suite v7.10.4, OX Guard since v2.10.5: OX App Suite v7.10.5<br />
|-<br />
|Mobile Device and Tablet Support<br />
|Apple iPhone on iOS 13 / iOS 14 / iPad OS: Safari (latest version & previous version)<br>Smartphone on Android 4.1 or later: Chrome (latest & previous version)<br>Apple iPad (all devices) on iOS 13 / iOS 14 / iPad OS: Safari Safari (latest version & previous version)<br>Tablets on Android 4.1 or later: Chrome (latest & previous version)<br />
|-<br />
|}<br />
<br />
<br />
[[Category: OX7]]<br />
[[Category: AppSuite]]</div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=AppSuite:OX_System_Requirements&diff=25888AppSuite:OX System Requirements2021-04-23T10:25:39Z<p>Marco.Tabor: </p>
<hr />
<div>= OX App Suite Requirements - Open-Xchange supported components overview =<br />
<br />
The following table provides an overview about the supported components of OX App Suite and further products. This overview makes no claim to be complete.<br />
<br />
Information about Maintenance expiries of components, versions and browser support, can be found in the [[AppSuite:Versioning_and_Numbering#Maintenance_expires|Maintenance Expires Table]]<br />
<br />
== Hardware Requirements ==<br />
<br />
=== General Assumptions ===<br />
<br />
Open-Xchange App Suite Server (middleware services) is designed to run on physical servers or virtual machines of the same flavor. Cloud environments might be used in terms of Infrastructure as a Service (IaaS), meaning that all components need to be deployed in a classical manner on virtual machines.<br />
<br />
This means in particular, but not only:<br />
<br />
* Infrastructure is supposed to be "quasi-static". Automatic replacement of broken nodes is fine as long as this is always an exceptional case. Scaling out or reducing number of nodes must always be a conscious task and closely monitored.<br />
* The only supported "Database as a service" solution is AWS RDS for MariaDB as defined by belows compatibility table.<br />
<br />
Especially we expect the virtual hardware to be not over-provisioned. Each VM must have dedicated resources with respect to CPU cores, RAM, IOPS, storage, network bandwidth, network latency, etc.<br />
<br />
Network is expected to be flat, inside one datacenter, no multi-datacenter, no segments. No packet loss, low latency.<br />
<br />
'''Disclaimer: All recommendations below are without guarantee and can differ for specific deployments. For mid- and large-scale setups a detailed deployment planning and sizing tests are mandatory and should be agreed on with OX Professional Services.'''<br />
<br />
=== High Level Design / OS setup ===<br />
<br />
Operate services separately (USM, Document/Image Converters) as described in [https://oxpedia.org/wiki/index.php?title=AppSuite:Running_a_cluster Cluster Setup].<br />
<br />
Clocks between all nodes must be synchronized (e.g. via NTP).<br />
<br />
Open file/max process limits need to be adjusted properly. Based on the used Linux distribution and init system configuration will differ, see Resource Limits for further explanation.<br />
<br />
Platform Architecture: 64 bit versions (x84_64) of the supported [[#Software Requirements | Linux distributions]]<br />
<br />
=== Node Sizing ===<br />
<br />
==== OX App Suite Middleware ====<br />
<br />
* Max. 8 GB heap per JVM + 4 GB system memory for other daemons and the OS (buffers, caches)<br />
* 4 CPU cores (virtual, physical or hyperthreads) for plain HTTP connections. If TLS is terminated on application nodes this might need to be doubled.<br />
* Disk space<br />
** 8 GB for OS and software<br />
** Some services like Document Converter need SWAP partitions (~1 * RAM)<br />
** 2 * system memory of free disk space (i.e. 12 GB RAM => 24 GB free disk space) for file spooling, log files, heap and core dumps<br />
<br />
=== Untested/Unsupported Deployments ===<br />
<br />
* Changes to Garbage Collector settings<br />
* Running in containerized environments (Docker, rkt)<br />
* Elasticity/High velocity of nodes going up and down: Services are sometimes stateful and demand static configuration<br />
* Cloud platform services (PaaS) that promise to replacements for certain supported technologies but have not been verified by OX for these regards<br />
* Multi-site active-active<br />
<br />
== Software Requirements ==<br />
<br />
=== Linux Distributions ===<br />
<br />
OX App Suite is available as Linux packages for the following distributions:<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Distribution'''<br />
|'''Versions'''<br />
|'''Remarks'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Red Hat Enterprise Linux<br />
|7<br />
|<br />
|-<br />
|CentOS<br />
|7<br />
|Install from RHEL package repositories<br />
|-<br />
|Debian<br />
|9 (Stretch), 10 (Buster)<br />
|<br />
|-<br />
|Univention Corporate Server<br />
|4.4<br />
|<br />
|-<br />
|Amazon Linux<br />
|2<br />
|Discontinued Support with end of life of OX App Suite v7.10.5<br />
|-<br />
|}<br />
<br />
=== Java ===<br />
<br />
OX App Suite Middleware requires OpenJDK headless JRE 8 or 9. Linux distributions might offer only packages for OpenJDK 11 JRE, which is not suitable for OX App Suite. It is in those cases required to install AdoptOpenJDK 8 JRE with HotSpot VM. A comprehensive installation guide can be found at https://adoptopenjdk.net/installation.html#linux-pkg. The correct JRE package is adoptopenjdk-8-hotspot-jre.<br />
<br />
=== Databases ===<br />
<br />
OX App Suite uses MySQL/MariaDB with the InnoDB storage engine as its primary data store. The following vendors and products are supported.<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Vendor'''<br />
|'''Product'''<br />
|'''Versions'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Oracle<br />
|MySQL Community Edition, Standard Edition, Enterprise Edition<br />
|v5.6.x, v5.7.x<br />
|-<br />
|MariaDB<br />
|MariaDB Server, Galera Cluster<br />
|v10.1.x, v10.2.x, v10.4.x<br />
|-<br />
|Amazon<br />
|AWS RDS for MariaDB<br />
|10.2.x<br>Discontinued Support with end of life of OX App Suite v7.10.5<br />
|-<br />
|}<br />
<br />
==== Important Notes ====<br />
<br />
* Open-Xchange does not plan to support '''MySQL 8 or higher'''. As MariaDB and MySQL are diverging and cannot be assumed drop-in replacements anymore, Open-Xchange will focus on MariaDB Server and MariaDB Galera Cluster. Future App Suite releases '''> 7.10.x''' might rely on features only available in '''MariaDB'''.<br />
* Open-Xchange supports '''Percona XtraDB Cluster''' for existing customers with initial deployments done using '''App Suite 7.8.x or earlier'''. Those customers can continue to use Percona XtraDB Cluster throughout the 7.10.x release series. Like for MySQL, 7.10.x supports only versions 5.6 and 5.7. It is not planned to support Percona XtraDB Cluster beyond 7.10.x.<br />
<br />
* For some Linux distributions the included MySQL/MariaDB packages are too old to be used with App Suite. It is mandatory then to install a supported version from '''upstream package sources'''. Possible sources are the official vendor repositories of MySQL or MariaDB as well as for example Red Hat Software Collections.<br />
* Required '''MySQL/MariaDB configuration''' configuration differs between '''App Suite 7.8.4 and 7.10.x''' and also between the different database systems in terms of SQL modes. See [[My.cnf]] for details.<br />
* For upgrades from App Suite <= 7.8.2 to >= 7.10.0 a comprehensive '''database upgrade guide''' exists: [[AppSuite:7_10_Database_Migration]]<br />
<br />
== HTTP Reverse Proxy ==<br />
<br />
An HTTP server with reverse proxy and load balancing capabilities is required in front of App Suite application servers. TLS termination, virtual hosts, path-based routing, sticky sessions and X-Forwarded headers are typical required features. OX strongly recommends [https://httpd.apache.org/ Apache httpd 2.x] for that. Configuration examples can be found in the quickinstall guides.<br />
<br />
'''Important:''' For websocket support Apache httpd 2.4.x is needed, 2.2.x does not support the required ws_tunnel module. Websockets are mandatory for OX Documents starting with v7.10.3. Like with JRE and MySQL/MariaDB it might be necessary to use 3rd party packages to get the needed Linux packages. Especially for RHEL6 we recommend using Red Hat Software Collections.<br />
<br />
== Webserver ==<br />
<br />
[https://httpd.apache.org/ Apache httpd 2.x] is required as webserver to serve static App Suite UI content. Configuration examples can be found in the quickinstall guides.<br />
<br />
== File Storage ==<br />
<br />
=== Temporary Data ===<br />
<br />
OX App Suite stores temporary files in the local file system, e.g. for spooling of uploaded data. Any file system supported by the installed JRE is suitable.<br />
<br />
=== Persistent Data ===<br />
<br />
Persistent data like OX Drive files, PIM attachments etc. and temporary attachment data need to be stored in a distributed file system as registered filestore that is available from all server nodes. For single-node setups a local file system mount point can be used, small to mid-scale setups can be powered by NFS. For large-scale setups object storages should be considered.<br />
<br />
==== Object Storages ====<br />
<br />
OX App Suite ships with different optional adapters to support object storages.<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Vendor'''<br />
|'''Product'''<br />
|'''API'''<br />
|'''Remarks'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Amazon<br />
|AWS S3<br />
|S3 HTTP API<br />
|See also [[AppSuite:S3_File_Store]]<br />
|-<br />
|CEPH<br />
|RadosGW<br />
|S3 HTTP API<br />
|See also [[AppSuite:S3_File_Store]]<br />
|-<br />
|Scality<br />
|Scality RING<br />
|Sproxyd HTTP API<br />
|See also [[AppSuite:Scality_File_Store]]<br />
|-<br />
|}<br />
<br />
== Desktop Browser (Minimum display resolution: 1024 x 768)==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Google Chrome (latest & previous version)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|-<br />
|Mozilla Firefox (latest & current ESR-Version)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|-<br />
|Apple Safari (latest & previous version; macOS only)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|-<br />
|Microsoft Edge (Chromium-based)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|-<br />
|Microsoft Edge (Legacy)<br />
|v7.10.3, 7.10.4<br />
|-<br />
|Microsoft Internet Explorer 11<br />
|v7.10.3, 7.10.4<br />
|-<br />
|Microsoft Internet Explorer 10/11<br />
|v7.6.3<br />
|-<br />
|}<br />
<br />
== Mobile Device Support==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Mobile Device'''<br />
|'''Supported Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|'''Minimum Speed Requirements'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|iPhone on iOS 13 / iOS 14 / iPad OS<br />
|Safari<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|-<br />
|Smartphone on Android 4.1 or later<br />
|Chrome (latest & previous version)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|}<br />
<br />
== Tablet Support==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Tablet'''<br />
|'''Supported Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|'''Minimum Speed Requirements'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iPad (all devices) on iOS 13 / iOS 14 / iPad OS<br />
|Safari<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|-<br />
|Tablets on Android 4.1 or later<br />
|Chrome (latest & previous version)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|}<br />
<br />
== Calendar/Contact synchronization Apple macOS ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|Calendar synchronization with CalDAV<br />
|Contacts synchronization with CardDAV<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|macOS 10.14 (Mojave)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|macOS 10.15 (Catalina)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|macOS 11.0 (Big Sur)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== Calendar/Contact synchronization Apple iOS ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|Calendar synchronization with CalDAV<br />
|Contacts synchronization with CardDAV<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iOS 13 / iOS 14 / iPad OS<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== Mobility Solution - Supported- Platforms, Features and Devices ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Feature/Technology/Device'''<br />
|[http://oxpedia.org/wiki/index.php?title=OXtender_for_Business_Mobility '''OXtender for Business Mobility'''] (availalble for App Suite, OXHE, OXSE)<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Exchange Active Sync 2.5<br />
|[[File:check.gif]]<br />
|-<br />
|Exchange Active Sync 12.1<br />
|[[File:check.gif]]<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Access and creation of emails<br />
|[[File:check.gif]]<br />
|-<br />
|Personal PIM folder<br />
|[[File:check.gif]] <br />
|-<br />
|Public and Shared PIM folder<br />
|[[File:cross.gif]]<br />
|-<br />
|Global address book<br />
|[[File:check.gif]] <br />
|-<br />
|Push E-Mail<br />
|[[File:check.gif]] <br />
|-<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iOS 13 / iOS 14 / iPad OS<br />
|[[File:check.gif]]<br />
|-<br />
|Android 8 (Oreo) or later with latest Gmail app.<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== OX Drive for Clients ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX App Suite 7.10.5<br />
|-<br />
|OX Drive for Windows<br />
|Latest versions of Windows 8, latest versions of Windows 10 (no support of Mac OS X clients with emulators and Windows RT)<br />
|-<br />
|OX Drive for macOS<br />
|macOS Mojave 10.14, macOS Catalina 10.15, macOS Big Sur 11<br />
|-<br />
|OX Drive for iOS<br />
|iOS and iPadOS 11 and above<br />
|-<br />
|OX Drive for Android<br />
|Smartphones and tablets running Android 7.0 (API level 24) and above.<br />
|-<br />
|}<br />
<br />
== OX Sync App ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform / User Interface'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX App Suite 7.10.5<br />
|-<br />
|OX Sync App for Android<br />
|Smartphone on Android 5.0 or later<br />
|-<br />
|}<br />
<br />
== OX Guard ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform / User Interface'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX Guard since v2.10.3: OX App Suite v7.10.3, OX Guard since v2.10.4: OX App Suite v7.10.4, OX Guard since v2.10.5: OX App Suite v7.10.5<br />
|-<br />
|Mobile Device and Tablet Support<br />
|Apple iPhone on iOS 13 / iOS 14 / iPad OS: Safari (latest version & previous version)<br>Smartphone on Android 4.1 or later: Chrome (latest & previous version)<br>Apple iPad (all devices) on iOS 13 / iOS 14 / iPad OS: Safari Safari (latest version & previous version)<br>Tablets on Android 4.1 or later: Chrome (latest & previous version)<br />
|-<br />
|}<br />
<br />
<br />
[[Category: OX7]]<br />
[[Category: AppSuite]]</div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=AppSuite:OX_System_Requirements&diff=25885AppSuite:OX System Requirements2021-04-23T10:14:45Z<p>Marco.Tabor: </p>
<hr />
<div>= OX App Suite Requirements - Open-Xchange supported components overview =<br />
<br />
The following table provides an overview about the supported components of OX App Suite and further products. This overview makes no claim to be complete.<br />
<br />
Information about Maintenance expiries of components, versions and browser support, can be found in the [[AppSuite:Versioning_and_Numbering#Maintenance_expires|Maintenance Expires Table]]<br />
<br />
== Hardware Requirements ==<br />
<br />
=== General Assumptions ===<br />
<br />
Open-Xchange App Suite Server (middleware services) is designed to run on physical servers or virtual machines of the same flavor. Cloud environments might be used in terms of Infrastructure as a Service (IaaS), meaning that all components need to be deployed in a classical manner on virtual machines.<br />
<br />
This means in particular, but not only:<br />
<br />
* Infrastructure is supposed to be "quasi-static". Automatic replacement of broken nodes is fine as long as this is always an exceptional case. Scaling out or reducing number of nodes must always be a conscious task and closely monitored.<br />
* The only supported "Database as a service" solution is AWS RDS for MariaDB as defined by belows compatibility table.<br />
<br />
Especially we expect the virtual hardware to be not over-provisioned. Each VM must have dedicated resources with respect to CPU cores, RAM, IOPS, storage, network bandwidth, network latency, etc.<br />
<br />
Network is expected to be flat, inside one datacenter, no multi-datacenter, no segments. No packet loss, low latency.<br />
<br />
'''Disclaimer: All recommendations below are without guarantee and can differ for specific deployments. For mid- and large-scale setups a detailed deployment planning and sizing tests are mandatory and should be agreed on with OX Professional Services.'''<br />
<br />
=== High Level Design / OS setup ===<br />
<br />
Operate services separately (USM, Document/Image Converters) as described in [https://oxpedia.org/wiki/index.php?title=AppSuite:Running_a_cluster Cluster Setup].<br />
<br />
Clocks between all nodes must be synchronized (e.g. via NTP).<br />
<br />
Open file/max process limits need to be adjusted properly. Based on the used Linux distribution and init system configuration will differ, see Resource Limits for further explanation.<br />
<br />
Platform Architecture: 64 bit versions (x84_64) of the supported [[#Software Requirements | Linux distributions]]<br />
<br />
=== Node Sizing ===<br />
<br />
==== OX App Suite Middleware ====<br />
<br />
* Max. 8 GB heap per JVM + 4 GB system memory for other daemons and the OS (buffers, caches)<br />
* 4 CPU cores (virtual, physical or hyperthreads) for plain HTTP connections. If TLS is terminated on application nodes this might need to be doubled.<br />
* Disk space<br />
** 8 GB for OS and software<br />
** Some services like Document Converter need SWAP partitions (~1 * RAM)<br />
** 2 * system memory of free disk space (i.e. 12 GB RAM => 24 GB free disk space) for file spooling, log files, heap and core dumps<br />
<br />
=== Untested/Unsupported Deployments ===<br />
<br />
* Changes to Garbage Collector settings<br />
* Running in containerized environments (Docker, rkt)<br />
* Elasticity/High velocity of nodes going up and down: Services are sometimes stateful and demand static configuration<br />
* Cloud platform services (PaaS) that promise to replacements for certain supported technologies but have not been verified by OX for these regards<br />
* Multi-site active-active<br />
<br />
== Software Requirements ==<br />
<br />
=== Linux Distributions ===<br />
<br />
OX App Suite is available as Linux packages for the following distributions:<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Distribution'''<br />
|'''Versions'''<br />
|'''Remarks'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Red Hat Enterprise Linux<br />
|7<br />
|<br />
|-<br />
|CentOS<br />
|7<br />
|Install from RHEL package repositories<br />
|-<br />
|Debian<br />
|9 (Stretch), 10 (Buster)<br />
|<br />
|-<br />
|Univention Corporate Server<br />
|4.4<br />
|<br />
|-<br />
|Amazon Linux<br />
|2<br />
|Discontinued Support with end of life of OX App Suite v7.10.5<br />
|-<br />
|}<br />
<br />
=== Java ===<br />
<br />
OX App Suite Middleware requires OpenJDK headless JRE 8 or 9. Linux distributions might offer only packages for OpenJDK 11 JRE, which is not suitable for OX App Suite. It is in those cases required to install AdoptOpenJDK 8 JRE with HotSpot VM. A comprehensive installation guide can be found at https://adoptopenjdk.net/installation.html#linux-pkg. The correct JRE package is adoptopenjdk-8-hotspot-jre.<br />
<br />
=== Databases ===<br />
<br />
OX App Suite uses MySQL/MariaDB with the InnoDB storage engine as its primary data store. The following vendors and products are supported.<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Vendor'''<br />
|'''Product'''<br />
|'''Versions'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Oracle<br />
|MySQL Community Edition, Standard Edition, Enterprise Edition<br />
|v5.6.x, v5.7.x<br />
|-<br />
|MariaDB<br />
|MariaDB Server, Galera Cluster<br />
|v10.1.x, v10.2.x, v10.4.x<br />
|-<br />
|Amazon<br />
|AWS RDS for MariaDB<br />
|10.2.x<br>Discontinued Support with end of life of OX App Suite v7.10.5<br />
|-<br />
|}<br />
<br />
==== Important Notes ====<br />
<br />
* Open-Xchange does not plan to support '''MySQL 8 or higher'''. As MariaDB and MySQL are diverging and cannot be assumed drop-in replacements anymore, Open-Xchange will focus on MariaDB Server and MariaDB Galera Cluster. Future App Suite releases '''> 7.10.x''' might rely on features only available in '''MariaDB'''.<br />
* Open-Xchange supports '''Percona XtraDB Cluster''' for existing customers with initial deployments done using '''App Suite 7.8.x or earlier'''. Those customers can continue to use Percona XtraDB Cluster throughout the 7.10.x release series. Like for MySQL, 7.10.x supports only versions 5.6 and 5.7. It is not planned to support Percona XtraDB Cluster beyond 7.10.x.<br />
<br />
* For some Linux distributions the included MySQL/MariaDB packages are too old to be used with App Suite. It is mandatory then to install a supported version from '''upstream package sources'''. Possible sources are the official vendor repositories of MySQL or MariaDB as well as for example Red Hat Software Collections.<br />
* Required '''MySQL/MariaDB configuration''' configuration differs between '''App Suite 7.8.4 and 7.10.x''' and also between the different database systems in terms of SQL modes. See [[My.cnf]] for details.<br />
* For upgrades from App Suite <= 7.8.2 to >= 7.10.0 a comprehensive '''database upgrade guide''' exists: [[AppSuite:7_10_Database_Migration]]<br />
<br />
== HTTP Reverse Proxy ==<br />
<br />
An HTTP server with reverse proxy and load balancing capabilities is required in front of App Suite application servers. TLS termination, virtual hosts, path-based routing, sticky sessions and X-Forwarded headers are typical required features. OX strongly recommends [https://httpd.apache.org/ Apache httpd 2.x] for that. Configuration examples can be found in the quickinstall guides.<br />
<br />
'''Important:''' For websocket support Apache httpd 2.4.x is needed, 2.2.x does not support the required ws_tunnel module. Websockets are mandatory for OX Documents starting with v7.10.3. Like with JRE and MySQL/MariaDB it might be necessary to use 3rd party packages to get the needed Linux packages. Especially for RHEL6 we recommend using Red Hat Software Collections.<br />
<br />
== Webserver ==<br />
<br />
[https://httpd.apache.org/ Apache httpd 2.x] is required as webserver to serve static App Suite UI content. Configuration examples can be found in the quickinstall guides.<br />
<br />
== File Storage ==<br />
<br />
=== Temporary Data ===<br />
<br />
OX App Suite stores temporary files in the local file system, e.g. for spooling of uploaded data. Any file system supported by the installed JRE is suitable.<br />
<br />
=== Persistent Data ===<br />
<br />
Persistent data like OX Drive files, PIM attachments etc. and temporary attachment data need to be stored in a distributed file system as registered filestore that is available from all server nodes. For single-node setups a local file system mount point can be used, small to mid-scale setups can be powered by NFS. For large-scale setups object storages should be considered.<br />
<br />
==== Object Storages ====<br />
<br />
OX App Suite ships with different optional adapters to support object storages.<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Vendor'''<br />
|'''Product'''<br />
|'''API'''<br />
|'''Remarks'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Amazon<br />
|AWS S3<br />
|S3 HTTP API<br />
|See also [[AppSuite:S3_File_Store]]<br />
|-<br />
|CEPH<br />
|RadosGW<br />
|S3 HTTP API<br />
|See also [[AppSuite:S3_File_Store]]<br />
|-<br />
|Scality<br />
|Scality RING<br />
|Sproxyd HTTP API<br />
|See also [[AppSuite:Scality_File_Store]]<br />
|-<br />
|}<br />
<br />
== Desktop Browser (Minimum display resolution: 1024 x 768)==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Google Chrome (latest & previous version)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|-<br />
|Mozilla Firefox (latest & current ESR-Version)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|-<br />
|Apple Safari (latest & previous version; macOS only)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|-<br />
|Microsoft Edge (Chromium-based)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|-<br />
|Microsoft Edge (Legacy)<br />
|v7.10.3, 7.10.4<br />
|-<br />
|Microsoft Internet Explorer 11<br />
|v7.10.3, 7.10.4<br />
|-<br />
|Microsoft Internet Explorer 10/11<br />
|v7.6.3<br />
|-<br />
|}<br />
<br />
== Mobile Device Support==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Mobile Device'''<br />
|'''Supported Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|'''Minimum Speed Requirements'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|iPhone on iOS 13 / iOS 14 / iPad OS<br />
|Safari<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|-<br />
|Smartphone on Android 4.1 or later<br />
|Chrome (latest & previous version)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|}<br />
<br />
== Tablet Support==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Tablet'''<br />
|'''Supported Browser'''<br />
|'''OX App Suite User Front-End'''<br />
|'''Minimum Speed Requirements'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iPad (all devices) on iOS 13 / iOS 14 / iPad OS<br />
|Safari<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|-<br />
|Tablets on Android 4.1 or later<br />
|Chrome (latest & previous version)<br />
|v7.10.3, 7.10.4, 7.10.5<br />
|3G connections (512/256kBit/s, 350ms latency)<br />
|}<br />
<br />
== Calendar/Contact synchronization Apple macOS ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|Calendar synchronization with CalDAV<br />
|Contacts synchronization with CardDAV<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|macOS 10.14 (Mojave)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|macOS 10.15 (Catalina)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|macOS 11.0 (Big Sur)<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== Calendar/Contact synchronization Apple iOS ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|Calendar synchronization with CalDAV<br />
|Contacts synchronization with CardDAV<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iOS 13 / iOS 14 / iPad OS<br />
|[[File:check.gif]]<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== Mobility Solution - Supported- Platforms, Features and Devices ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Feature/Technology/Device'''<br />
|[http://oxpedia.org/wiki/index.php?title=OXtender_for_Business_Mobility '''OXtender for Business Mobility'''] (availalble for App Suite, OXHE, OXSE)<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Exchange Active Sync 2.5<br />
|[[File:check.gif]]<br />
|-<br />
|Exchange Active Sync 12.1<br />
|[[File:check.gif]]<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Access and creation of emails<br />
|[[File:check.gif]]<br />
|-<br />
|Personal PIM folder<br />
|[[File:check.gif]] <br />
|-<br />
|Public and Shared PIM folder<br />
|[[File:cross.gif]]<br />
|-<br />
|Global address book<br />
|[[File:check.gif]] <br />
|-<br />
|Push E-Mail<br />
|[[File:check.gif]] <br />
|-<br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|Apple iOS 13 / iOS 14 / iPad OS<br />
|[[File:check.gif]]<br />
|-<br />
|Android 8 (Oreo) or later with latest Gmail app.<br />
|[[File:check.gif]]<br />
|-<br />
|}<br />
<br />
== OX Drive for Clients ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX App Suite 7.10.5<br />
|-<br />
|OX Drive for Windows<br />
|Latest versions of Windows 8, latest versions of Windows 10 (no support of Mac OS X clients with emulators and Windows RT)<br />
|-<br />
|OX Drive for macOS<br />
|macOS Mojave 10.14, macOS Catalina 10.15, macOS Big Sur 11<br />
|-<br />
|OX Drive for iOS<br />
|Apple iOS 13 / iOS 14 / iPad OS<br />
|-<br />
|OX Drive for Android<br />
|Smartphones and tablets running Android 7.0 (API level 24) and above.<br />
|-<br />
|}<br />
<br />
== OX Sync App ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform / User Interface'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX App Suite 7.10.5<br />
|-<br />
|OX Sync App for Android<br />
|Smartphone on Android 5.0 or later<br />
|-<br />
|}<br />
<br />
== OX Guard ==<br />
<br />
{|border="2" rules="all" align="left"><br />
|'''Requirement'''<br />
|'''System / Platform / User Interface'''<br />
|- <br />
|&nbsp;<br />
|&nbsp;<br />
|-<br />
|OX App Suite<br />
|OX Guard since v2.10.3: OX App Suite v7.10.3, OX Guard since v2.10.4: OX App Suite v7.10.4, OX Guard since v2.10.5: OX App Suite v7.10.5<br />
|-<br />
|Mobile Device and Tablet Support<br />
|Apple iPhone on iOS 13 / iOS 14 / iPad OS: Safari (latest version & previous version)<br>Smartphone on Android 4.1 or later: Chrome (latest & previous version)<br>Apple iPad (all devices) on iOS 13 / iOS 14 / iPad OS: Safari Safari (latest version & previous version)<br>Tablets on Android 4.1 or later: Chrome (latest & previous version)<br />
|-<br />
|}<br />
<br />
<br />
[[Category: OX7]]<br />
[[Category: AppSuite]]</div>Marco.Taborhttps://www.oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive&diff=25882AppSuite:OX Drive2021-04-23T10:10:36Z<p>Marco.Tabor: /* Installation of Windows Desktop App */</p>
<hr />
<div>Source of http://oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive<br />
<br />
<br />
<br />
= OX Drive =<br />
<br />
In OX App Suite, Open-Xchange provides a cloud storage called OX Drive. It provides file- and folder synchronization across multiple devices in the simplest way for the end user, fully optimized for each device type. This article explains how to set up the server-side components for OX Drive, as well as details about the app setup.<br />
<br />
== Key features ==<br />
<br />
* Native Apps for Windows, macOS, iOS and Android<br />
* Easy and attractive upsell properties (e.g. Upsell based on Quota limitations)<br />
* Apps are specially designed for the devices they run on taking into account limitations such as battery life, screen limitations, bandwidth etc.<br />
* Controlled synchronization of files across devices<br />
* Storage management (e.g. quota control, upload limits)<br />
* Connection type recognition and adaptation (e.g. Wi-Fi, cell network)<br />
<br />
== Availability ==<br />
<br />
OX Drive is a combination of two components:<br />
* OX Drive in OX App Suite<br />
* OX Drive Apps (optional native apps for synchronization)<br />
<br />
OX Drive is available as native app for the following operating systems:<br />
* OX Drive for Windows<br />
* OX Drive for macOS<br />
* OX Drive for iOS<br />
* OX Drive for Android<br />
<br />
== Requirements ==<br />
<br />
You will find the requirements under [[AppSuite:OX_System_Requirements#OX_Drive_for_Clients|OX Drive App and Platform Requirements]]<br />
<br />
= Server-side Installation and Configuration =<br />
<br />
This chapter describes how the backend components of OX Drive are installed and configured on the server.<br />
<br />
== Prerequisites ==<br />
<br />
* Open-Xchange Server v7.10.5 and above (''open-xchange-core'')<br />
* Grizzly HTTP connector (''open-xchange-grizzly''), see [[AppSuite:Grizzly]] for details, with ''Comet'' support enabled in ''grizzly.properties''<br />
* Valid Push-Certificates / API keys for cloud-based notifications, see configuration below<br />
* Enabled Hazelcast for inter-OX-communication, see [[AppSuite:Running_a_cluster]] for details<br />
<br />
== Available packages ==<br />
<br />
Open-Xchange Drive is available with the following backend packages:<br />
<br />
* ''open-xchange-drive'' - The main server components for OX Drive<br />
* ''open-xchange-drive-comet'' - Provides the Push interface via long-polling for the desktop apps<br />
* ''open-xchange-drive-help-*'' - Online help in various languages for the OX Drive applications (these were called ''open-xchange-appsuite-help-drive-*'' in versions earlier than Open-Xchange Server v7.6.2)<br />
* ''open-xchange-drive-restricted'' - Restricted components, including prerequisites for cloud-based push notifications<br />
<br />
Installation on the server varies depending on the underlying distribution, details are available in the following chapters.<br />
<br />
=== OX Drive for Windows ===<br />
<br />
Additionally OX Drive for Windows can be provided to users by installing additional packages.<br />
<br />
OX Drive for Windows is able to update itself and can be downloaded from the Web UI directly via the [[AppSuite:Client_Onboarding|App Onboarding Wizard]]. Therefore the wizard must be installed and configured for OX Drive users. Besides the client onboarding feature you need the following packages:<br />
<br />
* ''open-xchange-drive-client-windows'' - The main server component to provide the app<br />
* ''open-xchange-drive-client-windows-generic'' - The package providing the final binary files to be installed on users machines.<br />
<br />
To make the app download available via the app onboarding wizard, you need to enable the according scenario. Edit ''/opt/open-xchange/etc/client-onboarding-scenarios.yml'' and get to the ''drivewindowsclientinstall'' section, where you have to set the ''enabled'' property to ''true''.<br />
<br />
[[File:Drive_Update.png|500px|thumb|left|Drive Update Info]]<br />
<br />
===== Custom branded apps =====<br />
<br />
OX Drive for Windows can be purchased with a custom theming. In such cases, the according binary files need to be installed on the middleware servers. Instead of the ''open-xchange-drive-client-windows-generic'' package, a package containing the branded binaries will be provided as ''open-xchange-drive-client-windows-<brand-name>'' and needs to be installed. You MUST then set the property ''com.openexchange.drive.update.branding'' in ''/opt/open-xchange/etc/drive-client-windows.properties'' to ''<brand-name>'' accordingly.<br />
<br />
It is also possible to provide multiple brands of the app via the same OX App Suite deployment, multiple ''open-xchange-drive-client-windows-<brand-name>'' packages can be installed in parallel. Which brand is available for a certain user is determined by the ''com.openexchange.drive.update.branding'' property, which can be overwritten via [[ConfigCascade|Config Cascade]] therefore.<br />
<br />
App brands can be managed via command line tools. The tool ''/opt/open-xchange/sbin/listdriveclients'' lists all installed brands. After updating a certain brand by installing a newer package version or installing an additional one, no server restart is necessary. Instead ''/opt/open-xchange/sbin/reloaddriveclients'' can be executed to refresh the internal server state.<br />
<br />
<br />
=== Redhat Enterprise Linux 7 or CentOS 7 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange yum configuration:<br />
<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|backend}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|drive-help}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ yum update<br />
$ yum install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== Debian GNU/Linux 9.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
=== Debian GNU/Linux 10.0 ===<br />
<br />
If not already done, add the following repositories to your Open-Xchange apt configuration:<br />
<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|backend}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|drive-help}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}<br />
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}<br />
and run<br />
<br />
$ apt-get update<br />
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows<br />
<br />
<br />
=== OX Server Edition / App Suite for UCS ===<br />
<br />
If you have purchased the OX Server Edition / App Suite for UCS, the OX Drive is part of the offering and after the installation/update available. The necessary package for push, is available with a valid license and can be installed via the Univention App Center.<br />
<br />
* The new license is already registered at the LDB after purchase.<br />
* Log on at the Univention Management Console (UMC)<br />
* Make sure, that the correct LDB account has been selected in the UMC module "OX License Management"<br />
* Click on "App Center" at the UMC und switch to the tab "Repository Settings"<br />
* Within the component list, select "Open-Xchange Drive" and press the "Install" button<br />
<br />
== Configuration ==<br />
<br />
The following gives an overview about the most important settings to enable file synchronization via OX Drive, especially when it comes to real-time Push notifications for the apps.<br />
<br />
All settings regarding the OX Drive backend component are located in the configuration file ''drive.properties''. The default configuration should be sufficient for a basic "up-and-running" setup (with the exception of defining the Push certificates and API keys for cloud-based app notifications, see next chapters). Please refer to the inline documentation of the configuration file for more advanced options. <br />
<br />
Most properties located in configuration file ''drive.properties'' are now config-cascade aware. Therefore all settings can be set per user, per contextSet or per context. If there is no configuration per user, per contextSet or per context, the configuration in ''drive.properties'' will still be used as server-wide fallback.<br />
<br />
When installing from scratch, the configuration file ''drive.properties'' is no longer shipped, as the default values are used. For more details, find an overview of configurable settings [https://documentation.open-xchange.com/7.10.5/middleware/administration.html here].<br />
<br />
If no Push certificates and API keys are defined but cloud-based app notifications are enabled, the Push certificates and API keys from package ''open-xchange-drive-restricted'' are used as fallback, if this package is installed.<br />
<br />
=== Push via Firebase Cloud Messaging (FCM) ===<br />
<br />
The OX Drive application for Android devices is able to receive Push notifications from the Open-Xchange Server via [https://firebase.google.com/docs/cloud-messaging/ Firebase Cloud Messaging (FCM)]. To issue those Push messages, the backend needs to be provided with a suitable API key for the corresponding Android app application. The API key is included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" Android app. Alternatively, the key can be specified directly in the ''drive.properties'' configuration file:<br />
<br />
# Specifies the API key of the server application. Required if <br />
# "com.openexchange.drive.events.gcm.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.gcm.key=<br />
<br />
Push via FCM can be enabled via:<br />
<br />
# Enables or disables push event notifications to apps using the Google<br />
# Firebase Cloud Messaging (FCM) service. This requires a valid configuration for the <br />
# FCM API key, see options below. Defaults to "false". <br />
com.openexchange.drive.events.gcm.enabled=true<br />
<br />
Please note that push via FCM needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.<br />
<br />
=== Push via Apple Push Notification service (APNs) ===<br />
<br />
The OX Drive application for iOS and macOS devices is able to receive Push notifications from the Open-Xchange Server via [http://developer.apple.com/library/IOS/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html Apple Push Notification service (APNs)]. To issue those Push messages, the backend needs to be provided with a suitable keystore container file (PKCS #12) containing the APNs certificate and keys. Note that the macOS desktop app and the iOS mobile app are served separately with different certificates, so that both needs to be configured independently. The required certificates are already included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" iOS and macOS applications. Therefore no additional configuration is needed. Alternatively, an external certificate can be specified directly in the ''drive.properties'' configuration file (the following only shows the setup for iOS). First, the path to the PKCS #12 container file needs to be specified at:<br />
<br />
# Specifies the path to the local keystore file (PKCS #12) containing the APNS <br />
# certificate and keys for the iOS application, e.g. <br />
# "/opt/open-xchange/etc/drive-apns.p12". Required if <br />
# "com.openexchange.drive.events.apn.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.apn.ios.keystore=<br />
<br />
This file is opened by the backend using the password as supplied via: <br />
<br />
# Specifies the password used when creating the referenced keystore containing<br />
# the certificate of the iOS application. Note that blank or null passwords <br />
# are in violation of the PKCS #12 specifications. Required if <br />
# "com.openexchange.drive.events.apn.enabled" is "true" and the package <br />
# containing the restricted drive components is not installed.<br />
com.openexchange.drive.events.apn.ios.password=<br />
<br />
Configuration also allows to switch between development and production environments, however, this setting should be ''true'' normally:<br />
<br />
# Indicates which APNS service is used when sending push notifications to iOS<br />
# devices. A value of "true" will use the production service, a value of <br />
# "false" the sandbox service. Defaults to "true".<br />
com.openexchange.drive.events.apn.ios.production=true<br />
<br />
The OX backend contacts the APNs servers from time to time to get informed about apps no longer reachable apps where the applications was uninstalled. The interval can be defined with the following setting: <br />
<br />
# Configures the interval between queries to the APN feedback service for the<br />
# subscribed iOS devices. The value can be defined using units of measurement: <br />
# "D" (=days), "W" (=weeks) and "H" (=hours). Defaults to "1D" (one day). <br />
# Leaving this parameter empty disables the feedback queries on this node. <br />
# Since each received feedback is processed cluster-wide, only one node in the <br />
# cluster should be enabled here. <br />
com.openexchange.drive.events.apn.ios.feedbackQueryInterval=1D<br />
<br />
Please note that if you have multiple backend nodes in the cluster, it's recommended that only one node is configured to contact the feedback query service. Finally, Push notifications via APN for iOS can be enabled via:<br />
<br />
# Enables or disables push event notifications to apps using the Apple Push<br />
# Notification service (APNS) for macOS devices. This requires a valid <br />
# configuration for the APNS certificate and keys, see either options below, <br />
# or install the restricted components packages for drive. Defaults to <br />
# "false". <br />
com.openexchange.drive.events.apn.ios.enabled=false<br />
<br />
As stated above, configuration for Push notifications via APN for the macOS desktop application is configured similarly, the relevant options are prefixed with ''com.openexchange.drive.events.apn.macos''. Please also note that push via APNS needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.<br />
<br />
=== Further Configuration ===<br />
<br />
* The backend component of OX Drive supplies the apps with various hyperlinks, e.g. deep-links to files and folders in the groupware webinterface or an URL to the online help. In order to point to the suitable web interface, please ensure that the correct UI web path is configured via ''com.openexchange.UIWebPath'' located in ''server.properties''.<br />
* As already mentioned above, the backend relies on the [https://grizzly.java.net/comet.html Comet] component of the Grizzly http connector for sending push notifications to the desktop apps. Therefore, ''com.openexchange.http.grizzly.hasCometEnabled'' needs to be set to ''true'' in ''grizzly.properties''.<br />
<br />
= Enabling OX Drive for Users =<br />
<br />
OX Drive is enabled for all users that have the capability ''com.openexchange.capability.drive''. Please note that users need to have the ''infostore'' permission set to use drive. So the users that have ''drive'' enabled must be a subset of those users with ''infostore'' permission. Since 7.6.0 we enforce this via the default configuration. You can also enable this cabaility globally with the following setting in the ''drive.properties'' configuration file:<br />
<br />
# Enables or disables the "drive" module capability globally. The capability<br />
# can also be set more fine-grained via config cascade. Per default it is only<br />
# enabled for users that have the "infostore" permission set. This is configured<br />
# in /opt/open-xchange/etc/contextSets/drive.yml.<br />
com.openexchange.capability.drive=false<br />
<br />
More details about capabilities can be found at [[AppSuite:Capabilities]]. Furthermore, this capability can be defined in a more granular way using the Config Cascade as described at [[ConfigCascade]].<br />
<br />
= Installation of the Apps =<br />
<br />
== Installation of macOS Desktop App ==<br />
<br />
The OX Drive for macOS is provided via the Mac App Store:<br />
<br />
* https://itunes.apple.com/app/ox-drive/id818195014?mt=12<br />
<br />
=== Enabling the Finder Extension on macOS ===<br />
<br />
In order to be able to open or share documents in the App Suite from Finder you need to enable the Drive Finder Extension.<br />
<br />
How to enable the Drive Finder Extension on macOS:<br />
# Open the System Preferences.<br />
# In the System Preferences window select Extensions.<br />
# In the Extensions window select Finder.<br />
# Enable Drive Finder Extension.<br />
<br />
== Installation of Windows Desktop App ==<br />
<br />
If the necessary packages are installed (See [[AppSuite:OX_Drive#OX_Drive_for_Windows|OX Drive for Windows]]), users can download the app from within the App Suite via "Settings > Connect my Device.<br />
<br />
== Installation of Mobile Apps ==<br />
<br />
The OX Drive App is available via the different App Stores:<br />
<br />
* iOS: https://itunes.apple.com/app/ox-drive/id798570177?mt=8<br />
<br />
* Android: https://play.google.com/store/apps/details?id=com.openexchange.drive.vanilla<br />
<br />
== App Configuration and Deployment ==<br />
<br />
The user needs to enter the server URL and provide his username and password to log in. Afterwards, app-specific synchronisation settings may be configured. More information is available in the online documentation which is accessible from within the app.<br />
<br />
After the initial synchronization is completed, all further changes are synchronized instantly across all devices.<br />
<br />
'''Note:''' Version v7.10.3 of the OX App Suite introduced optional multifactor authentication, see https://documentation.open-xchange.com/7.10.3/middleware/security_and_encryption/multifactor_authentication.html. <br />
The OX Drive apps do not support this yet. If activated on the server, you will not be able to connect with the apps anymore.<br />
<br />
<br />
<!-- = FAQ =<br />
<br />
You will find it under [https://oxpedia.org/wiki/index.php?title=Product_FAQ]. --></div>Marco.Tabor