User:Dominik.epple

Revision as of 09:29, 28 July 2017 by Dominik.epple (talk | contribs) (Created page with "== Install Guide == === About this document === The aim of this document is to replace the existing quickinstall guides to provide a more extensive view on "single node and...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Install Guide

About this document

The aim of this document is to replace the existing quickinstall guides to provide a more extensive view on "single node and beyond" topics, follow closer to existing "best practices" and point out what needs to be changed in clustered installations.

Most of the commands given in this document thus assume a high level design of "single-node, all-in-one".

This document was created on Debian Stretch (which, as of time of writing, is not even supported yet) --

Preparations

System update

You want to start on latest patchlevel of your OS:

apt-get update
apt-get dist-upgrade
apt-get install less vim pwgen
reboot

Prepare database

In real-world installations this will probably be multiple galera clusters of a supported flavor and version. For educational purposes a standalone DB on our single-node machine is sufficient.

Even for single-node, don't forget to apply database tuning. See our oxpedia articles for default tunings. Note that typically you need to re-initialize the MySQL datadir after changing InnoDB sizing values, and subsequently start the service:

mysql_install_db
service mysql restart

We aim to create secure-by-default documentation, so here we go: Run mysql_secure_installation, set a root password (e.g. pwgen 12 1)

For convenience, put this into /root/.my.cnf:

[client]
user=root
password=...

This also needs to be put in /etc/mysql/debian.cnf.

Prepare OX user

While the packages will create the user automatically if it does not exist, we want to prepare the filestore now, and we need the user therefore.

useradd -r open-xchange

In a clustered environment, you might prefer to hard-wire the userid and groupid to the same fixed value. Otherwise, if you want to use a NFS filestore, you'll run into permissions problems.

groupadd -r -g 999 open-xchange
useradd -r -g 999 -u 999 open-xchange


Prepare filestore

There are several options here.

For a single-node installation, you can just prepare a local directory:

mkdir /var/opt/filestore
chown open-xchange:open-xchange /var/opt/filestore

If using NFS:

Setup on the NFS server:

apt-get install nfs-kernel-server
service nfs-kernel-server restart

Configure /etc/exports. This is for traditional ip based access control; krb5 or other security configuration is out of scope of this document.

mkdir /var/opt/filestore
chown open-xchange:open-xchange /var/opt/filestore
echo "/var/opt/filestore 192.168.1.0/24(rw,sync,fsid=0,no_subtree_check)" >> /etc/exports
exportfs -a

Clients can then mount using

mkdir /var/opt/filestore
mount -t nfs -o vers=4 nfs-server:/filestore /var/opt/filestore

Or using fstab entries like

nfs-server:/filestore /var/opt/filestore nfs4 defaults 0 0