Overview

Besides ordinary local- or NFS-filesystem-based filestores, OX may also be used with a Scality storage solution offering the sproxyd HTTP/REST interface. The required functionality is added with the package open-xchange-filestore-sproxyd.


Installation & Configuration

This chapter shows which components need to be installed and where configuration is done.

Installation on OX App Suite

Debian GNU/Linux 7.0

Add the following entry to /etc/apt/sources.list.d/open-xchange.list if not already present:

deb https://software.open-xchange.com/products/appsuite/stable/backend/DebianWheezy/ /
# if you have a valid maintenance subscription, please uncomment the 
# following and add the ldb account data to the url so that the most recent
# packages get installed
# deb https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/products/appsuite/stable/backend/updates/DebianWheezy/ /

and run

$ apt-get update
$ apt-get install open-xchange-filestore-sproxyd

Debian GNU/Linux 8.0

Add the following entry to /etc/apt/sources.list.d/open-xchange.list if not already present:

deb https://software.open-xchange.com/products/appsuite/stable/backend/DebianJessie/ /
# if you have a valid maintenance subscription, please uncomment the 
# following and add the ldb account data to the url so that the most recent
# packages get installed
# deb https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/products/appsuite/stable/backend/updates/DebianJessie/ /

and run

$ apt-get update
$ apt-get install open-xchange-filestore-sproxyd

SUSE Linux Enterprise Server 11

Add the package repository using zypper if not already present:

$ zypper ar https://software.open-xchange.com/products/appsuite/stable/backend/SLES11 ox

If you have a valid maintenance subscription, please run the following command and add the ldb account data to the url so that the most recent packages get installed:

$ zypper ar https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/products/appsuite/stable/backend/updates/SLES11 ox-updates

and run

$ zypper ref
$ zypper in open-xchange-filestore-sproxyd

SUSE Linux Enterprise Server 12

Add the package repository using zypper if not already present:

$ zypper ar https://software.open-xchange.com/products/appsuite/stable/backend/SLE_12 ox

If you have a valid maintenance subscription, please run the following command and add the ldb account data to the url so that the most recent packages get installed:

$ zypper ar https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/products/appsuite/stable/backend/updates/SLES11 ox-updates

and run

$ zypper ref
$ zypper in open-xchange-filestore-sproxyd

RedHat Enterprise Linux 6

Start a console and create a software repository file if not already present:

$ vim /etc/yum.repos.d/ox.repo

[ox]
name=Open-Xchange
baseurl=https://software.open-xchange.com/products/appsuite/stable/backend/RHEL6/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m
# if you have a valid maintenance subscription, please uncomment the 
# following and add the ldb account data to the url so that the most recent
# packages get installed
# [ox-updates]
# name=Open-Xchange Updates
# baseurl=https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/products/appsuite/stable/backend/updates/RHEL6/
# gpgkey=https://software.open-xchange.com/oxbuildkey.pub
# enabled=1
# gpgcheck=1
# metadata_expire=0m

and run

$ yum update
$ yum install open-xchange-filestore-sproxyd

RedHat Enterprise Linux 7

Start a console and create a software repository file if not already present:

$ vim /etc/yum.repos.d/ox.repo

[ox]
name=Open-Xchange
baseurl=https://software.open-xchange.com/products/appsuite/stable/backend/RHEL7/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m
# if you have a valid maintenance subscription, please uncomment the 
# following and add the ldb account data to the url so that the most recent
# packages get installed
# [ox-updates]
# name=Open-Xchange Updates
# baseurl=https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/products/appsuite/stable/backend/updates/RHEL7/
# gpgkey=https://software.open-xchange.com/oxbuildkey.pub
# enabled=1
# gpgcheck=1
# metadata_expire=0m

and run

$ yum update
$ yum install open-xchange-filestore-sproxyd

CentOS 6

Start a console and create a software repository file if not already present:

$ vim /etc/yum.repos.d/ox.repo

[ox]
name=Open-Xchange
baseurl=https://software.open-xchange.com/products/appsuite/stable/backend/RHEL6/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m
# if you have a valid maintenance subscription, please uncomment the 
# following and add the ldb account data to the url so that the most recent
# packages get installed
# [ox-updates]
# name=Open-Xchange Updates
# baseurl=https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/products/appsuite/stable/backend/updates/RHEL6/
# gpgkey=https://software.open-xchange.com/oxbuildkey.pub
# enabled=1
# gpgcheck=1
# metadata_expire=0m

and run

$ yum update
$ yum install open-xchange-filestore-sproxyd

CentOS 7

Start a console and create a software repository file if not already present:

$ vim /etc/yum.repos.d/ox.repo

[ox]
name=Open-Xchange
baseurl=https://software.open-xchange.com/products/appsuite/stable/backend/RHEL7/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m
# if you have a valid maintenance subscription, please uncomment the 
# following and add the ldb account data to the url so that the most recent
# packages get installed
# [ox-updates]
# name=Open-Xchange Updates
# baseurl=https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/products/appsuite/stable/backend/updates/RHEL7/
# gpgkey=https://software.open-xchange.com/oxbuildkey.pub
# enabled=1
# gpgcheck=1
# metadata_expire=0m

and run

$ yum update
$ yum install open-xchange-filestore-sproxyd


Configuration

Scality sproxyd filestores can be configured in the configuration file filestore-sproxyd.properties once they have been registered on the server with the registerfilestore command.


Register an sproxyd filestore

Similarly to local- or NFS-filesystem-based filestores, sproxyd filestores need to be registered using the commandline tool registerfilestore before they can be used. The scheme-part of the filestore URI must be set to sproxyd in this case. Besides the common sproxyd:// prefix of such filestore URIs, the remaining authority component of the URI specifies an identifier of the filestore that will be used to refer to this filestore registration in the configuration file. It's recommended to use the Scality RING key here, for example:

root@ox01:/opt/open-xchange/sbin# ./registerfilestore -A oxadminmaster -P secret -t sproxyd://ring43 -s 1048576000 -x 5000
filestore 18 registered


Configure the filestore

Additional configuration for each registered filestore is done in the configuration file filestore-sproxyd.properties. To map configuration properties to specific filestore registrations, the filestore identifier corresponding to the defined authority part of the filestore URI is used in the property names. Please refer to the inline documentation or the examples below for details.

Note: In most cases, you want to use the same configuration throughout the whole ox cluster, so you should make sure to use the same filestore-sproxyd.properties configuration file on all nodes.

Also please note that there is no built-in load balancing or failover with multiple sproxyd endpoints. If applicable, balancing should be done via appropriate web servers instead.


Step-by-step guide to setup a Scality sproxyd storage

The following walktrough outlines all steps necessary to complete the setup of a Scality filestore accessed via the sproxyd interface.


Prerequisites

  • Installed open-xchange-filestore-sproxyd package
  • Access to the sproxyd HTTP/REST interface of the Scality storage


Register the filestore

  • Open a terminal on a running backend server of your OX cluster
  • Navigate to the directory where the commandline utilities are installed, usually at /opt/open-xchange/sbin
  • Run the registerfilestore tool using a storepath URL starting with the sproxyd scheme (use sproxyd:// as prefix literally) followed by the filestore ID (the RING key seems most appropriate here, however, you can still use a different name), e.g.:
./registerfilestore -A oxadminmaster -P secret -t sproxyd://ring43 -s 1048576000 -x 5000

(execute "./registerfilestore -h" for more information regarding possible commandline arguments)

  • The internal ID of the new filestore is printed out


Configure the filestore

  • Open the configuration file filestore-sproxyd.properties in your favourite editor
  • Insert a new set of properties using the filestore ID assigned during registration of the filestore in the previous step, e.g. ring43:
com.openexchange.filestore.sproxyd.ring43.baseUrl=
  • Specify the sproxyd endpoint to use depending on the Scality configuration, e.g.:
com.openexchange.filestore.sproxyd.ring43.baseUrl=http://ring43.example.com:81/proxy/ox/


Create contexts using the filestore

  • New contexts that should use the configured filestore can be created by suppliying the ID of the registered filestore in the createcontext commandline tool. Use the internal ID returned by the previously used registerfilestore command executed above, e.g., assuming the ID returned from the registerfilestore command was 18:
./createcontext -A oxadminmaster -P secret -u oxadmin -d "Context Admin" -g Admin -s User -p secret -e oxadmin@example.com -q 1000 -L example.com --access-combination-name=all -F 18


Check the configuration

  • Login to the App Suite webinterface with a user from a context using the sproxyd filestore
  • Upload a new file in the Drive module and download it again to verify basic functionality
  • Check the Scality storage to verify the creation of the new file