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
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.
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.
Ü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.
Ü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.
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;
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.
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:
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.
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.
Wenn alles gut geht, solltest du das SuiteCRM-Administrations-Dashboard wie folgt sehen:
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.