In questa pagina
- Caratteristiche
Monica è un'applicazione web open source per la gestione delle relazioni personali (PRM) progettata per organizzare le interazioni con i tuoi cari. Pensalo come un CRM (uno strumento popolare utilizzato dai team di vendita nel mondo aziendale) per i tuoi amici o familiari. Monica consente alle persone di tenere traccia di tutto ciò che è importante sui loro amici e familiari. Come le attività svolte con loro. L'ultima volta che hai chiamato qualcuno. Di cosa hai parlato. Ti aiuterà a ricordare il nome e l'età dei bambini. Può anche ricordarti di chiamare qualcuno con cui non parli da un po'.
Caratteristiche
- Aggiungi e gestisci contatti
- Definisci le relazioni tra i contatti
- Promemoria
- Promemoria automatici per i compleanni
- Rimani in contatto con il contatto inviando promemoria a intervalli prestabiliti
- Gestione dei debiti
- Possibilità di aggiungere note a un contatto
- Possibilità di indicare come hai incontrato qualcuno
- Gestione delle attività svolte con un contatto
- Gestione delle attività
- Gestione dei regali
- Gestione degli indirizzi e di tutti i diversi modi per contattare qualcuno
- Gestione dei tipi di campi di contatto
- Gestione degli animali da contatto
- Diario di base
- Possibilità di indicare come è andata la giornata
- Carica documenti e foto
- Esportazione e importazione di dati
- Esporta contatto come vCard
- Possibilità di impostare sessi personalizzati
- Possibilità di definire tipi di attività personalizzati
- Possibilità di aggiungere contatti preferiti
- Traccia le conversazioni effettuate sui social media o SMS
- Multiutenti
- Etichette per organizzare i contatti
- Possibilità di definire quale sezione deve apparire nel foglio di contatto
- Multi valute
- Multilingue
- Un'API che copre la maggior parte dei dati
Requisiti
- Debian 10.x (Buster)
- Git
- NPM (Gestione pacchetti di nodi)
- PHP versione 7.1 o successiva
- MySQL
- Server HTTP con supporto PHP (es:Apache, Nginx, Caddy...)
- Compositore
- Facoltativo:Redis o Beanstalk
Prerequisiti
- Un sistema operativo Debian 10 (buster).
- Un utente non root con
sudo
privilegi.
Passaggi iniziali
Controlla la tua versione di Debian:
lsb_release -ds
# Debian GNU/Linux 10 (buster)
Imposta il fuso orario:
sudo dpkg-reconfigure tzdata
Aggiorna i pacchetti del tuo sistema operativo (software). Questo è un primo passo essenziale perché ti assicura di avere gli ultimi aggiornamenti e correzioni di sicurezza per i pacchetti software predefiniti del tuo sistema operativo:
sudo apt update && sudo apt upgrade -y
Installa alcuni pacchetti essenziali necessari per l'amministrazione di base del sistema operativo Debian:
sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https libpng-dev
Passaggio 1 - Installa PHP
Installa PHP e le estensioni PHP richieste:
sudo apt install -y php php-cli php-fpm php-common php-mbstring php-xml php-mysql php-curl php-zip php-intl php-bcmath php-gd php-json php-gmp
Per mostrare PHP compilato nei moduli, puoi eseguire:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Controlla la versione PHP:
php --version
# PHP 7.3.11-1~deb10u1 (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
Il servizio PHP-FPM viene avviato e abilitato automaticamente al riavvio sul sistema Debian 10, quindi non è necessario avviarlo e abilitarlo manualmente. Possiamo passare al passaggio successivo.
Passaggio 2:installa il client acme.sh e ottieni il certificato Let's Encrypt (opzionale)
Proteggere il tuo sito con HTTPS non è necessario, ma è una buona pratica per proteggere il traffico del tuo sito. Per ottenere un certificato TLS da Let's Encrypt utilizzeremo il client acme.sh. Acme.sh è un semplice software shell UNIX per ottenere certificati TLS da Let's Encrypt con zero dipendenze.
Scarica e installa acme.sh:
sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~
Controlla la versione acme.sh:
acme.sh --version
# v2.8.2
Ottieni RSA e ECC/ECDSA certificati per il tuo dominio/nome host:
# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256
Se desideri certificati falsi per il test, puoi aggiungere --staging
flag ai comandi precedenti.
Dopo aver eseguito i comandi precedenti, i tuoi certificati e chiavi sarà in:
- Per RSA :
/home/username/example.com
directory. - Per ECC/ECDSA :
/home/username/example.com_ecc
directory.
Per elencare i certificati emessi puoi eseguire:
acme.sh --list
Crea una directory in cui archiviare i tuoi certificati. Useremo il /etc/letsencrypt
directory.
mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Installa/copia i certificati nella directory /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"
Tutti i certificati verranno rinnovati automaticamente ogni 60 giorni.
Dopo aver ottenuto i certificati, esci dall'utente root e torna all'utente sudo normale:
exit
Passaggio 3:installa MariaDB e crea un database per Monica
Installa server di database MariaDB:
sudo apt install -y mariadb-server
Controlla la versione di MariaDB:
mysql --version
# mysql Ver 15.1 Distrib 10.3.17-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Esegui mysql_secure installation
script per migliorare la sicurezza di MariaDB e impostare la password per MariaDB root
utente:
sudo mysql_secure_installation
Rispondi a ciascuna delle domande:
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
Connettiti a MariaDB shell come utente root:
sudo mysql -u root -p
# Enter password
Crea un database e un utente MariaDB vuoti per Monica e ricorda le credenziali:
mariadb> CREATE DATABASE dbname;
mariadb> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mariadb> FLUSH PRIVILEGES;
Esci da MariaDB:
mariadb> exit
Sostituisci dbname,
username
e password
con i tuoi nomi.
Fase 4 - Installa e configura NGINX
Monica funzionerà bene con la maggior parte dei principali software per server Web con supporto PHP, ma in questa guida utilizzeremo NGINX. Sentiti libero di usare Apache se lo preferisci su NGINX.
Installa NGINX:
sudo apt install -y nginx
Controlla la versione di NGINX:
sudo nginx -v
# nginx version: nginx/1.14.2
Esegui sudo vim /etc/nginx/sites-available/monica.conf
comanda e configura NGINX per Monica.
server {
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
server_name example.com;
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/php7.3-fpm.sock;
}
}
Attiva il nuovo monica.conf
configurazione collegando il file a sites-enabled
directory:
sudo ln -s /etc/nginx/sites-available/monica.conf /etc/nginx/sites-enabled/
Prova la configurazione di NGINX:
sudo nginx -t
Ricarica NGINX:
sudo systemctl reload nginx.service
Passaggio 5 - Installa Node.js e npm
Installa Node.js:
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt install -y nodejs
Controlla le versioni di Node.js e npm:
node -v && npm -v
# v12.13.0
# 6.12.0
Passaggio 6 - Installa Composer
Installa il compositore:
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
Controlla la versione Composer:
composer --version
# Composer version 1.9.1 2019-11-01 17:20:17
Passaggio 7 - Installa e configura Monica
Crea una cartella radice del documento vuota in cui installare Monica:
sudo mkdir -p /var/www/monica
Vai alla cartella principale del documento:
cd /var/www/monica
Modifica la proprietà di /var/www/monica
cartella per l'utente johndoe:
Non dimenticare di sostituire "johndoe" con il tuo nome utente.
sudo chown -R johndoe:johndoe /var/www/monica
Clona il repository di Monica su di esso:
git clone https://github.com/monicahq/monica.git .
git checkout tags/v2.15.2
NOTA:controlla una versione con tag di Monica poiché il ramo principale potrebbe non essere sempre stabile. Trova l'ultima versione ufficiale nella pagina dei rilasci su Github e aggiornala al numero di versione sopra all'ultima versione.
Per creare la tua versione di tutte le variabili di ambiente necessarie per il funzionamento del progetto, esegui:
cp .env.example .env
Aggiorna .env
alle tue esigenze specifiche. Non dimenticare di impostare DB_USERNAME
e DB_PASSWORD
con le impostazioni utilizzate dietro. Dovrai configurare un server di posta per la registrazione e i promemoria per funzionare correttamente.
Esegui composer install --no-interaction --no-suggest --no-dev
per installare tutti i pacchetti.
Esegui php artisan key:generate
per generare una chiave dell'applicazione. Questo imposterà APP_KEY
automaticamente con il valore corretto.
Esegui php artisan setup:production -v
per eseguire le migrazioni, seminare il database e le cartelle dei collegamenti simbolici.
Imposta la proprietà e le autorizzazioni appropriate:
sudo chown -R www-data:www-data /var/www/monica
sudo chmod -R 775 /var/www/monica/storage
Passaggio 8: completa l'installazione di Monica
Ora apri il tuo browser web e digita l'URL http://example.com. Verrai reindirizzato alla seguente pagina:
Fornisci il tuo indirizzo email, nome e password. Quindi, fare clic sul pulsante Registrati. Dovresti vedere la dashboard di Monica nella pagina seguente:
Link
- https://www.monicahq.com/
- https://github.com/monicahq/monica