Monica ist eine Open-Source-Webanwendung für Personal Relationship Management (PRM), die entwickelt wurde, um Interaktionen mit Ihren Lieben zu organisieren. Betrachten Sie es als ein CRM (ein beliebtes Tool, das von Vertriebsteams in der Unternehmenswelt verwendet wird) für Ihre Freunde oder Familie. Monica ermöglicht es den Menschen, alles Wichtige über ihre Freunde und Familie im Auge zu behalten. Wie die Aktivitäten, die mit ihnen durchgeführt werden. Wann Sie zuletzt jemanden angerufen haben. Worüber du gesprochen hast. Es wird Ihnen helfen, sich den Namen und das Alter der Kinder zu merken. Es kann Sie auch daran erinnern, jemanden anzurufen, mit dem Sie eine Weile nicht gesprochen haben. Dieses Tutorial behandelt die Installation von Monica unter CentOS 8.
Funktionen
- Kontakte hinzufügen und verwalten
- Beziehungen zwischen Kontakten definieren
- Erinnerungen
- Automatische Erinnerungen für Geburtstage
- Bleiben Sie mit einem Kontakt in Kontakt, indem Sie in einem bestimmten Intervall Erinnerungen senden
- Schuldenverwaltung
- Fähigkeit, Notizen zu einem Kontakt hinzuzufügen
- Möglichkeit anzugeben, wie Sie jemanden kennengelernt haben
- Verwaltung von Aktivitäten, die mit einem Kontakt durchgeführt werden
- Verwaltung von Aufgaben
- Verwaltung von Geschenken
- Verwaltung von Adressen und all die verschiedenen Möglichkeiten, jemanden zu kontaktieren
- Verwaltung von Kontaktfeldtypen
- Verwaltung von Kontakthaustieren
- Basisjournal
- Möglichkeit anzugeben, wie der Tag gelaufen ist
- Laden Sie Dokumente und Fotos hoch
- Export und Import von Daten
- Kontakt als vCard exportieren
- Möglichkeit, benutzerdefinierte Geschlechter festzulegen
- Möglichkeit, benutzerdefinierte Aktivitätstypen zu definieren
- Fähigkeit, Kontakte zu Favoriten zu machen
- Verfolgen Sie Unterhaltungen, die in sozialen Medien oder per SMS geführt wurden
- Mehrere Benutzer
- Labels zum Organisieren von Kontakten
- Möglichkeit zu definieren, welcher Abschnitt auf dem Kontaktabzug erscheinen soll
- Mehrere Währungen
- Mehrsprachig
- Eine API, die die meisten Daten abdeckt
Anforderungen
- CentOS 8
- Git
- NPM (Knotenpaket-Manager)
- PHP-Version 7.1 oder neuer
- MySQL
- HTTP-Server mit PHP-Unterstützung (zB:Apache, Nginx, Caddy...)
- Komponist
- Optional:Redis oder Beanstalk
Voraussetzungen
- Ein CentOS 8-Betriebssystem.
- Ein Nicht-Root-Benutzer mit
sudo
Privilegien.
Erste Schritte
Überprüfen Sie Ihre CentOS-Version:
cat /etc/centos-release
# CentOS Linux-Release 8.0.1905 (Kern)
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-gmpUm PHP in Modulen kompiliert anzuzeigen, können Sie Folgendes ausführen:
php -m
ctype
curl
exif
fileinfo
. . .
. . .Überprüfen Sie die PHP-Version:
php --version
# PHP 7.2.11-1-(cli) (erstellt:26. Okt. 2019 14:14:18) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.11, Copyright (c) 1998-2018 Zend Technologies
# mit Zend OPcache v7.3.11-1~deb10u1, Copyright (c) 1999-2018, von Zend TechnologiesStarten und aktivieren Sie den PHP-FPM-Dienst:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.serviceSchritt 2 – Installieren Sie den acme.sh-Client und erhalten Sie das Let's Encrypt-Zertifikat (optional)
Es ist nicht erforderlich, Ihre Website mit HTTPS zu sichern, aber es ist eine bewährte Vorgehensweise, Ihren Website-Traffic zu sichern. Um ein TLS-Zertifikat von Let’s Encrypt zu erhalten, verwenden wir den acme.sh-Client. Acme.sh ist eine einfache UNIX-Shell-Software zum Abrufen von TLS-Zertifikaten von Let's Encrypt ohne Abhängigkeiten.
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 -- Konto-E-Mail [E-Mail-geschützt]
Quelle ~/.bashrc
cd ~Prüfen Sie die acme.sh-Version:
acme.sh --version
# v2.8.2Holen Sie sich RSA und ECC/ECDSA Zertifikate für Ihre Domäne/Ihren Hostnamen:
# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example .com --keylength ec-256Wenn Sie zum Testen gefälschte Zertifikate wünschen, können Sie
--staging
hinzufügen Flag zu den obigen Befehlen.Nachdem Sie die obigen Befehle ausgeführt haben, werden Ihre Zertifikate und Schlüssel wird sein in:
- Für RSA :
/home/username/example.com
Verzeichnis. - Für ECC/ECDSA :
/home/username/example.com_ecc
Verzeichnis.
Um Ihre ausgestellten Zertifikate aufzulisten, können Sie Folgendes ausführen:
acme.sh --list
Erstellen Sie ein Verzeichnis zum Speichern Ihrer Zertifikate. Wir verwenden den /etc/letsencrypt
Verzeichnis.
mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Installieren/kopieren Sie Zertifikate in das Verzeichnis /etc/letsencrypt.
# 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 alle 60 Tage automatisch erneuert.
Nachdem Sie die Zertifikate erhalten haben, beenden Sie den Root-Benutzer und kehren Sie zum regulären Sudo-Benutzer zurück:
beenden
Schritt 3 – Installieren Sie MariaDB und erstellen Sie eine Datenbank für Monica
MariaDB-Datenbankserver installieren:
sudo yum install -y mariadb-server
Prüfen Sie die MariaDB-Version:
mysql --version
# mysql Ver 15.1 Distrib 10.3.17-MariaDB, für debian-linux-gnu (x86_64) unter Verwendung von readline 5.2
Starten und aktivieren Sie den MariaDB-Dienst:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Führen Sie mysql_secure installation
aus Skript zur Verbesserung der MariaDB-Sicherheit und zum Festlegen des Passworts für MariaDB root
Benutzer:
sudo mysql_secure_installation
Beantworten Sie jede der Fragen:
Möchten Sie das VALIDATE PASSWORD-Plugin einrichten? N
Neues Passwort:Ihr_sicheres_Passwort
Geben Sie das neue Passwort erneut ein: Ihr_sicheres_Passwort
Anonyme Benutzer entfernen? [J/n] J
Root-Anmeldung aus der Ferne verbieten? [J/n] J
Testdatenbank und Zugriff darauf entfernen? [J/n] J
Berechtigungstabellen jetzt neu laden? [J/n] J
Stellen Sie als Root-Benutzer eine Verbindung zur MariaDB-Shell her:
sudo mysql -u root -p
# Passwort eingeben
Erstellen Sie eine leere MariaDB-Datenbank und einen Benutzer für Monica und merken Sie sich die Anmeldedaten:
mariadb> CREATE DATABASE dbname;
mariadb> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mariadb> FLUSH PRIVILEGES;
Beenden Sie MariaDB:
mariadb> beenden
Ersetzen Sie dbname,
username
und password
mit euren Namen.
Schritt 4 – NGINX installieren und konfigurieren
Monica funktioniert gut mit den meisten gängigen Webserver-Programmen mit PHP-Unterstützung, aber in diesem Handbuch verwenden wir NGINX. Fühlen Sie sich frei, Apache zu verwenden, wenn Sie es NGINX vorziehen.
Installieren Sie NGINX:
sudo yum install -y nginx
Überprüfen Sie die NGINX-Version:
sudo nginx -v
# nginx-Version:nginx/1.14.2
Führen Sie sudo vim /etc/nginx/conf.d/monica.conf
aus Befehl und konfigurieren Sie NGINX für Monica.
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;
}
}
NGINX-Konfiguration testen:
sudo nginx -t
NGINX neu laden:
sudo systemctl reload nginx.service
Schritt 5 – Node.js und npm installieren
Installieren Sie Node.js:
curl --silent --location https://rpm.nodesource.com/setup_12.x | sudo bash -
sudo yum install -y nodejs
Überprüfen Sie die Versionen von 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 überprüft';} else {echo 'Installer korrupt'; unlink (' composer-setup.php ');} echo PHP_EOL; "
php Komponist -setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
Überprüfen Sie die Composer-Version:
composer --version
# Composer-Version 1.9.1 2019-11-01 17:20:17
Schritt 7 – Installiere und konfiguriere Monica
Erstellen Sie einen leeren Dokumentstammordner, in dem Monica installiert werden soll:
sudo mkdir -p /var/www/monica
Navigieren Sie zum Stammordner des Dokuments:
cd /var/www/monica
Ändern Sie den Besitz von /var/www/monica
Ordner an Benutzer johndoe:
Vergessen Sie nicht, „johndoe“ durch Ihren Benutzernamen zu ersetzen.
sudo chown -R johndoe:johndoe /var/www/monica
Klonen Sie das Monica-Repository dorthin:
git-Klon https://github.com/monicahq/monica.git .
git checkout tags/v2.15.2
HINWEIS:Checken Sie eine getaggte Version von Monica aus, da der Master-Zweig möglicherweise nicht immer stabil ist. Suchen 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 das Ausführen des Projekts erforderlich sind:
cp .env.example .env
Aktualisieren Sie .env
auf Ihre spezifischen Bedürfnisse. Vergessen Sie nicht, DB_USERNAME
festzulegen und DB_PASSWORD
mit den dahinter verwendeten Einstellungen. Sie müssen einen E-Mail-Server konfigurieren, damit die Registrierung und Erinnerungen ordnungsgemäß funktionieren.
Führen Sie composer install --no-interaction --no-suggest --no-dev
aus um alle Pakete zu installieren.
Führen Sie php artisan key:generate
aus um einen Anwendungsschlüssel zu generieren. Dadurch wird APP_KEY
festgelegt automatisch mit dem richtigen Wert.
Führen Sie php artisan setup:production -v
aus um die Migrationen auszuführen, Seeding der Datenbank und Symlink-Ordner.
Legen Sie die entsprechenden Eigentumsrechte und Berechtigungen fest:
sudo chown -R nginx:nginx /var/www/monica
sudo chmod -R 775 /var/www/monica/storage
Führen Sie sudo vim /etc/php-fpm.d/www.conf
aus und setzen Sie Benutzer und Gruppe auf nginx
. Anfänglich wird es auf den Benutzer und die Gruppe apache
eingestellt .
sudo vim /etc/php-fpm.d/www.conf
Starten Sie php-fpm.service:
neu
sudo systemctl restart php-fpm.service
Schritt 8 – Schließen Sie die Monica-Installation ab
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://example.com ein. Sie werden auf die folgende Seite weitergeleitet:
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:
Links
- https://www.monicahq.com/
- https://github.com/monicahq/monica