Wie man Monica Personal Relationship Manager auf CentOS 8 installiert

Monica ist eine Open-Source-Webanwendung für das Personal Relationship Management (PRM), die zur Organisation von Interaktionen mit Ihren Lieben entwickelt wurde. Stellen Sie sich das Programm als ein CRM (ein beliebtes Tool, das von Vertriebsteams in der Unternehmenswelt verwendet wird) für Ihre Freunde oder Ihre Familie vor. Monica ermöglicht es Menschen, alles Wichtige über ihre Freunde und Familie im Auge zu behalten. Wie die Aktivitäten, die mit ihnen durchgeführt werden. Wann Sie das letzte Mal jemanden angerufen haben. Worüber Sie gesprochen haben. Sie hilft Ihnen, sich an den Namen und das Alter der Kinder zu erinnern. Es kann Sie auch daran erinnern, jemanden anzurufen, mit dem Sie eine Weile nicht gesprochen haben. Dieses Tutorial geht auf die Installation von Monica unter CentOS 8 ein.

Merkmale

  • Kontakte hinzufügen und verwalten
  • Definieren Sie Beziehungen zwischen Kontakten
  • Erinnerungen
  • Automatische Erinnerungen für Geburtstage
  • Bleiben Sie mit einem Kontakt in Kontakt, indem Sie in einem bestimmten Intervall Erinnerungen senden.
  • Verwaltung der Schulden
  • Fähigkeit, einem Kontakt Notizen hinzuzufügen
  • Fähigkeit, anzugeben, wie Sie jemanden kennengelernt haben
  • Verwaltung von Aktivitäten, die mit einem Kontakt durchgeführt werden
  • Verwaltung der Aufgaben
  • Verwaltung von Geschenken
  • Verwaltung von Adressen und all die verschiedenen Möglichkeiten, jemanden zu kontaktieren
  • Verwaltung von Kontaktfeldtypen
  • Verwaltung von Kontakt-Haustieren
  • Einfache Zeitschrift
  • Fähigkeit, den Verlauf des Tages anzugeben
  • Dokumente und Fotos hochladen
  • Export und Import von Daten
  • Kontakt als vCard exportieren
  • Fähigkeit, benutzerdefinierte Geschlechter festzulegen
  • Fähigkeit, benutzerdefinierte Aktivitätsarten zu definieren
  • Fähigkeit zu bevorzugten Kontakten
  • Verfolgen Sie Gespräche, die in sozialen Medien oder per SMS geführt werden.
  • Mehrfachnutzer
  • Etiketten zur Organisation von Kontakten
  • Fähigkeit zu definieren, welcher Abschnitt auf dem Kontaktbogen erscheinen soll
  • Mehrere Währungen
  • Mehrsprachig
  • Eine API, die den Großteil der Daten abdeckt

Anforderungen

  • CentOS 8
  • Git
  • NPM (Knoten-Paket-Manager)
  • PHP Version 7.1 oder neuer
  • MySQL
  • HTTP-Server mit PHP-Unterstützung (z.B.: Apache, Nginx, Caddy…)
  • Komponist
  • Fakultativ: Redis oder Bohnenstange

Voraussetzungen

  • Ein CentOS 8 Betriebssystem.
  • Ein Nicht-Root-Benutzer mit sudoBerechtigungen.

Erste Schritte

Überprüfen Sie Ihre CentOS-Version:

cat /etc/centos-release
# CentOS Linux release 8.0.1905 (Core)

Richten Sie die Zeitzone ein:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Aktualisieren Sie Ihre Betriebssystempakete (Software). Dies ist ein wichtiger erster Schritt, da er sicherstellt, dass Sie über die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems verfügen:

sudo yum update -y

Installieren Sie einige wichtige Pakete, die für die grundlegende Verwaltung des CentOS-Betriebssystems erforderlich sind:

sudo yum install -y curl wget vim git unzip socat bash-completion epel-release gcc-c++ make libpng-devel

Schritt 1 – PHP installieren

Installieren Sie PHP, sowie die erforderlichen PHP-Erweiterungen:

sudo yum install -y php php-cli php-fpm php-common php-mbstring php-xml php-mysqlnd php-curl php-zip php-intl php-bcmath php-gd php-json php-gmp

Um in Modulen kompiliertes PHP anzuzeigen, können Sie es ausführen:

php -m
ctype
curl
exif
fileinfo
. . .
. . .

Prüfen Sie die PHP-Version:

php --version

# PHP 7.2.11-1-(cli) (built: Oct 26 2019 14:14:18) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.11, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.3.11-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies

Starten und aktivieren Sie den PHP-FPM-Dienst:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Schritt 2 – Installieren Sie den acme.sh-Client und erhalten Sie das Let’s Encrypt-Zertifikat ( optional )

Die Sicherung Ihrer Website mit HTTPS ist nicht notwendig, aber es ist eine gute Praxis, um den Verkehr Ihrer Website zu sichern. Um ein TLS-Zertifikat von Let’s Encrypt zu erhalten, werden wir den acme.sh-Client verwenden. Acme.sh ist eine einfache UNIX-Shell-Software, um TLS-Zertifikate von Let’s Encrypt ohne Abhängigkeiten zu erhalten.

Laden Sie acme.sh herunter und installieren Sie es:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~

Überprüfen Sie die Version von acme.sh:

acme.sh --version
# v2.8.2

Erhalten Sie RSA- und ECC/ECDSA-Zertifikate für Ihre Domain/Hostnamen:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Wenn Sie gefälschte Zertifikate zum Testen wünschen, können Sie den oben genannten Befehlen ein --stagingKennzeichen hinzufügen.

Nachdem Sie die oben genannten Befehle ausgeführt haben, sind Ihre Zertifikate und Schlüssel in:

  • Für RSA: /home/username/example.comVerzeichnis.
  • Für ECC/ECDSA: /home/username/example.com_eccVerzeichnis.

Um Ihre ausgestellten Zertifikate aufzulisten, können Sie diese ausführen:

acme.sh --list

Erstellen Sie ein Verzeichnis zur Speicherung Ihrer Zertifikate. Wir werden das/etc/letsencrypt Verzeichnis verwenden.

mkdir -p /etc/letsecnrypt/example.com sudo mkdir -p /etc/letsencrypt/example.com_ecc

Installieren/Kopieren von Zertifikaten nach /etc/letsencrypt Verzeichnis.

# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

Alle Zertifikate werden automatisch alle 60 Tage erneuert.

Nach dem Erhalt der Zertifikate verlassen Sie den Root-Benutzer und kehren zum regulären Sudo-Benutzer zurück:

exit

Schritt 3 – Installieren Sie MariaDB und erstellen Sie eine Datenbank für Monica

Installieren Sie den MariaDB-Datenbankserver:

sudo yum install -y mariadb-server

Prüfen Sie die MariaDB-Version:

mysql --version
# mysql  Ver 15.1 Distrib 10.3.17-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Starten und aktivieren Sie den MariaDB-Dienst:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Führen Sie aus. mysql_secure installation Skript zur Verbesserung der Sicherheit von MariaDB und zum Setzen des Passworts für MariaDB root Benutzer:

sudo mysql_secure_installation

Beantworten Sie jede der Fragen:

Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_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

Verbinden Sie sich als Root-Benutzer mit der MariaDB-Shell:

sudo mysql -u root -p
# Enter password

Erstellen Sie eine leere MariaDB-Datenbank und einen Benutzer für Monica und merken Sie sich die Zugangsdaten:

mariadb> CREATE DATABASE dbname;
mariadb> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mariadb> FLUSH PRIVILEGES;

Verlassen Sie die MariaDB:

mariadb> exit

Ersetzen Sie undusername mitdbname, password Ihren Namen.

Schritt 4 – Installieren und Konfigurieren von NGINX

Monica wird mit den meisten gängigen Webserver-Programmen mit PHP-Unterstützung gut funktionieren, aber in diesem Leitfaden verwenden wir NGINX. Wenn Sie Apache gegenüber NGINX bevorzugen, können Sie ihn gerne verwenden.

Installieren Sie NGINX:

sudo yum install -y nginx

Prüfen Sie die NGINX-Version:

sudo nginx -v
# nginx version: nginx/1.14.2

Befehl ausführen sudo vim /etc/nginx/conf.d/monica.confund NGINX für Monica konfigurieren.

server {
  listen 80;
  listen 443 ssl;

  server_name example.com;
  root /var/www/monica/public/;
  # RSA
  ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com/private.key;
  # ECC
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
  index index.php;
  charset utf-8;
  
  location ^~ /storage {
    deny all;  
  }
  
  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }

  location ~* \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    include fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_buffer_size 16k;
    fastcgi_buffers 4 16k;
  }
}

Testen Sie die NGINX-Konfiguration:

sudo nginx -t

NGINX neu laden:

sudo systemctl reload nginx.service

Schritt 5 – Installieren Sie Node.js und npm

Installieren Sie Node.js:

curl --silent --location https://rpm.nodesource.com/setup_12.x | sudo bash -
sudo yum install -y nodejs

Prüfen Sie die Versionen Node.js und npm:

node -v && npm -v
# v12.13.1
# 6.12.1

Schritt 6 – Composer installieren

Composer installieren:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer

Prüfen Sie die Version des Composers:

composer --version
# Composer version 1.9.1 2019-11-01 17:20:17

Schritt 7 – Monica installieren und konfigurieren

Erstellen Sie einen leeren Dokument-Stammordner, in dem Monica installiert werden soll:

sudo mkdir -p /var/www/monica

Navigieren Sie zum Stammordner des Dokuments:

cd /var/www/monica

Eigentümer des /var/www/monicaOrdners auf Benutzer ändern johndoe:

Vergessen Sie nicht, „johndoe“ durch Ihren Benutzernamen zu ersetzen.

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

Klonen Sie Monica in das Repository:

git clone https://github.com/monicahq/monica.git .
git checkout tags/v2.15.2

HINWEIS: Checken Sie eine markierte Version von Monica aus, da der Hauptzweig nicht immer stabil ist. Finden Sie die neueste offizielle Version auf der Veröffentlichungsseite auf Github und aktualisieren Sie sie auf die obige Versionsnummer auf die neueste Version.

So erstellen Sie Ihre Version aller Umgebungsvariablen, die für die Ausführung des Projekts benötigt werden:

cp .env.example .env

Aktualisierung .env auf Ihre spezifischen Bedürfnisse. Vergessen Sie nicht, Folgendes einzustellen DB_USERNAME und DB_PASSWORD mit den dahinter verwendeten Einstellungen. Sie müssen einen Mail-Server konfigurieren damit die Registrierung und die Erinnerungen korrekt funktionieren.

Führen Sie aus. composer install --no-interaction --no-suggest --no-dev um alle Pakete zu installieren.

Laufen php artisan key:generateSie, um einen Anwendungsschlüssel zu generieren. Dieser wird automatisch mit APP_KEYdem richtigen Wert gesetzt.

Führen Sie php artisan setup:production -vdie Migrationen aus, setzen Sie die Datenbank und die Symlink-Ordner.

Legen Sie die entsprechenden Eigentumsverhältnisse und Berechtigungen fest:

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

Ausführen sudo vim /etc/php-fpm.d/www.confund Benutzer und Gruppe auf nginxeinstellen. Anfangs wird es auf Benutzer und Gruppe apacheeingestellt.

sudo vim /etc/php-fpm.d/www.conf

Neustart php-fpm.service:

sudo systemctl restart php-fpm.service

Schritt 8 – Vervollständigen Sie die Installation von Monica

Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://example.com ein. Sie werden auf die folgende Seite weitergeleitet:

Ein Konto erstellen

Geben Sie Ihre E-Mail-Adresse, Ihren Namen und Ihr Passwort an. Klicken Sie dann auf die Schaltfläche Registrieren. Sie sollten das Monica-Dashboard auf der folgenden Seite sehen:

Monica PRM-Anmeldung

Das könnte dich auch interessieren …