Zotonic runs on Linux, Mac OS X and (not officially) on Windows.
Before running Zotonic, you must make sure your system meets the minimum requirements to do so. Zotonic needs the following software installed:
- Erlang/OTP version 22 or newer. Build it from source, or use packages.
- ImageMagick (version 6.5 or higher) for the
identifytools. Make sure that the convert and identify tools are in your path so that zotonic can find them. For auto-rotation to work you’ll need the
exifutility as well.
- PostgreSQL version 9.5 or higher. Enable trust-authentication (username+password) in Postgres (see below).
- gcc and g++ For compiling dependencies like erlexec.
- git Zotonic comes with a few subprojects which are pulled from
the web with the
- gettext For translation support.
If you meet these requirements, head straight on to Cloud-Init, otherwise, read on below for the specifics on these.
You can check if you have Erlang installed by typing the following command in a terminal:
The output should be something like:
Erlang/OTP 23 [erts-11.0] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [hipe] Eshell V11.0 (abort with ^G) 1>
(Press ctrl+c twice to exit)
If your version is below release 22, you need to upgrade. If you don’t have Erlang installed, we recommend downloading a build for your operating system from the Erlang Solutions website:
You can check if you have ImageMagick installed by typing the following command in a terminal:
$ convert -version
This tells you which version of ImageMagick is installed:
Version: ImageMagick 6.8.9-9 Q16 x86_64 2018-09-28 http://www.imagemagick.org
You can check if you have PostgreSQL installed by typing the following command in a terminal:
$ psql -V
Returns the PostgreSQL version:
psql (PostgreSQL) 9.5.17
Enabling trust-authentication in PostgreSQL
To let Postgres users access the database from Zotonic, you need to
make a configuration change in Postgres’ configuration file
On Linux, this file is located in
version>/main/pg_hba.conf. Add the following lines:
# Zotonic settings local all zotonic ident host all zotonic 127.0.0.1/32 md5 host all zotonic ::1/128 md5
These settings assume that your Zotonic sites are going to connect
with a PostgreSQL user called
zotonic. For other user names, adjust
accordingly. Do not forget to restart PostgreSQL after you’ve made this
Ubuntu / Debian
We recommend you install Erlang from the Erlang solutions website:
The other requirements are easily fetched with
sudo sudo apt-get install gcc g++ build-essential git imagemagick postgresql ffmpeg
If you’re running on FreeBSD, make sure you’ve got the ‘GNU’ ‘make’
make --version, which should give you GNU, and version
info). If you don’t have GNU make, Zotonic will give an error when
trying to compile.
With Homebrew you can install Erlang and ImageMagick using the following commands:
brew install erlang git imagemagick ffmpeg
Alternatively, with MacPorts:
sudo port install erlang +ssl sudo port install ImageMagick
For PostgreSQL choose either:
Currently, Zotonic is not officially supported on the Windows platform. However, the main dependencies Erlang, PostgreSQL and ImageMagick do work on Windows, so, if you’re adventurous, it should be possible to get it running.