So installierst du Monica Personal Relationship Manager unter Debian 11

Monica CRM ist ein kostenloses und quelloffenes CRM (Customer Relationship Manager), das in PHP geschrieben wurde. Monica CRM hilft dir, persönliche Ereignisse, Aktivitäten, Arbeitsinformationen, Kontakte, Journale, Notizen und vieles mehr zu verwalten.

Monica CRM bietet so viele Funktionen wie die Verwaltung von Kontakten und die Beziehungen zwischen Kontakten, Erinnerungen, Aktivitäten und Aufgaben, grundlegende Journalfunktionen, den Import und Export von Daten, das Hochladen von Mediendateien wie Dokumente und Fotos und vieles mehr. Es kann auf verschiedene Arten installiert werden: über Docker, manuell auf dem Server (VPS) oder über PaaS (Platform as a Service).

In dieser Anleitung erfährst du, wie du den Personal Relationship Manager Monica CRM auf einem Debian 11 Server installierst. Außerdem installierst und konfigurierst du den LEMP-Stack (Nginx, MariaDB, PHP-FPM), installierst PHP-Abhängigkeiten über Composer und installierst und kompilierst statische Assets mit Node.js und Yarn.

Voraussetzungen

Damit dieses Tutorial funktioniert, brauchst du einen Debian 11-Server und musst den Nicht-Root-Benutzer mit Root- oder Administrator-Rechten konfigurieren. Wenn du den Einsatz in der Produktion planst, brauchst du außerdem einen Domainnamen, der auf die IP-Adresse deines Debian-Servers zeigt. Außerdem wird empfohlen, die Firewall auf deinem Debian-Produktionsserver zu aktivieren.

Installation des Nginx Webservers

Monica CRM ist eine Webanwendung, die hauptsächlich in PHP geschrieben wurde. Um Monica CRM zu installieren, kannst du einen Webserver wie Apache2, Nginx oder Caddy Webserver verwenden.

In dieser Anleitung wirst du Monica CRM mit dem Nginx-Webserver ausführen. Daher wirst du jetzt Nginx-Pakete auf deinem Debian-Server installieren.

Bevor du mit der Installation der Pakete beginnst, führe den folgenden apt-Befehl aus, um den Debian-Paketindex zu aktualisieren und aufzufrischen.

sudo apt update

Jetzt installierst du die Nginx-Pakete mit dem folgenden apt-Befehl. Wenn du aufgefordert wirst, die Installation zu bestätigen, gib Y ein und drücke ENTER, um fortzufahren.

sudo apt install nginx

nginx installieren

Sobald Nginx installiert ist, überprüfe den Dienst„nginx“ mit dem Befehl systemctl.

sudo systemctl is-enabled nginx
sudo systemctl status nginx

Du siehst nun, dass der „nginx“-Dienst aktiviert ist und beim Systemstart automatisch ausgeführt wird. Und der Status des Nginx-Dienstes lautet jetzt „running“.

nginx installieren

Installation von MariaDB Server

Das Monica CRM unterstützt MySQL/MariaDB für die Installation. Jetzt wirst du MariaDB auf deinem Debian-Server installieren. Außerdem sicherst du den Einsatz des MariaDB-Servers mit dem Skript „mysql_secure_installation“ ab.

Installiere den MariaDB-Server mit dem unten stehenden apt-Befehl. Wenn du aufgefordert wirst, die Installation zu bestätigen, gibst du Y ein und drückst ENTER, um fortzufahren.

sudo apt install mariadb-server

mariadb installieren

Wenn MariaDB installiert ist, überprüfe den MariaDB-Dienst und stelle sicher, dass der Dienst läuft. Führe den folgenden systemctl-Befehl aus.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Du wirst sehen, dass der MariaDB-Server aktiviert ist und beim Systemstart automatisch ausgeführt wird. Und der aktuelle Status des MariaDB-Dienstes ist „running“.

mariadb prüfen

Als Nächstes sicherst du den Einsatz des MariaDB-Servers mit dem Skript„mysql_secure_installation„, das in den MariaDB-Paketen enthalten ist.

Führe den folgenden Befehl aus, um den MariaDB-Einsatz zu sichern.

sudo mysql_secure_installation

Du wirst nach mehreren MariaDB-Konfigurationen gefragt:

  • Authentifizierung auf unix_socket ändern? input n.
  • Ändern Sie das MariaDB Root-Passwort? Geben Sie zur Bestätigung y ein, geben Sie das neue Passwort für Ihren MariaDB-Server ein und wiederholen Sie das Passwort.
  • Deaktiviere die Fernanmeldung des Root-Benutzers? gib zur Bestätigung y ein – der Root-Benutzer sollte sich nicht aus der Ferne anmelden dürfen.
  • Entferne die Standarddatenbank ‚test‘? gib y ein, um zu bestätigen und die Testdatenbank zu entfernen.
  • Zum Schluss gibst du y ein, um die Berechtigungen für die Tabellen neu zu laden und die neuen Änderungen anzuwenden.

Der MariaDB-Server ist nun installiert und gesichert.

Installieren und Konfigurieren von PHP-FPM 8.1

Monica CRM ist eine Webanwendung, die auf PHP basiert. Daher musst du PHP-Pakete auf deinem Debian-Server installieren. Die aktuelle Version von Monica CRM benötigt mindestens PHP v8.1 oder neuer.

Für das Debian 11-System installierst du die PHP 8.1-Pakete über ein Drittanbieter-Repository. Du installierst nun PHP-FPM 8.1 über das sury.org-Repository und konfigurierst deine PHP-Installation entsprechend den Anforderungen von Monica CRM.

Führe den folgenden Befehl aus, um das PHP 8.1-Repository zu deinem Debian-Server hinzuzufügen.

curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x

Du wirst sehen, dass das neue Repository für PHP 8.1 hinzugefügt wurde und der Paketindex automatisch aktualisiert wird.

php repo hinzufügen

Als Nächstes installierst du die PHP-FPM 8.1-Pakete mit dem unten stehenden apt-Befehl.

sudo apt install php8.1 php8.1-cli php8.1-fpm php8.1-common php8.1-mbstring php8.1-xml php8.1-mysql php8.1-curl php8.1-zip php8.1-intl php8.1-bcmath php8.1-gd php8.1-gmp php8.1-redis

Gib Y ein, um die Installation zu bestätigen und drücke ENTER, um fortzufahren.

php installieren

Sobald PHP 8.1 installiert ist, bearbeite die Konfigurationsdatei„/etc/php/8.1/fpm/php.ini“ mit dem Editor nano.

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

Ändere die Standard-PHP-Konfiguration mit den folgenden Einstellungen.

date.timezone = Europe/Paris
max_execution_time = 130
memory_limit = 256M
post_max_size = 128M
upload_max_filesize = 128M

Speichere die Datei und schließe den Editor, wenn du fertig bist.

Starte als Nächstes den PHP-FPM 8.1-Dienst neu, um die Änderungen mit dem folgenden systemctl-Befehl zu übernehmen.

sudo systemctl restart php8.1-fpm

Führe abschließend den folgenden systemctl-Befehl aus, um den PHP-FPM 8.1-Dienst zu überprüfen und sicherzustellen, dass der Dienst aktiviert ist und läuft.

sudo systemctl is-enabled php8.1-fpm
sudo systemctl status php8.1-fpm

Du wirst sehen, dass PHP-FPM 8.1 aktiviert ist und beim Systemstart automatisch ausgeführt wird. Der aktuelle Status des PHP-FPM 8.1-Dienstes ist „running“.

Der LEMP Stack ist nun installiert und konfiguriert. Als Nächstes legst du eine neue Datenbank und einen Benutzer für Monica CRM an.

MariaDB-Datenbank und -Benutzer einrichten

Um die MariaDB-Datenbank und den Benutzer für die Monica CRM-Installation einzurichten, musst du dich in die MariaDB-Shell einloggen.

Melde dich mit dem unten stehenden Befehl mysql in der MariaDB-Shell an.

sudo mysql -u root -p

Führe die folgenden Abfragen aus, um eine neue Datenbank und einen neuen Benutzer für Monica CRM zu erstellen. Für diese Anleitung erstellst du eine neue Datenbank monicacrm_dbmit dem MariaDB-Benutzer monica@localhost. Ändere auch das Passwort mit dem neuen Passwort.

CREATE DATABASE monicacrm_db;
CREATE USER monica@localhost;
GRANT ALL ON monicacrm_db.* TO 'monica'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Datenbank erstellen

Als Nächstes führst du die folgende Abfrage aus, um die Berechtigungen des MariaDB-Benutzers monica@localhost zu überprüfen.

SHOW GRANTS FOR monica@localhost;
quit

Du wirst sehen, dass der MariaDB-Benutzer monica@localhost auf die Monica CRM-Datenbank monicacrm_db zugreifen darf.

Benutzerberechtigungen prüfen

Installation von Composer

Nachdem du die MariaDB-Datenbank und den Benutzer konfiguriert hast, installierst du nun den Composer, mit dem du die PHP-Abhängigkeiten für Monica CRM installierst.

Installiere Composer mit dem unten stehenden einzeiligen Befehl. Dieser Befehl lädt das Installer-Skript für Composer herunter und führt es aus. Dann installierst du den Composer unter /usr/bin/composer.

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer

Komponist installieren

Sobald der Composer installiert ist, überprüfe ihn mit dem folgenden composer-Befehl. Du solltest die detaillierte Version des Composers und die Hilfeseite zur Verwendung des Composers sehen.

sudo -u www-data composer -v

Installation von Node.js und Yarn

Nachdem du Composer installiert hast, installierst du nun Node.js und Yarn. Beide Pakete werden verwendet, um statische Dateien für Monica CRM zu kompilieren. Und die aktuelle Version von Monica CRM benötigt mindestens Node.js v16.

Das Standard-Debian-Repository stellt Node.js v12 bereit, also installierst du die neueste Version von Node.js über das Drittanbieter-Repository Nodesource.

Führe den folgenden Befehl aus, um das Node.js-Repository Nodesource hinzuzufügen. In diesem Beispiel wirst du Node.js v16 installieren.

curl -fsSL https://deb.nodesource.com/setup_16.x | bash -

Jetzt siehst du, dass das Nodesource-Repository zu deinem Debian-System hinzugefügt und der Paketindex aktualisiert wurde.

nodejs repo

Als Nächstes führst du den folgenden Befehl aus, um das Yarn-Paketdepot zu deinem System hinzuzufügen.

curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

Aktualisiere nun deinen Debian-Paketindex. Dann installierst du Node.js und Yarn mit dem folgenden apt-Befehl.

sudo apt update
sudo apt install nodejs yarn

Gib y ein, um die Installation zu bestätigen, und drücke ENTER, um die Installation fortzusetzen.

nodejs yarn installieren

Nachdem Node.js und Yarn installiert sind, führe den folgenden Befehl aus, um die Binärdatei der beiden Anwendungen zu überprüfen.

which node
which yarn

Überprüfe abschließend die Version von Node.js und Yarn mit dem folgenden Befehl. In der Ausgabe siehst du die installierte Version von Node.js und Yarn.

node --version
yarn --version

Jetzt sind die Paketabhängigkeiten für Monica CRM installiert. Als Nächstes startest du die Installation von Monica CRM, indem du den Quellcode herunterlädst, die Paketabhängigkeiten über Composer installierst und dann die statischen Dateien mit Node.js und Yarn kompilierst.

Installation von Monica CRM

Jetzt beginnst du mit der Installation von Monica CRM. Du lädst den Quellcode herunter, richtest die richtigen Berechtigungen und Eigentümer ein, installierst die PHP-Abhängigkeiten über Composer, installierst und generierst statische Dateien über Yarn und Node.js, generierst den Anwendungsschlüssel und migrierst die Datenbank für die Produktion.

Bevor du mit der Installation beginnst, solltest du sicherstellen, dass das Git-Paket installiert ist. Falls nicht, kannst du es mit dem unten stehenden apt-Befehl installieren.

sudo apt install git -y

Verschiebe nun das Arbeitsverzeichnis nach„/var/www/“ und lade den Monica CRM-Quellcode mit dem git-Befehl herunter (siehe unten). Du wirst das neue Verzeichnis„monica“ sehen.

cd /var/www/
git clone https://github.com/monicahq/monica.git

Wechsle in das Verzeichnis„/var/www/monica“ und verschiebe den Master-Zweig auf die spezielle Version„3.7.0„. Du kannst die GitHub-Seite von Monica CRM besuchen, um detaillierte Versionen von Monica CRM zu erhalten.

cd /var/www/monica
git checkout tags/v3.7.0

Als nächstes kopierst du die Standardkonfiguration .env.example nach .env. Ändere dann den Eigentümer auf„www-data„.

cp /var/www/monica/.env.example /var/www/monica/.env
sudo chown www-data:www-data /var/www/monica/.env

Bearbeite die Datei .env mit dem Editor nano.

nano /var/www/monica/.env

Ändere die„APP_ENV“ in „production“ und die„APP_URL“ in den Domainnamen deiner Monica CRM-Installation. Ändere dann die Details der MariaDB-Datenbank mit der Datenbank und dem Benutzer, die du zuvor erstellt hast.

APP_ENV=production
...
APP_URL=https://hwdomain.io/
...
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
...
DB_DATABASE=monica
DB_USERNAME=homestead
DB_PASSWORD=password

Speichere die Datei und beende den Editor, wenn du fertig bist.

Führe nun den folgenden Befehl aus, um den Eigentümer des Monica CRM-Installationsverzeichnisses „/var/www/monica“ auf den Benutzer www-datazu ändern. Dann erstellst du ein weiteres Verzeichnis „/var/www/.cache“ und änderst die Eigentümerschaft auf www-data.

sudo chown -R www-data:www-data /var/www/monica

sudo mkdir -p /var/www/.cache
sudo chown -R www-data:www-data /var/www/.cache

Als nächstes führst du den folgenden Composer-Befehl aus, um die PHP-Paketabhängigkeiten für Monica CRM zu installieren.

sudo -u www-data composer install --no-interaction --no-dev

Unten siehst du die Installation der PHP-Abhängigkeiten.

Abhängigkeiten installieren

Nachdem die Abhängigkeiten installiert sind, siehst du die folgende Ausgabe:

Installation abgeschlossen

Als Nächstes erstellst du ein neues Verzeichnis, in dem der Cache der JavaScript-Pakete gespeichert wird. Dann änderst du die Eigentümerschaft auf www-data.

sudo mkdir -p /var/www/.yarn
sudo chown -R www-data:www-data /var/www/.yarn

Danach installierst du die JavaScript-Pakete für die Monica CRM-Webanwendungen und generierst mit dem unten stehenden Befehl yarn statische Dateien für die Produktionsumgebung.

sudo -u www-data yarn install
sudo -u www-data yarn run production

Unten siehst du den Download-Prozess der JavaScript-Pakete.

Abhängigkeiten installieren

Unten siehst du den Prozess beim Kompilieren der statischen Dateien.

Kompilieren statischer Dateien

Wenn die statischen Dateien kompiliert sind, siehst du eine Meldung wie„Compiled Successfully in ...“.

generierte statische Dateien

Führe nun den folgenden Befehl aus, um den Anwendungsschlüssel für Monica CRM zu erzeugen. Migriere dann die Datenbank für die Produktion. Wenn du aufgefordert wirst, die Aktion zu bestätigen, gib„Ja“ ein und drücke ENTER, um fortzufahren.

sudo -u www-data php artisan key:generate
sudo -u www-data php artisan setup:production -v

App-Schlüssel erzeugen und Datenbank migrieren

Sobald die Datenbank migriert ist, siehst du eine Ausgabe wie die folgende:

migrierte Datenbank

Um die Konfiguration von Monica CRM abzuschließen, musst du außerdem einen Cronjob erstellen. Führe den folgenden Befehl aus, um einen neuen Cronjob für den Benutzer www-data zu erstellen.

crontab -u www-data -e

Wähle deinen bevorzugten Editor und füge die folgende Konfiguration in die Datei ein.

* * * * *   /usr/bin/php /var/www/monica/artisan schedule:run >> /dev/null 2>&1

Speichere die Datei und beende den Editor, wenn du fertig bist.

Um die Berechtigung des Monica CRM-Installationsverzeichnisses sicherzustellen, führe den folgenden Befehl aus, um den Eigentümer auf www-data zu ändern. Ändere dann die Berechtigung für das Verzeichnis„storage“ auf 775.

sudo chown -R www-data:www-data /var/www/monica
sudo chmod -R 775 /var/www/monica/storage

Jetzt hast du die Konfiguration von Monica CRM abgeschlossen. Als Nächstes richtest du den Nginx-Serverblock für Monica CRM ein.

Nginx Server-Block einrichten

Bevor du den Nginx-Serverblock einrichtest, musst du sicherstellen, dass dein Domainname auf die IP-Adresse des Servers zeigt und dass du bereits SSL-Zertifikate hast. Wenn du keine SSL-Zertifikate hast, kannst du kostenloses SSL über Let’sencrypt generieren.

Erstelle eine neue Datei„/etc/nginx/sites-available/monicacrm“ mit dem Editor nano.

sudo nano /etc/nginx/sites-available/monicacrm

Füge die unten stehenden Nginx-Konfigurationen hinzu. Achte darauf, dass du den Domainnamen und den Pfad der SSL-Zertifikate änderst.

server {
listen 80;
server_name hwdomain.io;
return 301 https://$host$request_uri;

}

server {
listen 443 ssl http2;

ssl_certificate /etc/letsencrypt/live/hwdomain.io/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/hwdomain.io/private.key;

server_name hwdomain.io;
root /var/www/monica/public;

index index.php;

location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
}
}

Speichere die Datei und beende den Editor, wenn du fertig bist.

Als Nächstes führst du den folgenden Befehl aus, um den Nginx-Serverblock„monicacrm“ zu aktivieren. Überprüfe dann die Nginx-Konfiguration, um sicherzustellen, dass du die richtige Konfiguration hast.

sudo ln -s /etc/nginx/sites-available/monicacrm /etc/nginx/sites-enabled/
sudo nginx -t

Wenn du Nginx richtig konfiguriert hast, solltest du die Meldung„Syntax OK – Test erfolgreich“ sehen.

Führe nun den folgenden systemctl-Befehl aus, um den Nginx-Dienst neu zu starten und die Konfiguration des Nee-Server-Blocks anzuwenden.

sudo systemctl restart nginx

Deine Monica CRM-Installation ist jetzt über den Webbrowser zugänglich.

Fertigstellen

Öffne den Webbrowser und rufe den Domainnamen deiner Monica CRM-Installation auf (z.B.: https://hwdomain.io/). Bei der Ersteinrichtung musst du ein Konto für deine Monica CRM-Installation registrieren.

Gib den detaillierten Benutzernamen, das Passwort und die E-Mail-Adresse ein. Klicke dann auf Registrieren.

Benutzer einrichten

Nachdem sich der Benutzer registriert hat, siehst du das Monica CRM Benutzer-Dashboard.

Dashboard

Fazit

In diesem Lernprogramm hast du Monica CRM auf dem Debian 11 Server installiert. Außerdem hast du den LEMP-Stack (Nginx, MariaDB und PHP-FPM) auf dem Debian-Server konfiguriert, die PHP-Paketverwaltung Composer installiert und Node.js und Yarn installiert.

Während dieses Tutorials hast du nun das Monica CRM installiert und über HTTPS-Verbindungen gesichert. Jetzt kannst du damit beginnen, deine Kontakte zu organisieren, Journale zu erstellen und alle wichtigen Informationen über deine Kontakte zu verfolgen.

Das könnte dich auch interessieren …