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
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“.
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
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“.
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.
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.
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;
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.
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
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.
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.
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.
Nachdem die Abhängigkeiten installiert sind, siehst du die folgende Ausgabe:
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.
Unten siehst du den Prozess beim Kompilieren der statischen Dateien.
Wenn die statischen Dateien kompiliert sind, siehst du eine Meldung wie„Compiled Successfully in ...“.
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
Sobald die Datenbank migriert ist, siehst du eine Ausgabe wie die folgende:
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.
Nachdem sich der Benutzer registriert hat, siehst du das Monica CRM Benutzer-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.