====== 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