The installer is designed to be run on servers that have a basic operating system installed, but no more than that. If you are setting up a new ZendTo server, this is what you want. Many sites now have a standard "blank template", on top of which all their services are built. This template usually contains settings for features such as authentication, security, logging and backups. The installer should work well on these types of systems.

The installer will automate (almost!) the entire process of installing ZendTo on to a blank minimal server installation.

Download and use the installer

Note: If you are already running ZendTo on the server, you can safely run the installer (and should) as and when major new features are added, as it may need to update your PHP environment or other packages to versions required for the new features.

It talks to you along the way, asks if you want to do each of the 7 steps, and asks you to confirm settings it finds. It pauses quite a bit so you can see what it's doing, giving you the chance to stop it temporarily (Ctrl-S) to read what it's done before you continue (Ctrl-Q), or stop it completely (Ctrl-C). If you stop it completely, you can just run it again to continue where you left off.

It is modular, so you can run each of the 7 parts alone. You may want to do this if, for example, you are using SELinux and move the drop-offs store onto a different filesystem, so need to re-apply the SELinux filesystem labels.

The parts are:

  1. Install web server (and development tools if needed).
  2. Install or replace PHP.
  3. Install and configure virus scanner, including SELinux and AppArmor support for it.
  4. Configure firewall holes for ssh, http and https.
  5. Configure web server for http+https and PHP.
  6. Install ZendTo itself and configure email sending & usage stats graphing.
  7. Configure SELinux where needed.

The installer has been developed and tested on all of the following:

  • CentOS 6, 7 and 8
  • RedHat Enterprise Linux 6, 7, 8 and 9
  • Ubuntu Server 14, 16, 18, 19, 20, 21 and 22
  • Debian Server 8, 9 and 10
  • Rocky Linux 8 and 9
  • SUSE 12sp3, 15 and openSUSE Leap 15
  • FreeBSD 11.2 and 12
  • Docker

It is fully compatible with SELinux, AppArmor and the systems' firewalls, and will configure each appropriately.

There are 2 little things the installer does not currently do:

  • Generate a trusted SSL certificate for the https version of the website. It can only generate a self-signed certificate. This is fine for testing but will make your web browser complain loudly. During stage 5 it will tell you where the configuration file is for the https website, so you will know where to put your "proper" SSL certificate files when you get them.
  • Configure MySQL, as new installations do not need it anyway.

To Use the Installer

  1. Become root with "su -" if using CentOS, RedHat, Debian or SuSE, or "sudo su -" if using Ubuntu.
  2. Download the installer:
    curl -O
  3. Unpack it and cd into it:
    tar xzf install.ZendTo.tgz
    cd install.ZendTo
  4. Run the installer:

Replacing Custom-built PHP with a Stock One

Simply download and run the latest version of the installer.


If you are using the rpm or deb files manually (not using the yum or apt repositories) you will need to import the signing key first.

rpm (CentOS, RedHat, SuSE and others)
rpm --import
deb (Ubuntu, Debian)
wget -O - | sudo apt-key add -

Note: If you are upgrading from anything earlier than version 5.00, read the upgrade notes before you start. In short, save yourself a lot of trouble and build a new server from scratch using the ZendTo Installer: it will be quicker and easier.

Note: If you are upgrading from any version earlier than 5.09, download and run the installer to upgrade your system, as a newer version of PHP is required and will be installed for you.

SAML Support

Only install this package if you know what SAML is and actually need it. Most ZendTo sites don't need it.


Installing ZendTo as a Docker container is very quick and easy, and is described here.