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

So installieren Sie SuiteCRM mit Nginx unter Ubuntu 16.04

SuiteCRM ist eine auf PHP basierende Open-Source-CRM-Software (Customer Relationship Management). Es ist eine Abzweigung der beliebten CRM-Software „SugarCRM“ und wurde immer beliebter, nachdem „SugarCRM“ beschlossen hatte, die Entwicklung der kostenlosen Version einzustellen. SuiteCRM wurde als beste Open-Source-CRM-Software auf BOSSIE 2015 und 2016 nominiert.

In diesem Tutorial zeige ich Ihnen Schritt für Schritt, wie Sie das Open-Source-CRM „SuiteCRM“ installieren. Die Software wird unter dem Nginx-Webserver mit MariaDB-Datenbank und unter Verwendung des Ubuntu 16.04-Systems ausgeführt.

Was wir tun werden

  1. Nginx-Webserver installieren
  2. Installieren und konfigurieren Sie PHP-FPM
  3. MariaDB installieren und konfigurieren
  4. SuiteCRM herunterladen und konfigurieren
  5. SuiteCRM-Web-Installer
  6. Letzte Schritte

Voraussetzungen

  • Ubuntu 16.04-Server
  • Root-Rechte

Schritt 1 – Nginx-Webserver installieren

SuiteCRM ist eine webbasierte Software und benötigt einen Webserver. Wir können Apache oder Nginx für diese Software verwenden. In diesem Tutorial verwenden wir den Nginx-Webserver anstelle des Apache-Webservers.

Verbinden Sie sich mit Ihrem Ubuntu-Server und aktualisieren Sie das Repository.

ssh [email protected]
sudo apt update

Installieren Sie nun den Nginx-Webserver mit dem apt-Befehl auf folgende Weise.

apt install -y nginx

Starten Sie nach der Installation nginx und aktivieren Sie es so, dass es bei jedem Systemstart automatisch gestartet wird.

systemctl start nginx
systemctl enable nginx

Der Nginx-Webserver ist installiert und läuft unter dem Standard-HTTP-Port 80. Überprüfen Sie ihn mit dem Befehl netstat, oder Sie können curl verwenden, um den HTTP-Statuscode anzuzeigen.

netstat -plntu
curl -I localhost

Schritt 2 – PHP-FPM installieren und konfigurieren

SuiteCRM ist mit mehreren PHP-Versionen kompatibel. In diesem Tutorial verwenden wir die neueste Version PHP 7.0 für die SuiteCRM-Installation.

Installieren Sie PHP und PHP-FPM 7 zusammen mit anderen erforderlichen Erweiterungen mit dem folgenden apt-Befehl.

apt install -y php7.0-fpm php7.0-mcrypt php7.0-imap php7.0-curl php7.0-cli php7.0-mysql php7.0-gd php7.0-xsl php7.0 -json php7.0-intl php-pear php7.0-dev php7.0-common php7.0-mbstring php7.0-zip php-soap libcurl3 curl

Gehen Sie nach Abschluss der Installation in das PHP-Konfigurationsverzeichnis und bearbeiten Sie die php.ini-Dateien für die Konfiguration von 'cli' und 'fpm'.

cd /etc/php/7.0/

php.ini-Dateien bearbeiten.

vim cli/php.ini
vim fpm/php.ini

Ändern Sie den Wert für die maximale Upload-Dateigröße. SuiteCRM benötigt mindestens 6 MB, aber wir setzen 100 MB als Wert.

upload_max_filesize =100 MB

Entkommentieren Sie die CGI-Zeile (siehe unten) und ändern Sie den Wert auf 0.

cgi.fix_pathinfo=0

Kommentieren Sie für die Konfiguration des Sitzungspfads die folgende Zeile aus.

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

Das ist es. Speichern Sie diese Änderungen und beenden Sie.

Jetzt müssen wir ein neues Verzeichnis für PHP-Sitzungsdateien erstellen und den Eigentümer des Verzeichnisses auf „www-data“-Benutzer und -Gruppe ändern.

mkdir -p /var/lib/php/sessions
chown -R www-data:www-data /var/lib/php/sessions

Die Konfiguration von PHP und PHP-FPM ist abgeschlossen. Starten Sie nun den Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet wird.

systemctl start php7.0-fpm
systemctl aktiviert php7.0-fpm

Standardmäßig wird PHP-FPM auf dem Ubuntu-System unter der Sock-Datei ausgeführt, anstatt den Systemport zu verwenden. Überprüfen Sie es mit dem untenstehenden netstat-Befehl.

netstat -pl | grep php

Und vergewissern Sie sich, dass das angezeigte Ergebnis dem im folgenden Screenshot ähnelt.

Schritt 3 – MariaDB installieren und konfigurieren

In diesem Schritt installieren wir MariaDB und konfigurieren das Root-Passwort. Konfigurieren Sie dann eine neue Datenbank für die SuiteCRM-Installation.

Installieren Sie MariaDB mit dem folgenden apt-Befehl.

apt install -y mariadb-server mariadb-client

Starten Sie nach der Installation den Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet wird.

systemctl mysql starten
systemctl mysql aktivieren

Konfigurieren Sie als Nächstes das MariaDB-Root-Passwort mit dem Befehl „mysql_secure_installation“ wie unten beschrieben.

mysql_secure_installation

Sie werden nach der Konfiguration gefragt, geben Sie 'Y' ein und drücken Sie 'Enter'.

Root-Passwort setzen? [J/n] J
Neues Passwort:
Neues Passwort erneut eingeben:

Anonyme Benutzer entfernen? [Y/n] Y
Root-Login aus der Ferne nicht zulassen? [Y/n] Y
Testdatenbank entfernen und darauf zugreifen? [Y/n] Y
Berechtigungstabellen jetzt neu laden? [J/n] Ja

MariaDB-Root-Passwort wurde konfiguriert.

Jetzt erstellen wir eine neue Datenbank und einen neuen Benutzer für die SuiteCRM-Installation. Erstellen Sie eine Datenbank mit dem Namen „suitecrm_db“ und einen neuen Benutzer „crmadmin“ mit dem Passwort „hakase-labs123“. Verbinden Sie sich mit der MySQL-Shell und führen Sie die folgenden MySQL-Abfragen aus.

mysql -u root -p
Geben Sie Ihr Passwort ein:

CREATE DATABASE suitecrm_db;
CREATE USER 'crmadmin'@'localhost' IDENTIFIED BY 'hakase-labs123';
GEWÄHREN SIE ALLE PRIVILEGIEN AUF suitecrm_db.* ZU 'crmadmin'@'localhost';
FLUSH PRIVILEGES;

Die MariaDB-Datenbankkonfiguration für die SuiteCRM-Installation ist abgeschlossen.

Schritt 4 – SuiteCRM herunterladen und konfigurieren

In diesem Schritt werden wir einige Aufgaben erledigen, die das System für die SuiteCRM-Installation vorbereiten. Wir werden den SuiteCRM-Quellcode herunterladen, die UFW-Firewall konfigurieren, Letsencrypt-Zertifikate generieren und den virtuellen nginx-Host für SuiteCRM konfigurieren.

- SuiteCRM-Quellcode herunterladen

Der suiteCRM-Quellcode ist auf Github verfügbar. Stellen Sie sicher, dass der git-Befehl auf Ihrem System installiert ist. Oder wenn Sie kein Git-Paket haben, installieren Sie es mit dem folgenden apt-Befehl.

apt install -y git

Gehen Sie nun in das Verzeichnis ‚/opt‘ und klonen Sie das Repository mit dem folgenden git clone-Befehl.

cd /opt/
git-Klon https://github.com/salesagility/SuiteCRM.git suitecrm

Gehen Sie in das suitecrm-Verzeichnis und erstellen Sie ein neues ‚cache‘-Verzeichnis. Ändern Sie dann die Berechtigungen einiger Dateien und Verzeichnisse, und schließlich müssen wir die Eigentumsberechtigungen für das Verzeichnis „suitecrm“ auf „www-data“-Benutzer und -Gruppe ändern.

cd /opt/suitecrm
mkdir -p /opt/suitecrm/cache
chmod -R 775 cache benutzerdefinierte module themendaten hochladen config_override.php
chown www-data:www-data -R /opt/suitecrm

SuiteCRM-Quellcode wurde heruntergeladen.

- Konfigurieren Sie die UFW-Firewall

Auf Ubuntu verwenden wir die ufw-Firewall. Öffnen Sie die neuen HTTP-, HTTPS- und SSH-Ports mit den ufw-Befehlen wie unten gezeigt.

ufw erlaubt ssh
ufw erlaubt http
ufw erlaubt https

Starten Sie nun die Firewall und aktivieren Sie sie so, dass sie jedes Mal beim Systemstart mit dem Befehl ufw enable gestartet wird.

ufw aktivieren

Geben Sie „y“ ein und drücken Sie die Eingabetaste, um die Firewall zu aktivieren.

Wenn Sie den Firewall-Status überprüfen möchten, verwenden Sie den Befehl ufw status.

ufw-Status

Und Sie erhalten den Firewall-Status einschließlich der hinzugefügten Ports.

- Letsencrypt-Zertifikate generieren

In diesem Tutorial verwendet SuiteCRM HTTPS für eine sicherere Verbindung zwischen Client und Server. Zu diesem Zweck verwenden wir ein kostenloses SSL-Zertifikat von Letsencrypt.

Vor dem Generieren von Zertifikatsdateien müssen wir den letsencrypt-Client-Agent auf dem System installieren. Es ist im Ubuntu-Repository verfügbar, also installieren Sie es mit dem folgenden apt-Befehl.

apt install -y letsencrypt

Nach der Installation von letsencrypt müssen wir den nginx-Dienst stoppen, bevor wir Zertifikatsdateien generieren können.

systemctl stop nginx

Generieren Sie jetzt SSL-Zertifikatsdateien mit dem Befehl letsencrypt unten.

letsencrypt certonly --standalone -d suitecrm.hakase-labs.co

Hinweis: Die --eigenständige Option erstellt einen temporären Webserver auf dem System, daher müssen wir den Nginx-Webserver stoppen, bevor Zertifikatsdateien generiert werden.

Sie werden nach Ihrer E-Mail-Adresse für die Erneuerungsbenachrichtigung gefragt. Geben Sie Ihre E-Mail-Adresse ein und klicken Sie auf „OK“.

Wählen Sie für die Letsencrypt-Vereinbarung „Zustimmen“ und drücken Sie die Eingabetaste.

Neues Letsencrypt-SSL wurde im Verzeichnis ‚/etc/letsencrypt/live/domain.com‘ generiert.

- Konfigurieren Sie den virtuellen Nginx-Host für SuiteCRM

Wechseln Sie in das Nginx-Konfigurationsverzeichnis und erstellen Sie eine neue virtuelle Hostdatei „suitecrm“ im Verzeichnis „sites-available“.

cd /etc/nginx
vim sites-available/suitecrm

Fügen Sie dort die folgende Nginx-Konfiguration ein.

# Serverkonfiguration – hakase-labs
server {
    listen 80;
    server_name suitecrm.hakase-labs.co;

    # Automatisch auf HTTPS umleiten
    return 301 https://$host$request_uri;
}

# Nginx SSL for SuiteCRM
server {

    server_name suitecrm.hakase -labs.co;

    # HTTP2 aktivieren
    443 http2 ssl anhören;

    # SSL-Konfiguration
    ssl_certificate /etc/letsencrypt/live/suitecrm. hakase-labs.co/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/suitecrm.hakase-labs.co/privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!MD5;

    client_max_body_size 50M;

    index index.php index.html index.htm;
    root /opt/suitecrm;

    location / {
        root /opt/suitecrm;
        index index.php index.html index.htm;
    }
 
    error_page 500 502 503 504 /50x.html;
    error_log /var/log/nginx/suitecrm.irsyadf.me.error.log;

    location =/50x.html {
        root /var/www/html;
    }

    ## Bilder und statische Inhalte werden unterschiedlich behandelt
    location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|xml| svg|wgoff2)$ {
        access_log off;
        läuft maximal ab;
        root /opt/suitecrm;
    }

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

    location ~ /\.ht {
        alle ablehnen;
    }

}

Speichern und beenden.

Aktivieren Sie nun den virtuellen Host, testen Sie die Konfiguration und stellen Sie sicher, dass kein Fehler vorliegt. Starten Sie dann den Webserver neu.

ln -s /etc/nginx/sites-available/suitecrm /etc/nginx/sites-enabled/

nginx -t
systemctl restart nginx

Die Systemkonfiguration für die SuiteCRM-Installation ist abgeschlossen.

Schritt 5 – SuiteCRM-Web-Installer

Öffnen Sie Ihren Webbrowser und geben Sie die SuiteCRM-URL in die Adressleiste ein, meine ist suitecrm.hakase-labs.co

Sie werden auf die HTTPS-Verbindung und die Seite install.php umgeleitet.

Auf der angezeigten Seite sehen Sie die GNU AFFERO-Lizenz – aktivieren Sie „Ich akzeptiere“ und klicken Sie auf „Weiter“.

Jetzt erhalten Sie die Seite über die Systemumgebung für die SuiteCRM-Installation.

Stellen Sie sicher, dass alle Ergebnisse 'OK' sind, wie im Bild unten gezeigt.

Klicken Sie auf „Weiter“, um fortzufahren.

Als nächstes kommt die Datenbank- und Admin-Benutzerkonfiguration. Geben Sie Ihre Datenbankinformationen ein, dbname 'suitecrm_db', dbuser 'crmadmin' mit dem Passwort 'hakase-labs123'. Geben Sie Ihren Admin-Benutzer, Ihr Passwort und Ihre E-Mail-Adresse wie unten gezeigt ein.

Scrollen Sie nach unten und klicken Sie auf „Weiter“, um mit der Installation von SuiteCRM fortzufahren.

Warten Sie einen Moment auf die Installation, und wenn sie abgeschlossen ist, werden Sie wie unten beschrieben auf die Anmeldeseite weitergeleitet.

Geben Sie Ihren Admin-Benutzer und Ihr Passwort ein und klicken Sie auf die Schaltfläche „Anmelden“.

Jetzt können Sie das standardmäßige SuiteCRM-Dashboard sehen.

SuiteCRM wurde mit dem Nginx-Webserver auf dem Ubuntu 16.04-System installiert.

Schritt 6 – Letzte Schritte

Für diesen letzten Schritt erstellen wir einen neuen Cron-Job unter www-data user.

Führen Sie den folgenden Befehl aus, um einen neuen Cron-Job hinzuzufügen.

sudo crontab -e -u www-data

Fügen Sie die Konfiguration des Cron-Skripts unten ein.

*    *    *    *    *     cd /opt/suitecrm; php -f cron.php>
 /dev/null 2>&1

Speichern und schließen. Starten Sie dann den Cron-Dienst neu.

systemctl startet Cron neu

Die SuiteCRM-Installation auf Ubuntu 16.04 ist abgeschlossen.


Ubuntu
  1. So installieren Sie Nextcloud mit Nginx auf Ubuntu 18.04 LTS

  2. So installieren Sie MediaWiki mit Nginx unter Ubuntu 16.04

  3. So installieren Sie Magento 2 mit Nginx und Letsencrypt unter Ubuntu 18.04

  4. So installieren Sie Magento mit Nginx unter Ubuntu 15.10

  5. So installieren Sie Mailpile mit Nginx unter Ubuntu 15.10

So installieren Sie Nginx mit ModSecurity unter Ubuntu 15.04

So installieren Sie mehrere WordPress mit Nginx unter Ubuntu 18.04

So installieren Sie SuiteCRM auf Ubuntu 20.04 mit Apache/Nginx

So installieren Sie Nextcloud 13 auf Ubuntu 16.04 mit Nginx

So installieren Sie Nginx unter Ubuntu 15.04

So installieren Sie SuiteCRM auf Ubuntu 20.04