So installieren Sie SuiteCRM mit Nginx auf Ubuntu 16.04 LTS

SuiteCRM ist eine Open-Source-CRM-Software (Customer Relationship Management) auf Basis von PHP. Es ist ein Teil der beliebten CRM-Software’SugarCRM‘ und wurde immer beliebter, nachdem’SugarCRM‘ beschlossen hat, die Entwicklung der kostenlosen Version einzustellen. SuiteCRM wurde auf der BOSSIE 2015 und 2016 als beste Open Source CRM-Software nominiert.

In diesem Tutorial zeige ich Ihnen Schritt für Schritt, wie Sie das Open-Source-CRM’SuiteCRM‘ installieren. Die Software wird auf dem Nginx-Webserver mit MariaDB-Datenbank und dem System Ubuntu 16.04 laufen.

Was wir tun werden

  1. Nginx Webserver installieren
  2. Installation und Konfiguration von 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 werden wir den Nginx-Webserver anstelle des Apache-Webservers verwenden.

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

ssh root@hakase-labs.co
sudo apt update

Installieren Sie nun den Nginx-Webserver mit dem Befehl apt wie folgt.

apt install -y nginx

Starten Sie nach der Installation nginx und aktivieren Sie es so, dass es jedes Mal beim Systemstart automatisch startet.

systemctl start nginx
systemctl enable nginx

Der Nginx-Webserver ist installiert und läuft unter dem standardmäßigen HTTP-Port 80. Überprüfen Sie dies mit dem Befehl netstat, oder verwenden Sie curl, um den HTTP-Statuscode anzuzeigen.

netstat -plntu
curl -I localhost

Nginx installieren

Schritt 2 – Installation und Konfiguration von PHP-FPM

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

Nachdem die Installation abgeschlossen ist, gehen Sie in das PHP-Konfigurationsverzeichnis und bearbeiten Sie die php.ini-Dateien für die Konfiguration von ‚cli‘ und ‚fpm‘.

cd /etc/php/7.0/

Bearbeiten Sie php.ini-Dateien.

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

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

upload_max_filesize = 100M

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

cgi.fix_pathinfo=0

Entkommentieren Sie für die Konfiguration des Sitzungspfades die folgende Zeile.

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

Das ist es. Das ist es. Speichern Sie diese Änderungen und verlassen Sie das Programm.

Nun müssen wir ein neues Verzeichnis für PHP-Sitzungsdateien erstellen und den Besitzer 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 PHP- und PHP-FPM-Konfiguration ist abgeschlossen. Starten Sie nun den Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet werden kann.

systemctl start php7.0-fpm
systemctl enable 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 dies mit dem Befehl netstat unten.

netstat -pl | grep php

Und stellen Sie sicher, dass das Ergebnis, das Sie sehen, dem entspricht, was im folgenden Screenshot gezeigt wird.

PHP installieren

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 Befehl apt unten.

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 werden kann.

systemctl start mysql
systemctl enable mysql

Als nächstes konfigurieren Sie das MariaDB-Rootpasswort 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‘.

Set root password? [Y/n] Y
 New password:
 Re-enter new password:

Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Das MariaDB Root-Passwort wurde konfiguriert.

Jetzt werden wir eine neue Datenbank und einen neuen Benutzer für die SuiteCRM-Installation erstellen. Erstellen Sie eine Datenbank namens’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
Type your password:
CREATE DATABASE suitecrm_db;
CREATE USER 'crmadmin'@'localhost' IDENTIFIED BY 'hakase-labs123';
GRANT ALL PRIVILEGES ON suitecrm_db.* TO 'crmadmin'@'localhost';
FLUSH PRIVILEGES;

Installation und Konfiguration der MariaDB-Datenbank

Die Konfiguration der MariaDB-Datenbank für die SuiteCRM-Installation ist abgeschlossen.

Schritt 4 – SuiteCRM herunterladen und konfigurieren

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

– SuiteCRM Quellcode herunterladen

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

apt install -y git

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

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

Gehen Sie in das Verzeichnis suitecrm und erstellen Sie ein neues Verzeichnis „Cache“. Dann ändern Sie die Berechtigung einiger Dateien und Verzeichnisse, und schließlich müssen wir die Eigentumsberechtigungen für das Verzeichnis „suitecrm“ auf „wwww-data“ Benutzer und Gruppe ändern.

cd /opt/suitecrm
mkdir -p /opt/suitecrm/cache
chmod -R 775 cache custom modules themes data upload config_override.php
chown www-data:www-data -R /opt/suitecrm

SuiteCRM herunterladen und installieren

SuiteCRM-Quellcode wurde heruntergeladen.

– UFW Firewall konfigurieren

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

ufw allow ssh
ufw allow http
ufw allow 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 enable

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

UFW Firewall konfigurieren

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 von Ihnen hinzugefügten Ports.

Firewall Status

– Generieren von Letsencrypt-Zertifikaten

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

Bevor wir Zertifikatsdateien erzeugen können, müssen wir letsencrypt client agent auf dem System installieren. Es ist im Ubuntu-Repository verfügbar, also installieren Sie es mit dem untenstehenden Befehl apt.

apt install -y letsencrypt

Nach der Installation von letsencrypt müssen wir den nginx-Dienst stoppen, bevor wir Zertifikatsdateien erzeugen.

systemctl stop nginx

Erzeugen Sie nun SSL-Zertifikatsdateien mit dem Befehl letsencrypt unten.

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

Hinweis: Die Option –standalone erstellt einen temporären Webserver auf dem System, daher müssen wir den Nginx-Webserver stoppen, bevor wir Zertifikatsdateien erzeugen.

Sie werden nach Ihrer E-Mail-Adresse für die Verlängerung der Benachrichtigung gefragt. Geben Sie Ihre E-Mail-Adresse ein und klicken Sie auf „OK“.

Erstellen Sie Let's Encrypt Zertifikat

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

Lizenzvereinbarung akzeptieren

Neue Letsencrypt SSL wurde im Verzeichnis’/etc/letsencrypt/live/domain.com‘ generiert.

SSL-Zertifikat wurde generiert

– Nginx Virtual Host für SuiteCRM konfigurieren

Gehen 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.

# Server Config - hakase-labs
 server {
     listen 80;
     server_name suitecrm.hakase-labs.co;
# Automatically redirect to HTTPS
return 301 https://$host$request_uri;
}

# Nginx SSL for SuiteCRM
server {

server_name suitecrm.hakase-labs.co;

# Enable http2
listen 443 http2 ssl;

# SSL Config
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;
}

## Images and static content is treated different
location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|xml|svg|wgoff2)$ {
access_log off;
expires max;
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 {
deny all;
}

}

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

Konfigurieren der Virtualhost-Datei

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 zur HTTPS-Verbindung und zur Seite install.php weitergeleitet.

Auf der erscheinenden Seite sehen Sie die GNU AFFERO Lizenz – überprüfen Sie die Option’Ich akzeptiere‘ und klicken Sie auf’Weiter‘.

SuiteCRM-Installation

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

Vergewissern Sie sich, dass alle Ergebnisse“OK“ sind, wie in der Abbildung unten gezeigt.

System check

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 Passwort ‚hakase-labs123‘. Geben Sie Ihren Admin-Benutzer, Ihr Passwort und Ihre E-Mail-Adresse wie unten gezeigt ein.

Datenbank- und Standortkonfiguration

Scrollen Sie nach unten und klicken Sie auf „Weiter“, um die Installation von SuiteCRM fortzusetzen.

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

SuiteCRM-Anmeldung

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 dashboard

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 unten die Konfiguration des Cron-Skripts ein.

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

Speichern und beenden. Starten Sie dann den Cron-Dienst neu.

systemctl restart cron

Die SuiteCRM-Installation auf Ubuntu 16.04 ist abgeschlossen.

Referenz

Das könnte Dich auch interessieren …