So installierst du SuiteCRM auf Rocky Linux 9

SuiteCRM ist eine in PHP geschriebene Open-Source-Lösung für das Kundenbeziehungsmanagement. Sie ist ein Fork der beliebten SugarCRM-Software, nachdem SugarCRM die Veröffentlichung seiner Community-Edition eingestellt hat. Sie dient dazu, einen zentralen Speicher für alle deine Kundendaten zu schaffen, um Erkenntnisse zu gewinnen, die du zur Verbesserung und Pflege deiner Geschäftsbeziehungen nutzen kannst.

Zu den Funktionen gehören Dokumentenspeicherung, E-Mail-Marketing, Kalender, Social-Media-Integration, Gebietsverwaltung, Segmentierung, Marketing-Automatisierung, Lead-Qualifizierung, interne Chat-Integration, Kundensupport, Social CRM, Sales-Force-Automatisierung, Marketing-Kampagnen, Mobile CRM und Reporting. Es kann mit SMTP-Relay-Diensten von Drittanbietern wie Mandrill, SendGrid, Amazon SES usw. integriert werden. Du kannst Plugins installieren, um die Funktionalität von SuiteCRM zu erweitern. Es kann mit Drittanbieter-Apps wie Mautic, Facebook, Twitter, MailChimp, Zoom, Quickbooks, DocuSign usw. integriert werden.

In diesem Beitrag erfährst du, wie du SuiteCRM mit dem Webserver Nginx und Let’s Encrypt SSL auf einem Rocky Linux 9-Server installierst.

Voraussetzungen

  • Ein Server mit Rocky Linux 9.
  • Ein Nicht-Root-Benutzer mit sudo-Rechten.
  • Ein vollständig qualifizierter Domainname (FQDN) wie suitecrm.example.com.
  • Stelle sicher, dass alles auf dem neuesten Stand ist.
    $ sudo dnf update
    
  • Einige wenige Pakete, die dein System benötigt.
    $ sudo dnf install wget curl nano unzip yum-utils policycoreutils-python-utils -y
    

    Einige dieser Pakete sind vielleicht schon auf deinem System installiert.

Schritt 1 – Firewall konfigurieren

Der erste Schritt besteht darin, die Firewall zu konfigurieren. Rocky Linux verwendet die Firewalld Firewall. Überprüfe den Status der Firewall.

$ sudo firewall-cmd --state
running

Die Firewall arbeitet mit verschiedenen Zonen, wobei die öffentliche Zone die Standardzone ist, die wir verwenden werden. Liste alle Dienste und Ports auf, die auf der Firewall aktiv sind.

$ sudo firewall-cmd --permanent --list-services

Es sollte die folgende Ausgabe angezeigt werden.

cockpit dhcpv6-client ssh

SuiteCRM benötigt HTTP- und HTTPS-Ports, um zu funktionieren. Öffne sie.

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https

Lade die Firewall neu, um die Änderungen zu übernehmen.

$ sudo firewall-cmd --reload

Liste alle Dienste erneut auf.

$ sudo firewall-cmd --permanent --list-services

Du solltest die folgende Ausgabe erhalten.

cockpit dhcpv6-client http https ssh

Schritt 2 – Nginx installieren

Rocky Linux 9 wird mit einer älteren Version von Nginx ausgeliefert. Um die neueste Version zu installieren, musst du das offizielle Nginx-Repository herunterladen.

Erstelle und öffne die Datei /etc/yum.repos.d/nginx.repo zur Erstellung des offiziellen Nginx-Repositorys.

$ sudo nano /etc/yum.repos.d/nginx.repo

Füge den folgenden Code in die Datei ein.

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

Speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.

Installiere den Nginx-Server.

$ sudo dnf install -y nginx

Überprüfe die Installation.

$ nginx -v
nginx version: nginx/1.24.0

Aktiviere und starte den Nginx-Server.

$ sudo systemctl enable nginx --now

Überprüfe den Status des Servers.

$ sudo systemctl status nginx
? nginx.service - nginx - high performance web server
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: disabled)
    Drop-In: /usr/lib/systemd/system/nginx.service.d
             ??php-fpm.conf
     Active: active (running) since Thu 2023-05-18 22:32:50 UTC; 4s ago
       Docs: http://nginx.org/en/docs/
    Process: 3955 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
   Main PID: 3957 (nginx)
      Tasks: 2 (limit: 5922)
     Memory: 2.1M
        CPU: 6ms
     CGroup: /system.slice/nginx.service
             ??3957 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
             ??3958 "nginx: worker process"

Schritt 3 – Installiere PHP und seine Erweiterungen

Wir müssen PHP 8.1 installieren, damit SuiteCRM funktioniert. Der erste Schritt besteht darin, das Epel-Repository zu installieren.

$ sudo dnf install epel-release -y

Als nächstes installierst du das Remi Repository.

$ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm

Prüfe, ob PHP-Streams verfügbar sind.

$ dnf module list php -y
Name                                   Stream                   Profiles                                        Summary                  
php                                    8.1                      common [d], devel, minimal                      PHP scripting language   

Remi's Modular repository for Enterprise Linux 9 - x86_64
Name                                   Stream                   Profiles                                        Summary                 
php                                    remi-7.4                 common [d], devel, minimal                      PHP scripting language   
php                                    remi-8.0                 common [d], devel, minimal                      PHP scripting language   
php                                    remi-8.1                 common [d], devel, minimal                      PHP scripting language   
php                                    remi-8.2                 common [d], devel, minimal                      PHP scripting language   

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

Die Standardversion ist 8.1. Aktiviere das PHP 8.1 Repository von Remi.

$ sudo dnf module reset php -y
$ sudo dnf module enable php:remi-8.1

Installiere PHP und die erforderlichen Erweiterungen, die SuiteCRM benötigt.

$ sudo dnf install -y php-fpm 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

Überprüfe die Installation.

$ php --version
PHP 8.1.19 (cli) (built: May 10 2023 13:43:03) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.19, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.19, Copyright (c), by Zend Technologies

Aktiviere und starte den PHP-FPM-Dienst.

$ sudo systemctl enable php-fpm --now

Schritt 4 – Installiere MySQL

Rocky Linux 9 wird mit der neuesten Version von MySQL ausgeliefert. Du kannst sie mit einem einzigen Befehl installieren.

$ sudo dnf install mysql-server

Überprüfe die Version von MySQL.

$ mysql --version
mysql  Ver 8.0.32 for Linux on x86_64 (Source distribution)

Aktiviere und starte den MySQL-Dienst.

$ sudo systemctl enable mysqld --now

Führe das Skript zur sicheren Installation von MySQL aus.

$ sudo mysql_secure_installation

Du wirst aufgefordert, die Validate Password Component zu installieren. Sie prüft die Stärke der in MySQL verwendeten Passwörter. Drücke Y, um sie zu installieren. Als Nächstes wirst du aufgefordert, die Stufe der Passwortüberprüfung festzulegen. Wähle 2, da dies die stärkste Stufe ist.

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: Y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2

Als Nächstes wirst du aufgefordert, ein neues Root-Passwort festzulegen. Gib das Passwort entsprechend den oben genannten Anforderungen ein. Gib Y ein, wenn du aufgefordert wirst, mit dem gewählten Root-Passwort fortzufahren.

Please set the password for root here.

New password: 

Re-enter new password: 

Estimated strength of the password: 100 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y

Gib als Nächstes Y ein, um anonyme Benutzer zu entfernen, Remote-Root-Logins zu verbieten, die Testdatenbank zu entfernen und die Berechtigungstabellen neu zu laden.

By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.

All done!

Schritt 5 – MySQL konfigurieren

Melde dich in der MySQL-Shell an. Gib dein Root-Passwort ein, wenn du dazu aufgefordert wirst.

$ sudo mysql -u root -p

Erstelle eine Beispieldatenbank.

mysql> CREATE DATABASE suitecrm;

Erstelle ein SQL-Benutzerkonto.

mysql> CREATE USER 'suiteuser'@'localhost' IDENTIFIED BY 'Your_password2';

Erteile dem Benutzer alle Rechte für die Datenbank.

mysql> GRANT ALL PRIVILEGES ON suitecrm.* TO 'suiteuser'@'localhost';

Lösche die Benutzerrechte.

mysql> FLUSH PRIVILEGES;

Beende die Shell.

mysql> exit

Schritt 6 – SSL installieren

Wir müssen Certbot installieren, um das SSL-Zertifikat zu erstellen.

Dazu verwenden wir das Installationsprogramm für das Snapd-Paket. Da Rocky Linux nicht mit diesem Paket ausgeliefert wird, installierst du den Snapd-Installer. Er benötigt das EPEL-Repository, das wir bereits für PHP installiert haben, damit wir diesen Schritt überspringen können.

Installiere Snapd.

$ sudo dnf install -y snapd

Aktiviere und starte den Snap-Dienst.

$ sudo systemctl enable snapd --now

Installiere das Snap-Kernpaket und stelle sicher, dass deine Snapd-Version auf dem neuesten Stand ist.

$ sudo snap install core && sudo snap refresh core

Erstelle die notwendigen Links, damit Snapd funktioniert.

$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh

Gib den folgenden Befehl ein, um Certbot zu installieren.

$ sudo snap install --classic certbot

Stelle mit folgendem Befehl sicher, dass der Certbot-Befehl ausgeführt werden kann, indem du einen symbolischen Link auf das Verzeichnis /usr/bin erstellst.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Überprüfe die Installation.

$ certbot --version
certbot 2.6.0

Führe den folgenden Befehl aus, um ein SSL-Zertifikat zu erzeugen.

$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m name@example.com -d suitecrm.example.com

Mit dem obigen Befehl wird ein Zertifikat in das Verzeichnis /etc/letsencrypt/live/suitecrm.example.com auf deinem Server heruntergeladen.

Erstelle ein Diffie-Hellman-Gruppenzertifikat.

$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Überprüfe den Certbot Erneuerungszeitplanungsdienst.

$ sudo systemctl list-timers

Du findest snap.certbot.renew.service als einen der Dienste, die für die Ausführung vorgesehen sind.

NEXT                        LEFT          LAST                        PASSED        UNIT                      ACTIVATES
.....
Sun 2023-05-21 06:32:00 UTC 9h left       Sat 2023-05-21 18:04:05 UTC 2h 59min ago  snap.certbot.renew.timer  snap.certbot.renew.service
Sun 2023-05-21 06:43:20 UTC 9h left       Sat 2023-05-21 10:49:23 UTC 10h ago       apt-daily-upgrade.timer   apt-daily-upgrade.service
Sun 2023-05-21 09:00:06 UTC 11h left      Sat 2023-05-21 20:58:06 UTC 5min ago      apt-daily.timer           apt-daily.service

Führe einen Probelauf des Prozesses durch, um zu prüfen, ob die SSL-Erneuerung einwandfrei funktioniert.

$ sudo certbot renew --dry-run

Wenn du keine Fehler siehst, bist du bereit. Dein Zertifikat wird automatisch erneuert.

Schritt 7 – SuiteCRM herunterladen

Erstelle das Web-Root-Verzeichnis für SuiteCRM.

$ sudo mkdir /var/www/html/suitecrm -p

Wechsle in das Web-Root-Verzeichnis.

$ cd /var/www/html/suitecrm

Lade die Version SuiteCRM 8.x herunter. Hol dir den Link zur neuesten Version von der SuiteCRM-Downloadseite.

$ sudo wget https://suitecrm.com/download/140/suite83/562304/suitecrm-8-3-0.zip

Entpacke die Dateien des Archivs.

$ sudo unzip -q suitecrm*.*

Lösche die Zip-Datei.

$ sudo rm suitecrm-8-3-0.zip

Setze die richtigen Dateiberechtigungen und Benutzerrechte auf den Nginx-Benutzer. Lege außerdem die Datei bin/console als ausführbar fest, um die SuiteCRM-Konsole auszuführen.

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

Schritt 8 – SELinux konfigurieren

Ändere den Dateisicherheitskontext für SuiteCRM.

$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/suitecrm(/.*)?"

Wende die Richtlinie an.

$ sudo restorecon -Rv /var/www/html/suitecrm/

Wende die Richtlinie an, um Nginx den Zugriff auf MySQL zu ermöglichen.

$ sudo setsebool -P httpd_can_network_connect_db 1

Wende die Richtlinie an, um Verbindungen zu externen Hosts zu erlauben. Dies wird für den Versand von E-Mails benötigt.

$ sudo setsebool -P httpd_can_network_connect 1

Schritt 9 – Nginx und PHP konfigurieren

PHP-FPM konfigurieren

Öffne die Datei /etc/php-fpm.d/www.conf.

$ sudo nano /etc/php-fpm.d/www.conf

Wir müssen den Unix-Benutzer/die Unix-Gruppe der PHP-Prozesse auf nginx setzen. Suche die Zeilen user=www-data und group=www-data in der Datei und ändere sie in nginx.

...
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
...

Als Nächstes kommentierst du die Zeilen Besitzer der Socket-Datei, Gruppe und Standardberechtigung aus und änderst sie wie unten gezeigt.

; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server.
; Default Values: user and group are set as the running user
;                 mode is set to 0660
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Als nächstes kommentierst du die folgende Zeile aus, indem du ein Semikolon davor setzt.

;listen.acl_users = apache,nginx

Speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.

Erhöhe die Ausführungszeit für PHP-FPM und PHP-CLI auf 60 Sekunden.

$ sudo sed -i 's/max_execution_time = 30/max_execution_time = 60/' /etc/php.ini

Erhöhe das Speicherlimit für PHP-FPM von 128 MB auf 256 MB.

$ sudo sed -i 's/memory_limit = 128M/memory_limit = 256M/' /etc/php.ini

PHP setzt die Dateigrößenbegrenzung für die Medienbibliothek standardmäßig auf 2 MB. Führe die folgenden Befehle aus, um die Dateigrößenbegrenzung auf 25 MB zu erhöhen.

$ sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 25M/g' /etc/php.ini
$ sudo sed -i 's/post_max_size = 8M/post_max_size = 25M/g' /etc/php.ini

Starte den PHP-FPM-Dienst neu.

$ sudo systemctl restart php-fpm

Ändere die Gruppe des PHP-Sessions-Verzeichnisses auf Nginx.

$ sudo chgrp -R nginx /var/lib/php/session

Nginx konfigurieren

Erstelle und öffne die Datei /etc/nginx/conf.d/suitecrm.conf zum Bearbeiten.

$ sudo nano /etc/nginx/conf.d/suitecrm.conf

Füge den folgenden Code in die Datei ein.

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name suitecrm.example.com;

    root /var/www/html/suitecrm/public;
    error_log /var/log/nginx/suitecrm.error.log;
    access_log /var/log/nginx/suitecrm.access.log;
    client_max_body_size 25M;

    index index.php index.html index.htm;

    ssl_certificate      /etc/letsencrypt/live/suitecrm.example.com/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/suitecrm.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/suitecrm.example.com/chain.pem;

    ssl_session_timeout  5m;
    ssl_session_cache shared:MozSSL:10m;
    ssl_session_tickets off;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;

    location / {
        try_files $uri /index.php;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;

        fastcgi_buffer_size 128k;
        fastcgi_buffers 256 16k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
    }

    # Don't log favicon
    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    # Deny all attempts to access hidden files/folders such as .htaccess, .htpasswd, .DS_Store (Mac), etc...
    location ~ /\. {
        deny all;
    }

    # A long browser cache lifetime can speed up repeat visits to your page
    location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
        expires           360d;
    }
}

# enforce HTTPS
server {
    listen       80;
    listen       [::]:80;
    server_name  suitecrm.example.com;
    return 301   https://$host$request_uri;
}

Beachte, dass das Stammverzeichnis, das in der Nginx-Konfiguration verwendet werden soll, /var/www/html/suitecrm/public ist. In früheren SuiteCRM-Versionen (7.x) war es /var/www/html/suitecrm. Das Verzeichnis public wurde mit der SuiteCRM-Version 8.x eingeführt.

Speichere die Datei, indem du die Tastenkombination Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.

Öffne die Datei /etc/nginx/nginx.conf zur Bearbeitung.

$ sudo nano /etc/nginx/nginx.conf

Füge die folgende Zeile vor der Zeile include /etc/nginx/conf.d/*.conf; ein.

server_names_hash_bucket_size  64;

Speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.

Überprüfe die Syntax der Nginx-Konfigurationsdatei.

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Starte den Nginx-Dienst neu.

$ sudo systemctl restart nginx

Schritt 10 – Installation und Zugriff auf SuiteCRM

Es gibt zwei Möglichkeiten, SuiteCRM zu installieren. Die erste Methode ist die Verwendung des Web-Installers und die zweite die Verwendung der SuiteCRM-Konsole über die Befehlszeile.

Methode 1 – Web-Assistent

Öffne die URL https://suitecrm.example.com im Browser und du wirst mit dem Installationsassistenten konfrontiert.

SuiteCRM Einrichtungsassistent

Gib die URL, die Datenbankzugangsdaten und die Anmeldedaten für dein Administratorkonto ein. Gib localhost als Hostname und 3306 als Datenbankport ein. Klicke auf die Schaltfläche Fortfahren, um die Anmeldeseite zu öffnen.

SuiteCRM login page

Gib deine Kontodaten ein und klicke auf die Schaltfläche Anmelden, um das Dashboard von SuiteCRM zu öffnen.

SuiteCRM Dashboard

In früheren Versionen von SuiteCRM hattest du die Möglichkeit, den E-Mail-Anbieter während der Einrichtung zu konfigurieren. Das ist jetzt nicht mehr der Fall. Um den E-Mail-Anbieter zu konfigurieren, klickst du oben rechts auf das Dropdown-Menü Administrator und dann auf die Option Admin.

SuiteCRM Admin Menu Option

Du gelangst dann zum folgenden Admin Panel von SuiteCRM.

SuiteCRM Admin Panel

Klicke auf den Link E-Mail-Einstellungen, um die Seite mit den E-Mail-Anbietern zu öffnen.

SuiteCRM E-Mail-Einstellungen

Wenn du Gmail oder Microsoft Exchange verwendest, kannst du die entsprechenden Schaltflächen verwenden, um sie zu konfigurieren. Für unser Tutorial verwenden wir Amazon SES. Wenn du möchtest, dass deine Nutzer deine SMTP-Einstellungen verwenden, kannst du die Option dafür aktivieren. Klicke auf die Schaltfläche Test-E-Mail senden, um das folgende Popup-Fenster zu öffnen, und gib eine E-Mail-Adresse ein, an die du die Test-E-Mails senden möchtest.

SuiteCRM Test E-Mail Popup

Klicke auf die Schaltfläche Senden, um eine Test-E-Mail zu versenden. Wenn du die folgende E-Mail erhältst, bedeutet das, dass deine Einstellungen richtig funktionieren.

SuiteCRM Test E-Mail

Klicke oben auf der Seite mit den E-Mail-Einstellungen auf die Schaltfläche Speichern, um deine Einstellungen zu speichern. Jetzt kannst du SuiteCRM nutzen, um deine Kunden und dein Geschäft zu verwalten.

Methode 2 – SuiteCRM-Befehlskonsole

Wechsle in das SuiteCRM-Verzeichnis.

$ cd /var/www/html/suitecrm

Führe den folgenden Befehl aus, um SuiteCRM zu installieren.

$ sudo ./bin/console suitecrm:app:install -u "admin_username" -p "admin_password" -U "db_user" -P "db_password" -H "localhost" -N "dbname" -S "https://suitecrm.example.com" -d "yes" -Z "3306"

Wenn du die Demodaten nicht haben willst, kannst du das d "yes" Flag im obigen Befehl weglassen.

Du kannst das Installationsprogramm auch ausführen, ohne irgendwelche Variablen anzugeben. In diesem Fall wird er dich nach den Informationen fragen.

$ sudo ./bin/console suitecrm:app:install

Öffne die URL https://suitecrm.example.com in deinem Browser und öffne die Anmeldeseite und fahre von dort aus fort.

Schritt 11 – Cron-Jobs konfigurieren

SuiteCRM braucht Cron-Jobs, um richtig zu funktionieren. Bearbeite die crontab-Datei des Benutzers nginx. Rocky Linux verwendet standardmäßig den Editor Vim. Mit dem folgenden Befehl wird die crontab im Nano-Editor geöffnet, der einfacher zu bedienen ist.

$ sudo EDITOR=nano crontab -e -u nginx

Füge die folgende Zeile am Ende der Datei ein.

*    *    *    *    *     cd /var/www/html/suitecrm/public/legacy; php -f cron.php > /dev/null 2>&1

Speichere und schließe die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.

Fazit

Damit ist die Anleitung zur Installation von SuiteCRM mit dem Nginx-Server und Let’s Encrypt SSL auf einem Rocky Linux 9 Rechner abgeschlossen. Wenn du noch Fragen hast, schreibe sie in die Kommentare unten.

Das könnte dich auch interessieren …