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/