Skip to content
Snippets Groups Projects
user avatar
Daniel Pondruff authored
83647493
History

Open-Xchange App Suite Installer script collection

This collection contains several scripts for letting you install a fully fledged Open-Xchange environment. By default this will install a singlenode environment consisting of: - Database (mysql or mariadb - take a look at the config file) - Open-Xchange middleware (optionally with guard, documents(including dcs), documentconverter) - Apache2 Frontend

Configuration

Basic Configuration is located inside the file config/config. Most options can be overriden by using each shell-scripts parameters (sometimes described in the help text)

Context configuration

You can configure the context that will be created later on by either modifying the existing qa env (config/environment/qa) or creating your own env folder (copy the qa folder and modify the two files accordingly).

In case of creating your own environment you have to manually call config/environment/create-context.sh --environment <foobar> since the qa context is currently hardcoded in case it is enabled in the config.

Docker configuration

The docker configuration is located at docker/<env>/config and will override values from the above default config. You may also override config by providing environmental variables.

Versions

Versions can be configured at setup/versions Check that file for more information.

Database versions

By modifying the DATABASE_TYPE and DATBASE_VERSION variables (located in config/config) you can manually specify which database type and version to use. Currently supported are mysql and mariadb in all versions as listed on the support matrix in the oxpedia.

The installer will also take care of the required "ox-tunings" as described in the oxpedia (https://oxpedia.org/wiki/index.php?title=My.cnf). The file is currently located at config/database/ox-tunings.cnf and will simply be copied to the sql-servers configuration folder.

Good to know

This script collection has its roots in the old ox-quickinstall (or installer). Much of the install logic for the different distros was simply taken from there and still can be found at lib/common.bash

How to use

Simple cli examples of how to use this

It is always a good idea to read documentation or help texts!

$ ./ox-installer --help

Install singlenode with everything you need

Right now only frontend (apache), middleware and a database are installed. It uses dovecot.qa.open-xchange.com as mail backend. Please note that the '--singlenode' may be ommited as it is already set in 'config/config'

$ ./ox-installer.sh --singlenode

You can supply each component individually. Read the help text for more information.

Add additiional features/components

Whenever you feel that you might want to test additional components you can install or enable them. Take a look at the features/ direcotry for the feature related scripts. These scripts will install and configure the feature.

Guard

To enable / install guard on a node simply execute:

$ features/guard.sh --install --enable

If you are using the docker environment you can enable guard by executing the installer inside the running container:

$ docker-compose exec singlenode bash -c "/ox-installer/features/guard.sh --install --enable"

additional features

Take a look into the 'features' folder. You may enable/disable additional featues by executing those scripts.

This script is just an teamplate for later use, it does nothing, just sits there waiting to be copied to an actual feature... $ features/feature-template.sh --enable --restart

Docker

This installer supports creation of Open-Xchange docker images. These images will use supervisord as process monitor. Right now it creates a simple groupware image (apache2, ox frontend, ox middleware). Seperate mail and database services are required. Take a look at the docker-compose.yml at the root level of this repo.

Build docker images

The installer script can be used as it is for docker environments. Take a look into the docker/ directory for some examples. You can configure these environments by editing the docker/<env>/config file (e.g. docker/singlenode/config). The singlenode image can be build by executing docker-composes build action:

$ docker-compose build

This will automatically install OX App Suite, Guard, Documents (including documents collaboration) and the documentconverter server. The image will be tagged with the latest tag on each rebuild...

Start it

If you have docker-compose available you can use it to start the provided compose-environment, but make sure to be in the correct directory.

$ docker-compose up

Any runtime related files will be stored at <repo>/docker/<env>/.runtime (e.g. /docker/singlenode/.runtime)

Stop it

$ docker-compose down -v

Clean it up

$ rm -fr docker/<env>/.runtime/