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) - Open-Xchange middleware - 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)
Docker configuration
The docker configuration is located at docker/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.
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//config' file (e.g. docker/singlenode/config). In order to build an singlenode image execute the build script:
$ docker/build.sh --singlenode
This will automatically install OX App Suite, Guard, Documents (including documents collaboration) and the documentconverter server.
The image will be tagged with the AS_BACKEND_VERSION
-variable (setup/versions) and the latest
tag on each build.
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.
$ cd <repo>/docker/singlenode
$ 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 .runtime/