GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie SuiteCRM auf Ubuntu 20.04 mit Apache/Nginx

Dieses Tutorial zeigt Ihnen, wie Sie SuiteCRM installieren auf Ubuntu 20.04 mit Apache- oder Nginx-Webserver. SuiteCRM ist eine kostenlose Open-Source-Softwarelösung für das Kundenbeziehungsmanagement, die eine 360-Grad-Sicht auf Ihre Kunden und Ihr Unternehmen bietet. Es ist ein Fork des beliebten SugarCRM Software, da SugarCRM 2014 die Veröffentlichung seiner Open-Source-Community-Edition eingestellt hat.

SuiteCRM-Funktionen

  • Kalender-/Erinnerungssystem
  • Dokumentenspeicherung
  • E-Mail-Marketing
  • Interne Chat-Integration
  • Lead-Qualifizierung
  • Marketingautomatisierung
  • mobiler Zugriff
  • Quoten/Schätzungen
  • Segmentierung
  • Social-Media-Integration
  • Aufgabenverwaltung
  • Gebietsverwaltung
  • Vertriebsautomatisierung, Marketingkampagnen, Kundensupport, Zusammenarbeit, mobiles CRM, soziales CRM und Berichterstellung.
  • Installieren Sie Plugins, um die Funktionalität von SuiteCRM zu erweitern.
  • SuiteCRM kann problemlos in SMTP-Relay-Dienste von Drittanbietern wie Gmail, Mandrill, Sendgrid, Amazon SES integriert werden. Sie können auch Ihren eigenen Mailserver verwenden.
  • Kann sich nahtlos in viele beliebte Drittanbieter-Apps wie Mautic, Gmail, Facebook, Twitter, GoToMeeting, MailChimp, Zoom, Quickbooks, Avaya, DocuSign usw. integrieren.
  • Unterstützt mehrere Benutzerkonten und Rollen.
  • Und vieles mehr

Voraussetzungen für die Installation von SuiteCRM auf Ubuntu 20.04 Server

SuiteCRM ist in PHP geschrieben und basiert auf dem MySQL/MariaDB-Datenbankserver. Sie müssen also einen LAMP-Stack oder einen LEMP-Stack einrichten. Wenn Sie Apache bevorzugen Webserver und richten Sie dann den LAMP-Stack ein.

  • So installieren Sie LAMP Stack auf Ubuntu 20.04

Wenn Sie Nginx bevorzugen Webserver und richten Sie dann den LEMP-Stack ein.

  • So installieren Sie den LEMP-Stack auf Ubuntu 20.04

Außerdem benötigen Sie einen Domänennamen. Ich habe meinen Domainnamen bei NameCheap registriert, weil der Preis niedrig ist und Whois-Datenschutz lebenslang kostenlos ist. Lassen Sie uns ohne weiteres SuiteCRM auf dem Ubuntu 20.04-Server installieren.

Schritt 1:Laden Sie SuiteCRM auf Ihren Ubuntu 20.04-Server herunter

Laden Sie die neueste stabile Version herunter, indem Sie den folgenden Befehl auf Ihrem Server ausführen.

wget https://suitecrm.com/files/162/SuiteCRM-7.11/525/SuiteCRM-7.11.18.zip

Installieren Sie das unzip und entpacken Sie es nach /var/www/ Verzeichnis.

sudo apt install unzipsudo mkdir -p /var/www/sudo unzip SuiteCRM-7.11.18.zip -d /var/www/

Es wird unter /var/www/SuiteCRM-7.11.18/ gespeichert Verzeichnis. Wir benennen es um, um es einfacher zu machen.

sudo mv /var/www/SuiteCRM-7.11.18/ /var/www/suitecrm

Führen Sie dann die folgenden Befehle aus, um die richtigen Berechtigungen festzulegen.

cd /var/www/suitecrmsudo chown -R www-data:www-data /var/www/suitecrm/sudo chmod -R 755 .sudo chmod -R 775 Zwischenspeichern benutzerdefinierter Module Themen Daten hochladensudo chmod 775 config_override.php 2>/dev/null

Schritt 2:Erstellen Sie eine MariaDB-Datenbank und einen Benutzer für SuiteCRM

Melden Sie sich bei der MariaDB-Konsole an.

sudo mysql -u root

Erstellen Sie als Nächstes mit dem folgenden Befehl eine neue Datenbank für SuiteCRM. Dieses Tutorial nennt es suitecrm , können Sie einen beliebigen Namen für die Datenbank verwenden.

CREATE DATABASE suitecrm;

Der folgende Befehl erstellt einen Datenbankbenutzer und ein Passwort und gewährt dem neuen Benutzer gleichzeitig alle Berechtigungen für die neue Datenbank, damit SuiteCRM später in die Datenbank schreiben kann. Ersetzen Sie rote Texte durch Ihren bevorzugten Datenbanknamen, Benutzernamen und Passwort.

Grant ALL ON suitecrm.* TO 'suitecrm'@'localhost' IDENTIFIED BY 'password';

Berechtigungstabelle leeren und MariaDB-Konsole verlassen.

FLUSH PRIVILEGES;EXIT;

Schritt 3:Erforderliche und empfohlene PHP-Module installieren.

Führen Sie den folgenden Befehl aus, um PHP-Module zu installieren, die von SuiteCRM benötigt oder empfohlen werden

sudo apt install php-imagick php7.4-fpm php7.4-mysql php7.4-common php7.4-gd php7.4-imap php7.4-json php7.4-curl php7.4-zip php7 .4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp

Wenn Sie den Apache-Webserver verwenden, müssen Sie das PHP-Modul für Apache deaktivieren.

sudo a2dismod php7.4

Sie müssen auch das Prefork-MPM-Modul in Apache deaktivieren.

sudo a2dismod mpm_prefork

Jetzt müssen Sie den folgenden Befehl ausführen, um drei Module zu aktivieren, um PHP-FPM in Apache zu verwenden, unabhängig davon, ob mod_php auf Ihrem Server installiert ist.

sudo a2enmod mpm_event proxy_fcgi setenvif

Starten Sie dann Apache neu.

sudo systemctl reset apache2

Schritt 4:Apache Virtual Host oder Nginx-Konfigurationsdatei für SuiteCRM erstellen

Apache

Wenn Sie den Apache-Webserver verwenden, erstellen Sie einen virtuellen Host für SuiteCRM.

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

Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie suitecrm.example.com mit Ihrem echten Domainnamen und vergessen Sie nicht, dafür einen DNS-A-Eintrag zu erstellen.

 ServerName suitecrm.example.com DocumentRoot /var/www/suitecrm/ ErrorLog ${APACHE_LOG_DIR}/suitecrm_error.log CustomLog ${APACHE_LOG_DIR}/suitecrm_access.log kombiniert  Options FollowSymLinks AllowOverride All   Options FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all Include /etc/apache2/conf-available/php7.4-fpm.conf

Speichern und schließen Sie die Datei. Aktivieren Sie dann diesen virtuellen Host mit:

sudo a2ensite suitecrm.conf

Laden Sie Apache neu, damit die Änderungen wirksam werden.

sudo systemctl apache2 neu laden

Jetzt sollten Sie den webbasierten SuiteCRM-Installationsassistenten unter http://suitecrm.example.com/install.php sehen können .

Nginx

Wenn Sie den Nginx-Webserver verwenden, erstellen Sie einen virtuellen Host für SuiteCRM.

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

Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie suitecrm.example.com mit Ihrem echten Domainnamen und vergessen Sie nicht, dafür einen DNS-A-Eintrag zu erstellen.

server {listen 80; hör zu [::]:80; Servername suitecrm.example.com; root /var/www/suitecrm; error_log /var/log/nginx/suitecrm.error; access_log /var/log/nginx/suitecrm.access; client_max_body_size 20M; index index.php index.html index.htm index.nginx-debian.html; location / { # Versuch, Datei direkt bereitzustellen, Fallback auf app.php try_files $uri /index.php$is_args$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; #Hinweis:Wenn Sie SuiteCRM auf dem iRedMail-Server installieren, sollten Sie stattdessen den TCP-Socket verwenden. #fastcgi_pass 127.0.0.1:9999 } location ~* ^/index.php { # try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; # HINWEIS:Sie sollten "cgi.fix_pathinfo =0;" haben in php.ini fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; #Hinweis:Wenn Sie SuiteCRM auf dem iRedMail-Server installieren, sollten Sie stattdessen den TCP-Socket verwenden. #fastcgi_pass 127.0.0.1:9999 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; schließen Sie fastcgi_params ein; fastcgi_buffer_size 128k; fastcgi_buffers 256 16k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } # Favicon-Standort nicht protokollieren =/favicon.ico { log_not_found off; access_log off; } # Robots-Standort nicht protokollieren =/robots.txt { access_log off; log_not_found aus; } # Verweigere alle Zugriffsversuche auf versteckte Dateien/Ordner wie .htaccess, .htpasswd, .DS_Store (Mac), etc... location ~ /\. {alles verneinen; access_log off; log_not_found aus; } # Eine lange Browser-Cache-Lebensdauer kann wiederholte Besuche Ihrer Seitenposition beschleunigen ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ { access_log aus; log_not_found aus; läuft 360d ab; }}

Speichern und schließen Sie die Datei. Testen Sie dann die Nginx-Konfiguration.

sudo nginx -t

Wenn der Test erfolgreich ist, laden Sie Nginx neu, damit die Änderungen wirksam werden.

sudo systemctl reload nginx

Jetzt sollten Sie den webbasierten SuiteCRM-Installationsassistenten unter http://suitecrm.example.com/install.php sehen können .

Schritt 5:HTTPS aktivieren

Um den HTTP-Verkehr zu verschlüsseln, können wir HTTPS aktivieren, indem wir ein kostenloses TLS-Zertifikat installieren, das von Let’s Encrypt ausgestellt wurde. Führen Sie den folgenden Befehl aus, um den Let’s Encrypt-Client (certbot) auf dem Ubuntu 20.04-Server zu installieren.

sudo apt install certbot

Wenn Sie Nginx verwenden , dann müssen Sie auch das Certbot Nginx-Plugin installieren.

sudo apt install python3-certbot-nginx

Führen Sie als Nächstes den folgenden Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d suitecrm.example.com

Wenn Sie Apache verwenden , installieren Sie das Certbot-Apache-Plugin.

sudo apt install python3-certbot-apache

Und führen Sie diesen Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d suitecrm.example.com

Wo

  • --nginx :Verwenden Sie das nginx-Plugin.
  • --apache :Verwenden Sie das Apache-Plugin.
  • --agree-tos :Nutzungsbedingungen akzeptieren.
  • --redirect :HTTPS durch 301-Umleitung erzwingen.
  • --hsts :Fügen Sie jeder HTTP-Antwort den Strict-Transport-Security-Header hinzu. Erzwingen, dass der Browser immer TLS für die Domäne verwendet. Schützt vor SSL/TLS-Stripping.
  • --staple-ocsp :Aktiviert OCSP-Heften. Eine gültige OCSP-Antwort wird an das Zertifikat geheftet, das der Server während TLS anbietet.

Das Zertifikat sollte nun abgerufen und automatisch installiert werden.

Schritt 6:Erhöhen Sie die Größenbeschränkung für Upload-Dateien

PHP legt eine Grenze für die Größe der Upload-Datei fest. Die standardmäßige maximale Dateigröße zum Hochladen beträgt 2 MB. Um die Upload-Größe zu erhöhen, bearbeiten Sie die PHP-Konfigurationsdatei.

sudo nano /etc/php/7.4/fpm/php.ini

Suchen Sie die folgende Zeile (Zeile 846).

upload_max_filesize =2M

Ändern Sie den Wert wie unten. Es wird empfohlen, mindestens 20 MB einzustellen.

upload_max_filesize =20M

Speichern und schließen Sie die Datei. Alternativ können Sie den folgenden Befehl ausführen, um den Wert zu ändern, ohne die Datei manuell zu öffnen.

sudo sed -i 's/upload_max_filesize =2M/upload_max_filesize =20M/g' /etc/php/7.4/fpm/php.ini

Starten Sie dann PHP-FPM neu.

sudo systemctl restart php7.4-fpm

Starten Sie außerdem Apache/Nginx neu.

sudo systemctl reset apache2

oder

sudo systemctl restart nginx

Schritt 7:Beenden Sie die SuiteCRM-Installation im Webbrowser

Geben Sie nun in der Adressleiste Ihres Browsers Ihren Domainnamen für SuiteCRM ein, um auf den Web-Installationsassistenten zuzugreifen.

https://suitecrm.ihre-domain.com/install.php

Akzeptieren Sie zunächst die GNU AGPL-Lizenz.

Anschließend wird Ihre Serverumgebung überprüft. Wenn alles in Ordnung ist, klicken Sie auf Weiter .

Geben Sie dann die in Schritt 2 erstellten MariaDB/MySQL-Datenbankdetails ein. Sie müssen auch ein Passwort für den Admin-Benutzer festlegen, das zum Anmelden bei der Weboberfläche verwendet wird. Ändern Sie die URL in https://suitecrm.your-domain.com und geben Sie Ihre E-Mail-Adresse ein.

In den more options Abschnitt können Sie die E-Mail-Einstellungen konfigurieren, z. B. den Absendernamen und die Absenderadresse festlegen.

Wenn SuiteCRM auf Ihrem Mailserver installiert ist, können Sie 127.0.0.1 als SMTP-Server und Port 25 als SMTP-Port verwenden, sodass SuiteCRM Ihren eigenen Mailserver zum Senden von E-Mails verwendet.

Wenn SuiteCRM und Ihr Mailserver auf unterschiedlichen Hosts laufen und Sie möchten, dass SuiteCRM E-Mails über Ihren Mailserver sendet, dann müssen Sie Other wählen als Mailer-Transport. Dann

  • Geben Sie den Hostnamen Ihres Mailservers ein
  • Wählen Sie Port 587
  • Wählen Sie TLS-Verschlüsselung.
  • Geben Sie die Anmeldedaten einer E-Mail-Adresse auf Ihrem Mailserver ein.

Klicken Sie auf die Schaltfläche Weiter und SuiteCRM wird installiert.

Schritt 8:Aktivieren Sie HTTP2, um die Leistung zu verbessern

Sie können das HTTP2-Protokoll aktivieren, um die Seitenladeleistung für SuiteCRM zu verbessern.

Apache

Zuerst müssen Sie das HTTP2-Modul aktivieren.

sudo a2enmod http2

Öffnen Sie dann die virtuelle SSL-Hostdatei.

sudo nano /etc/apache2/sites-enabled/suitecrm-le-ssl.conf

Fügen Sie die folgende Anweisung nach dem öffnenden <VirtualHost *:443> ein -Tag.

Protokolle h2 http/1.1

Speichern und schließen Sie die Datei. Starten Sie dann Apache neu, damit die Änderungen wirksam werden.

sudo systemctl reset apache2

Nginx

Um das HTTP2-Protokoll im virtuellen Nginx-Host zu aktivieren, suchen Sie die folgende Zeile.

höre 443 ssl; # verwaltet von Certbot

Fügen Sie einfach http2 hinzu nach ssl .

listen 443 ssl http2; # verwaltet von Certbot

Speichern und schließen Sie die Datei. Laden Sie dann Nginx neu.

sudo systemctl reload nginx

Schritt 9:Cron-Jobs hinzufügen

SuiteCRM ist auf Cron-Jobs angewiesen, um ordnungsgemäß zu funktionieren. Bearbeiten Sie die Crontab-Datei des www-data-Benutzers. (Sie sollten keine SuiteCRM-Befehle in die crontab-Datei des Root-Benutzers einfügen.)

sudo -u www-data crontab -e

Fügen Sie am Ende dieser Datei die folgenden Zeilen hinzu.

###### SuiteCRM Cron-Job #######* * * * *  php7.4 -f /var/www/suitecrm/cron.php>
 /dev/null 2>&1

Speichern und schließen Sie die Datei.

Integration mit Mautic

Mautic ist eine kostenlose Open-Source-Alternative zu kommerziellen E-Mail-Dienstanbietern wie MailChimp. Mautic hat ein SugarCRM-Plug-in, und da SuiteCRM auf SugarCRM 6.x basiert, können wir das SugarCRM-Plug-in zur Integration mit Mautic verwenden.

Zuerst müssen wir zur SuiteCRM-Weboberfläche gehen und auf den Dropdown-Pfeil in der oberen rechten Ecke klicken, um auf das Verwaltungsmodul zuzugreifen.

Scrollen Sie dann nach unten und wählen Sie OAuth-Schlüssel aus.

Erstellen Sie einen neuen OAuth-Schlüssel. Geben Sie dem Schlüssel einen Namen wie mautic . Geben Sie so etwas wie matuic-suitecrm ein im Consumer key Feld. Geben Sie dann einige zufällige Zeichen in das Consumer Secret ein Feld. Speichern Sie Ihre Änderungen.

Gehen Sie als Nächstes zu den Mautic Settings -> Plugins -> SugarCRM . Geben Sie Ihre SuiteCRM-URL, den Clientschlüssel (Consumer Key) und das Client-Secret (Consumer Secret) ein. Geben Sie dann den Benutzernamen und das Kennwort des SuiteCRM-Administrators ein. Wählen Sie 6.x/Community-Version aus. Klicken Sie auf die Schaltfläche App autorisieren.

Nach der Autorisierung können Sie den Veröffentlichungsstatus von No ändern auf Yes . Wenn beim Versuch, die App zu autorisieren, ein Fehler auftritt, vergewissern Sie sich, dass die DNS-Einträge für Ihre Mautic- und SuiteCRM-Subdomäne beide an das Internet weitergegeben werden.


Ubuntu
  1. So installieren Sie Apache unter Ubuntu 18.04

  2. So installieren Sie Apache unter Ubuntu 20.04

  3. So installieren Sie Nginx unter Ubuntu 16.04

  4. So installieren Sie Joomla mit Apache unter Ubuntu 18.04

  5. So installieren Sie Elgg mit Nginx unter Ubuntu 14.04

So installieren Sie InvoiceNinja auf Ubuntu 18.04 Server mit Apache/Nginx

So installieren Sie InvoiceNinja auf Ubuntu 20.04 Server mit Apache/Nginx

So installieren Sie Apache Tomcat 10 auf Ubuntu 20.04 mit Nginx

So installieren Sie Apache Tomcat 10 auf Ubuntu 22.04 mit Nginx

So installieren Sie Apache unter Ubuntu 22.04

So installieren Sie Nginx unter Ubuntu 22.04