# 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 files `config/config` and `config/config.extended` . 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 ` since the qa context is currently hardcoded in case it is enabled in the config. ## Versions Versions can be configured at `setup/versions` Check that file for more information. ### Upgrade / Downgrade You can find scripts for upgrading & downgrading at `setup/downgrade.sh` and `setup/upgrade.sh`. Version configuration for those scripts is located at `setup/versions.downgrade` and `setup/versions.upgrade` These scripts will only reinstall packages. Chances are high that you will have to adapt some settings manually to fully ensure the servers functionality. Take care! ### 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 (as per specified options). If some feature script is missing you may want to take a look at the `features/feature-template.sh` for more information on how to add your own feature. In order to keep everything clean please try to adapt to that file layout. Also keep in mind that the ox-installer.sh only will install the feature related components. Feature init is done while the init scripts are executed (`config/middleware/25_init-features.sh`). That way the setup and actual node init/config is seperated into their own steps ...