So installierst du SuiteCRM unter Debian 12

SuiteCRM ist eine kostenlose und in PHP geschriebene Open-Source-CRM-Software (Customer Relationship Management). Sie hilft dir, die Abteilungen Marketing, Vertrieb und Kundenservice deines Unternehmens zu organisieren und zu verwalten. SuiteCRM ist für fast jede Branche geeignet, z. B. für die verarbeitende Industrie, den öffentlichen Sektor, die Technologiebranche, das Finanzwesen, das Bildungswesen usw.

In dieser Anleitung führen wir dich Schritt für Schritt durch die Installation von SuiteCRM auf dem Debian 12 Server. Du wirst SuiteCRM mit dem LAMP-Stack (Apache2, MariaDB und PHP) auf deinem Debian-Rechner installieren und ausführen. Außerdem wirst du SuiteCRM mit SSL/TLS-Zertifikaten von Letsencrypt absichern.

Vorraussetzungen

Die folgenden Voraussetzungen sind notwendig, um mit diesem Leitfaden fortzufahren:

  • Ein Debian 12 Server.
    Ein Nicht-Root-Benutzer mit Administrator-Rechten.
    Ein Domain-Name, der auf eine Server-IP-Adresse zeigt.

Installieren der Abhängigkeiten

SuiteCRM ist eine in PHP geschriebene CRM-Software mit MySQL/MariaDB als Datenbank. In dieser Anleitung wirst du SuiteCRM mit dem LAMP-Stack (Apache2, MariaDB und PHP) betreiben und nun LAMP-Stack-Pakete mit zusätzlichen PHP-Erweiterungen installieren.

Aktualisiere zunächst deinen Debian-Paketindex mit dem Befehl apt update (siehe unten).

sudo apt update

Repo aktualisieren

Installiere nun die LAMP Stack (Apache2, MariaDB und PHP) Pakete mit einigen PHP-Erweiterungen mit dem folgenden Befehl.

sudo apt install apache2 mariadb-server php php-cli php-mysql php-bcmath php-xml php-zip php-curl php-mbstring php-gd php-tidy php-intl php-cli php-opcache php-soap php-imap php-ldap unzip

Gib y ein, um mit der Installation fortzufahren.

Abhängigkeiten installieren

Als Nächstes führst du den folgenden systemctl-Befehl aus, um den apache2-Dienst zu überprüfen. Dadurch wird sichergestellt, dass der apache2-Dienst aktiviert ist und läuft.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Die Ausgabe enabled bestätigt, dass apache2 aktiviert ist, und die Ausgabe active (running) bestätigt, dass apache2 läuft.

apache2 prüfen

Überprüfe den mariadb-Dienst mit dem folgenden Befehl.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Ähnlich wie bei der Ausgabe des apache2-Dienstes solltest du sehen, dass der mariadb-Dienst aktiviert ist und läuft.

mariadb prüfen

Überprüfe abschließend die PHP-Version und einige aktivierte Erweiterungen, indem du den folgenden Befehl ausführst.

php -v
php -m

Die folgende Ausgabe zeigt dir, dass PHP 8.2 installiert ist und einige Module wie curl, exif, fileinfo und gd aktiviert sind.

php prüfen

MariaDB Server konfigurieren

Nachdem du die Abhängigkeiten installiert hast, sicherst du deine MariaDB Serverinstallation und legst eine neue Datenbank und einen neuen Benutzer an, die für SuiteCRM verwendet werden sollen.

Führe den folgenden Befehl mariadb-secure-installation aus, um deinen MariaDB-Server zu sichern.

sudo mariadb-secure-installation

Gib während des Vorgangs Y ein, um die Konfiguration zu bestätigen, oder n für No und lehne die Änderungen ab.

  • Wechsle zu unix_socket authentication? Gib n ein und drücke ENTER. Der Standard-MariaDB-Root-Benutzer ist bereits geschützt. Optional kannst du ihn auch aktivieren, indem du y für Ja eingibst.
  • Ändere das Root-Passwort? Gib y ein, um zu bestätigen und dein neues MariaDB Root-Passwort einzurichten.
  • Anonymen Benutzer entfernen? Gib y ein, um zu bestätigen.
  • Root-Login aus der Ferne verbieten? Gib zur Bestätigung y ein. Wenn du den MariaDB Root-Benutzer verwendest, wird nur eine lokale Verbindung zugelassen.
  • Testdatenbank und Zugriff auf sie entfernen? Bestätige mit y und entferne die Standarddatenbank „test“.
  • Gib abschließend erneut y ein, um alle Tabellenrechte auf deinem MariaDB-Server neu zu laden und die neuen Änderungen anzuwenden.

Jetzt, da MariaDB gesichert ist, erstellst du eine neue Datenbank und einen neuen Benutzer für SuiteCRM.

Melde dich mit dem unten stehenden Befehl mariadb client beim MariaDB-Server an. Gib dein MariaDB-Root-Passwort ein, wenn du dazu aufgefordert wirst.

sudo mariadb -u root -p

Als Nächstes führst du die folgenden Abfragen aus, um eine neue Datenbank suitecrmdb und den Benutzer suitecrm mit dem Passwort password anzulegen. Achte darauf, dass du das Passwort mit deinem eigenen Passwort änderst.

CREATE DATABASE suitecrmdb;
CREATE USER 'suitecrm'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON suitecrmdb.* TO 'suitecrm'@'localhost';
FLUSH PRIVILEGES;

Datenbank und Benutzer anlegen

Führe nun die folgende Abfrage aus, um den Benutzer suitecrm zu überprüfen.

SHOW GRANTS FOR 'suitecrm'@'localhost';

In der folgenden Ausgabe solltest du sehen, dass der Benutzer suitecrm Zugriff auf die Datenbank suitecrmdb hat.

veridy-Datenbankbenutzer

Gib quit ein, um den MariaDB-Server zu verlassen.

PHP konfigurieren

Nachdem der MariaDB-Server konfiguriert ist, musst du im nächsten Schritt deine PHP-Installation konfigurieren. SuiteCRM erfordert einige Änderungen an der PHP-Konfiguration, z. B. die benutzerdefinierte Fehlerberichterstattung, die Aktivierung des OPCache-Moduls und die benutzerdefinierten Werte für upload_max_filesize und post_max_size.

Öffne die Standard-PHP-Konfiguration /etc/php/8.2/apache2/php.ini und /etc/php/8.2/cli/php.ini mit dem folgenden nano-Editor-Befehl.

sudo nano /etc/php/8.2/apache2/php.ini
sudo nano /etc/php/8.2/cli/php.ini

Ändere die Standardparameter einiger Konfigurationen mit den folgenden Zeilen. Achte darauf, dass die date.timezone mit der Zeitzone deines Servers und das memory_limit mit dem Speicher des Servers übereinstimmen.

date.timezone = Europe/Amsterdam

max_execution_time = 60
memory_limit = 256M

upload_max_filesize = 25M
post_max_size = 25M

Ändere den Standardparameter error_reporting wie folgt:

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE & ~E_WARNING

Entferne den Kommentar im Parameter session.save_path, um den Standard-Sitzungspfad auf /var/lib/php/sessions zu setzen.

session.save_path = "/var/lib/php/sessions"

Aktiviere nun die OPCache-Erweiterung und passe einige Einstellungen wie die folgenden an:

opcache.enable=1
; The OPcache shared memory storage size.
opcache.memory_consumption=256

; The maximum number of keys (scripts) in the OPcache hash table.
; Only numbers between 200 and 100000 are allowed.
opcache.max_accelerated_files=20000

; When disabled, you must reset the OPcache manually or restart the
; webserver for changes to the filesystem to take effect.
opcache.validate_timestamps=0

Speichere und schließe die Datei, wenn du fertig bist.

Führe nun den folgenden systemctl-Befehl aus, um den apache2-Dienst neu zu starten und die vorgenommenen Änderungen zu übernehmen.

sudo systemctl restart apache2

Herunterladen und Installieren von SuiteCRM

Jetzt ist der LAMP-Stack für SuiteCRM konfiguriert. Jetzt lädst du den SuiteCRM-Quellcode herunter und installierst ihn über die Kommandozeile.

Erstelle ein neues Verzeichnis /var/www/suitecrm, das als Zielinstallation für SuiteCRM verwendet werden soll.

mkdir -p /var/www/suitecrm

Wechsle in das Verzeichnis /var/www/suitecrm und lade den SuiteCRM-Quellcode mit dem unten stehenden wget-Befehl herunter. Schaue auf der SuiteCRM Download-Seite nach, um die neueste Version des Quellcodes zu erhalten. Zurzeit ist SuiteCRM 8.4 die neueste Version.

cd /var/www/suitecrm
wget https://suitecrm.com/download/142/suite84/562972/suitecrm-8-4-0.zip

Nach dem Download entpackst du die Datei suitecrm-8-4-0.zip mit dem unten stehenden Befehl unzip.

unzip suitecrm-8-4-0.zip

Führe dann den folgenden Befehl aus, um die richtigen Rechte und den Besitz des SuiteCRM-Quellcodes einzurichten.

find . -type d -not -perm 2755 -exec chmod 2755 {} \;
find . -type f -not -perm 0644 -exec chmod 0644 {} \;
find . ! -user www-data -exec chown www-data:www-data {} \;
chmod +x bin/console

Zuletzt führst du die Binärdatei /var/www/suitecrm/bin/console aus, um SuiteCRM über die Kommandozeile zu installieren. Achte darauf, dass du den Datenbanknamen, den Benutzer, den Host, den Namen der Zieldomäne, den Admin-Benutzer und das Passwort änderst, die für die Installation von SuiteCRM verwendet werden.

sudo -u www-data ./bin/console suitecrm:app:install -u "alice" -p "password" -U "suitecrm" -P "password" -H "127.0.0.1" -N "suitecrmdb" -S "http://suitecrm.hwdomain.io/"

Sobald die Installation abgeschlossen ist, wird die folgende Ausgabe in deinem Terminal angezeigt:

suitcrm über cli installieren

Apache2 Virtual Host für Suite konfigurieren

Im folgenden Schritt erstellst du eine neue Konfiguration des virtuellen Apache2-Hosts, auf dem SuiteCRM laufen soll. Bevor du fortfährst, vergewissere dich, dass ein Domainname auf die IP-Adresse deines Servers zeigt.

Führe den Befehl a2enmod aus, um die Apache2-Module zu aktivieren, die SuiteCRM benötigt.

sudo a2enmod rewrite ssl header

Erstelle dann mit dem folgenden nano-Editor-Befehl eine neue Apache2-Konfiguration für den virtuellen Host /etc/apache2/sites-available/suitecrm.conf.

sudo nano /etc/apache2/sites-available/suitecrm.conf

Füge die folgende Konfiguration ein und achte darauf, dass du die Option ServerName durch deinen Domainnamen ersetzt.

<VirtualHost *:80>
DocumentRoot /var/www/suitecrm/public
ServerName suitecrm.hwdomain.io

<Directory /var/www/suitecrm/public>
Options FollowSymLinks
AllowOverride All
</Directory>

ErrorLog /var/log/apache2/suitecrm-error.log
CustomLog /var/log/apache2/suitecrm-access.log common

</VirtualHost>

Speichere und schließe die Datei, wenn du fertig bist.

Führe nun den folgenden Befehl aus, um die virtuelle Hostdatei suitecrm.conf zu aktivieren und deine Apache2-Konfigurationen zu überprüfen.

sudo a2ensite suitecrm.conf
sudo apachectl configtest

Wenn du die richtige Syntax hast, solltest du die Ausgabe Syntax OK erhalten.

vhosts einrichten

Als Nächstes führst du den folgenden systemctl-Befehl aus, um den Apache2-Dienst neu zu starten und die Änderungen zu übernehmen.

sudo systemctl restart apache2

Öffne schließlich deinen Webbrowser und rufe den Domainnamen deiner SuiteCRM-Installation auf, z. B. http://suitecrm.hwdomain.io/. Wenn alles gut geht, solltest du die Anmeldeseite von SuiteCRM sehen.

Sichern von SuiteCRM mit SSL/TLS von Letsencrypt

Nachdem du alles konfiguriert hast, kannst du SuiteCRM mit SSL/TLS-Zertifikaten von Letsencrypt sichern.

Installiere Certbot und das Certbot Apache Plugin mit dem folgenden apt install Befehl. Gib y ein, um mit der Installation fortzufahren.

sudo apt install certbot python3-certbot-apache

Führe nun den folgenden Certbot-Befehl aus, um SSL/TLS-Zertifikate zu erzeugen. Achte darauf, dass du den Domainnamen und die E-Mail-Adresse im folgenden Befehl änderst.

sudo certbot --apache --agree-tos --no-eff-email  --redirect --hsts --staple-ocsp --email admin@hwdomain.io -d suitecrm.hwdomain.io

Sobald der Vorgang abgeschlossen ist, werden deine SSL-Zertifikate im Verzeichnis /etc/letsencrypt/live/suitecrm.hwdomain.io erzeugt. Außerdem wird die virtuelle SuiteCRM-Hostdatei suitecrm.conf automatisch mit HTTPS konfiguriert.

Gehe zurück zu deinem Webbrowser und rufe deine SuiteCRM-Domain auf. Du solltest auf die SuiteCRM-Anmeldeseite für sichere HTTPS-Verbindungen weitergeleitet werden. Gib deinen Admin-Benutzer und dein Passwort ein und klicke dann auf Login.

suitecrm login page

Wenn alles gut geht, solltest du das SuiteCRM-Administrations-Dashboard wie folgt sehen:

suitecrm Dashboard

Fazit

Zusammenfassend lässt sich sagen, dass du SuiteCRM nun erfolgreich auf einem Debian 12 Server mit LAMP Stack (Apache2, MariaDB und PHP) installiert hast. Außerdem hast du SuiteCRM mit SSL/TLS Letsencrypt gesichert, das über Certbot generiert wird. Jetzt kannst du SuiteCRM als Haupt-CRM-Anwendung (Customer Relationship Management) für dein Unternehmen nutzen und damit beginnen, den SMTP-Server zu deiner SuiteCRM-Installation hinzuzufügen.

Das könnte dich auch interessieren …