So installierst du SuiteCRM auf Ubuntu

SuiteCRM ist ein kostenloses, quelloffenes CRM-System der Unternehmensklasse, das von SalesAgility entwickelt wurde. Es ist ein Fork der SugarCRM Community Edition. Es enthält alle Funktionen, die ein Unternehmen mit CRM- und ERP-Anforderungen benötigt. Es bietet eine breite Palette von Funktionen wie E-Mail-Marketing, Integration sozialer Medien, Marketing-Automatisierung, interne Chat-Integration, Dokumentenspeicherung, Erinnerungen, Aufgabenmanagement und vieles mehr. In diesem Beitrag zeige ich dir, wie du SuiteCRM mit Nginx und Let’s Encrypt SSL auf Ubuntu 20.04 installierst.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 20.04 läuft.
  • Ein gültiger Domainname, der auf die IP deines Servers zeigt.
  • Ein Root-Passwort ist auf dem Server konfiguriert.

Erste Schritte

Bevor du beginnst, musst du deine Systempakete auf die neueste Version aktualisieren. Du kannst sie mit dem folgenden Befehl aktualisieren:

apt-get update -y

Sobald dein Server aktualisiert ist, kannst du mit dem nächsten Schritt fortfahren.

Nginx, MariaDB und PHP installieren

Zuerst musst du den Nginx Webserver, MariaDB, PHP und andere PHP-Erweiterungen auf deinem Server installieren. Du kannst alle Pakete mit dem folgenden Befehl installieren:

apt-get install nginx mariadb-server php7.4 php7.4-fpm php7.4-gd php7.4-opcache php7.4-mbstring php7.4-xml php7.4-json php7.4-zip php7.4-curl php7.4-imap php-mysql unzip -y

Nachdem du alle Pakete installiert hast, bearbeite die Datei php.ini und ändere die empfohlenen Einstellungen:

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

Ändere die folgenden Einstellungen:

post_max_size = 60M
upload_max_filesize = 60M
memory_limit = 256M
max_input_time = 60
max_execution_time = 5000
date.timezone = Asia/Kolkata

Speichere und schließe die Datei und starte den PHP-FPM-Dienst neu, um die Änderungen zu übernehmen.

systemctl restart php7.4-fpm

Zu diesem Zeitpunkt ist der LEMP-Server auf deinem Server installiert. Du kannst jetzt mit dem nächsten Schritt fortfahren.

Erstelle eine Datenbank für SuiteCRM

SuiteCRM benötigt eine Datenbank, um seine Inhalte zu speichern. Melde dich zunächst mit folgendem Befehl in der MariaDB-Shell an:

mysql

Sobald du eingeloggt bist, erstelle eine Datenbank und einen Benutzer mit dem folgenden Befehl:

MariaDB [(none)]> CREATE DATABASE suitecrm;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON suitecrm.* TO 'suitecrm'@'localhost' IDENTIFIED BY 'password';

Als Nächstes musst du die Berechtigungen flushen, um die Änderungen zu übernehmen.

MariaDB [(none)]> FLUSH PRIVILEGES;

Verlasse die MariaDB-Konsole mit folgendem Befehl:

MariaDB [(none)]> EXIT;

Jetzt hast du eine Datenbank und die Benutzer sind bereit für SuiteCRM. Du kannst jetzt mit dem nächsten Schritt fortfahren.

SuiteCRM installieren

Gehe zunächst auf die offizielle Website von SuiteCRM und lade die neueste Version von SuiteCRM mit dem folgenden Befehl herunter:

wget https://sourceforge.net/projects/suitecrm/files/SuiteCRM-7.11.19.zip

Sobald der Download abgeschlossen ist, entpackst du die heruntergeladene Datei mit dem folgenden Befehl:

unzip SuiteCRM-7.11.19.zip

Als Nächstes verschiebst du das entpackte Verzeichnis mit dem folgenden Befehl in das Nginx-Stammverzeichnis:

mv SuiteCRM-7.11.19 /var/www/html/suitecrm

Als Nächstes gibst du dem Verzeichnis suitecrm die richtigen Rechte und Eigentümer:

chown -R www-data:www-data /var/www/html/suitecrm/
chmod 755 -R /var/www/html/suitecrm/

Sobald du damit fertig bist, kannst du mit der Konfiguration von Nginx fortfahren.

Nginx für das Hosting von SuiteCRM konfigurieren

Als nächstes musst du eine Nginx-Konfigurationsdatei für den virtuellen Host erstellen, um SuiteCRM im Internet zu hosten. Du kannst sie mit dem folgenden Befehl erstellen:

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

Füge die folgenden Zeilen hinzu:

server {
   listen 80;
   server_name suitecrm.example.com;

   root /var/www/html/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 / {
     # try to serve file directly, fallback to 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;
   }

   location ~* ^/index.php {
     # try_files $uri =404;
     fastcgi_split_path_info ^(.+\.php)(/.+)$;
     # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

     fastcgi_pass unix:/var/run/php/php7.4-fpm.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;
    }

    # Don't log robots
    location = /robots.txt  {
        access_log off;
        log_not_found off;
    }

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

     # 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)$ {
       access_log        off;
       log_not_found     off;
       expires           360d;
  }
}

Speichere und schließe die Datei, wenn du fertig bist, und überprüfe Nginx mit folgendem Befehl auf Syntaxfehler:

nginx -t

Du solltest die folgende Ausgabe erhalten:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Starte anschließend den Nginx-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart nginx

Um den Status des Nginx-Dienstes zu überprüfen, führe den folgenden Befehl aus:

systemctl status nginx

Du solltest die folgende Ausgabe erhalten:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-05-22 10:16:45 UTC; 4s ago
       Docs: man:nginx(8)
    Process: 18988 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 19000 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 19001 (nginx)
      Tasks: 2 (limit: 2353)
     Memory: 2.7M
     CGroup: /system.slice/nginx.service
             ??19001 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??19002 nginx: worker process

May 22 10:16:45 ubuntu2004 systemd[1]: Starting A high performance web server and a reverse proxy server...
May 22 10:16:45 ubuntu2004 systemd[1]: Started A high performance web server and a reverse proxy server.

Jetzt ist Nginx so konfiguriert, dass es SuiteCRM bedienen kann. Du kannst nun auf SuiteCRM zugreifen.

Zugriff auf SuiteCRM

Öffne nun deinen Webbrowser und rufe SuiteCRM über die URL http://suitecrm.example.com auf. Du solltest die folgende Seite sehen:

Akzeptiere die Lizenzvereinbarung und klicke auf die Schaltfläche Weiter. Du solltest die folgende Seite sehen:

Vergewissere dich, dass alle Voraussetzungen installiert sind, und klicke dann auf die Schaltfläche Weiter. Du solltest die folgende Seite sehen:

Gib deinen Datenbanknamen, deinen Benutzer, dein Passwort, deinen Administrator-Benutzernamen, dein Passwort, die SuiteCRM-URL und deine E-Mail-Adresse an und klicke dann auf die Schaltfläche Weiter. Sobald die Installation abgeschlossen ist, solltest du die folgende Seite sehen:

Klicke jetzt auf die Schaltfläche Weiter. Du solltest die SuiteCRM-Anmeldeseite sehen:

Gib deinen Admin-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche LOG IN. Auf der folgenden Seite solltest du das SuiteCRM-Dashboard sehen:

SuiteCRM mit Let’s Encrypt sichern

Als Nächstes musst du das Certbot Client-Paket installieren, um Let’s Encrypt SSL zu installieren und zu verwalten.

Installiere zunächst Certbot mit dem folgenden Befehl:

apt-get install certbot python3-certbot-nginx -y

Sobald die Installation abgeschlossen ist, führe den folgenden Befehl aus, um Let’s Encrypt SSL auf deiner Website zu installieren:

certbot --nginx -d suitecrm.example.com

Du wirst aufgefordert, eine gültige E-Mail-Adresse anzugeben und die Nutzungsbedingungen zu akzeptieren (siehe unten):

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): hitjethva@gmail.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for suitecrm.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/suitecrm.conf

Als Nächstes wählst du aus, ob der HTTP-Datenverkehr auf HTTPS umgeleitet werden soll oder nicht (siehe unten):

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Gib 2 ein und drücke die Eingabetaste, um die Installation abzuschließen. Du solltest die folgende Ausgabe sehen:

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/suitecrm.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://suitecrm.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=suitecrm.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/suitecrm.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/suitecrm.example.com/privkey.pem
   Your cert will expire on 2021-10-30. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

 - We were unable to subscribe you the EFF mailing list because your
   e-mail address appears to be invalid. You can try again later by
   visiting https://act.eff.org.

Jetzt ist dein SuiteCRM mit Let’s Encrypt SSL gesichert. Du kannst über die URL https://suitecrm.example.com sicher darauf zugreifen.

Fazit

Das war’s für den Moment. Du hast SuiteCRM erfolgreich mit Nginx und Let’s Encrypt SSL auf Ubuntu 20.04 installiert. Jetzt kannst du SuiteCRM in deinem Unternehmen einführen. Weitere Informationen findest du in der SuiteCRM-Bedienungsanleitung.

Das könnte dich auch interessieren …