====== OpenEMM Installation on Suse Linux Enterprise Server 15 ======
This page shows you how to install OpenEMM on SLES 15. It handles the **SLES specific chapter 3.** \\
All other chapters are the same for all operating systems. \\
Please see the [[https://wiki.openemm.org/doku.php|main guide]] for more information. \\
===== 3. Preparations =====
For the OpenEMM package and components information [[start#preparations|please see this]].
This guide assumes that you have installed Suse Linux Enterprise Server 15 and selected **"Minimal"** as a system role.\\
If a line starts with **#** you should execute it as **root or with sudo** on a privileged user. \\
If a line starts with **$** you can execute it as a **user**, in most cases as the openemm user. \\
==== 3.1 Packages of Operating System ====
Install the required modules, which include the repositories for openjdk-1.8 and python2.\\
If you need a list of all the modules you can run **SUSEConnect -list-extensions**.\\
# SUSEConnect -p sle-module-legacy/15.1/x86_64
# SUSEConnect -p sle-module-python2/15.1/x86_64
After that install the required packages:\\
# zypper install gcc
# zypper install python python-xml python2-pip libmariadb-devel python-devel python-gdbm
# zypper install java-1_8_0-openjdk java-1_8_0-openjdk-devel
# zypper install zlib fontconfig libfreetype6 libX11-6 libXext6 libXrender1 xorg-x11-fonts
# zypper install zip sudo wget
Now you can install the required modules for python2:
# pip2 install mysqlclient
# pip2 install pydns xlrd xlwt xlutils paramiko pyspf ipaddr dnspython pydkim pycrypto requests httpie setproctitle inotify
==== 3.1.1 rsyslog ====
In the minimal installation of SLES there is no rsyslog installed by default. OpenEMM requires logfile output to parse the postfix maillog.\\
Install rsyslog and start it:
# zypper install rsyslog
# systemctl start rsyslog
# systemctl enable rsyslog
==== 3.2 DBMS ====
Only MariaDB is supported for SLES.\\
=== MariaDB DBMS ===
This example uses MariaDB 10.2:
# zypper install mariadb
Make sure MariaDB is running and re-started at every server reboot:
# systemctl start mariadb
# systemctl enable mariadb
==== 3.3 MTA ====
On SLES you can only use Postfix. Sendmail is not supported.
=== MTA Postfix ===
Install the required packages:
# zypper install postfix procmail libmilter1_0
and create a symlink so that OpenEMM can find the Postfix mail log file: \\
# ln -s /var/log/mail /var/log/maillog
Now configure Postfix like described [[start#mta_postfix|in the main guide]]. \\
**Continue at "To do this, change to the Postfix main configuration directory:"** .\\
==== 3.4 wkhtmltox ====
Unfortunately the latest build of wkhtmltox is **not** being built for SLES. \\
Therefore use the version **12.4** which still has a generic build.\\
You can get wkhtmltox from [[https://wkhtmltopdf.org|wkhtmltopdf.org]] \\
\\
You can install it in /opt/ and create a symlink in /usr/local/bin. \\
For example:
# cd /opt
# wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
# tar xJpf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
# rm wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
# chown -R root. wkhtmltox
# ln -s /opt/wkhtmltox/bin/wkhtmlto* /usr/local/bin/
==== 3.5 Firewall ====
As SLES also uses firewalld for its firewall, see the firewall chapter [[start#firewall|here]]. \\
==== 3.6 PATH for new users ====
As SLES does not include /usr/sbin in the PATH variable for new users, we have to add it.\\
To make this change for all new users, edit **/etc/skel/.profile** and add the following line
export PATH=$PATH:/usr/sbin
Please make sure to edit this file **before** creating the openemm user. If you have already created user openemm, you have to do the same change to file /home/openemm/.profile.\\
\\
After this you can continue with the main guide at [[start#installation|Installation]]. \\
===== Additional information for building OpenEMM backend yourself =====
If you want to build the OpenEMM backend yourself, you first have to install these additional packages.\\
# zypper install make readline-devel libxml2-devel sqlite3-devel