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
- Nginx Webserver installieren
- Installation und Konfiguration von PHP-FPM
- MariaDB installieren und konfigurieren
- SuiteCRM herunterladen und konfigurieren
- SuiteCRM Web-Installer
- 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
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.
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;
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-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.
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.
– 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“.
Wählen Sie für die Letsencrypt-Vereinbarung’Zustimmen‘ und drücken Sie die Eingabetaste.
Neue Letsencrypt SSL wurde im Verzeichnis’/etc/letsencrypt/live/domain.com‘ 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
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‘.
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.
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.
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.
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 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.