Sur cette page
- Fonctionnalités
Monica est une application Web open source de gestion des relations personnelles (PRM) conçue pour organiser les interactions avec vos proches. Considérez-le comme un CRM (un outil populaire utilisé par les équipes de vente dans le monde de l'entreprise) pour vos amis ou votre famille. Monica permet aux gens de garder une trace de tout ce qui est important concernant leurs amis et leur famille. Comme les activités faites avec eux. La dernière fois que vous avez appelé quelqu'un. Ce dont vous avez parlé. Cela vous aidera à vous souvenir du nom et de l'âge des enfants. Il peut également vous rappeler d'appeler quelqu'un à qui vous n'avez pas parlé depuis un certain temps.
Fonctionnalités
- Ajouter et gérer des contacts
- Définir les relations entre les contacts
- Rappels
- Rappels automatiques pour les anniversaires
- Restez en contact avec le contact en envoyant des rappels à un intervalle donné
- Gestion des dettes
- Possibilité d'ajouter des notes à un contact
- Possibilité d'indiquer comment vous avez rencontré quelqu'un
- Gestion des activités réalisées avec un contact
- Gestion des tâches
- Gestion des cadeaux
- Gestion des adresses et de tous les différents moyens de contacter quelqu'un
- Gestion des types de champs de contact
- Gestion des animaux de contact
- Journal de base
- Possibilité d'indiquer comment la journée s'est déroulée
- Télécharger des documents et des photos
- Exportation et importation de données
- Exporter le contact au format vCard
- Possibilité de définir des critères de sexe personnalisés
- Possibilité de définir des types d'activités personnalisés
- Possibilité d'ajouter des contacts favoris
- Suivez les conversations effectuées sur les réseaux sociaux ou par SMS
- Multi-utilisateurs
- Libellés pour organiser les contacts
- Possibilité de définir quelle section doit apparaître sur la planche de contact
- Multidevises
- Multilingues
- Une API qui couvre la plupart des données
Exigences
- Debian 10.x (Buster)
- Git
- NPM (gestionnaire de paquets de nœuds)
- PHP version 7.1 ou ultérieure
- MySQL
- Serveur HTTP avec support PHP (ex :Apache, Nginx, Caddy...)
- Compositeur
- Facultatif :Redis ou Beanstalk
Prérequis
- Un système d'exploitation Debian 10 (buster).
- Un utilisateur non root avec
sudo
privilèges.
Étapes initiales
Vérifiez votre version Debian :
lsb_release -ds
# Debian GNU/Linux 10 (buster)
Configurez le fuseau horaire :
sudo dpkg-reconfigure tzdata
Mettez à jour les packages de votre système d'exploitation (logiciels). Il s'agit d'une première étape essentielle car elle garantit que vous disposez des dernières mises à jour et correctifs de sécurité pour les packages logiciels par défaut de votre système d'exploitation :
sudo apt update &&sudo apt upgrade -y
Installez certains packages essentiels nécessaires à l'administration de base du système d'exploitation Debian :
sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https libpng-dev
Étape 1 - Installer PHP
Installez PHP, ainsi que les extensions PHP requises :
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-gmpPour afficher PHP compilé en modules, vous pouvez exécuter :
php -m
ctype
curl
exif
fileinfo
. . .
. . .Vérifiez la version de PHP :
php --version
# PHP 7.3.11-1~deb10u1 (cli) (construit :26 octobre 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 , par Zend TechnologiesLe service PHP-FPM est automatiquement démarré et activé au redémarrage sur le système Debian 10, il n'est donc pas nécessaire de le démarrer et de l'activer manuellement. Nous pouvons passer à l'étape suivante.
Étape 2 - Installez le client acme.sh et obtenez le certificat Let's Encrypt (facultatif)
Sécuriser votre site avec HTTPS n'est pas nécessaire, mais c'est une bonne pratique pour sécuriser le trafic de votre site. Pour obtenir un certificat TLS de Let's Encrypt, nous utiliserons le client acme.sh. Acme.sh est un logiciel shell UNIX simple permettant d'obtenir des certificats TLS de Let's Encrypt sans aucune dépendance.
Téléchargez et installez acme.sh :
sudo su - root
clone git https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install -- accountemail [email protected]
source ~/.bashrc
cd ~Vérifier la version d'acme.sh :
acme.sh --version
# v2.8.2Obtenir RSA et ECC/ECDSA certificats pour votre domaine/nom d'hôte :
# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example .com --keylength ec-256Si vous voulez de faux certificats pour les tests, vous pouvez ajouter
--staging
drapeau aux commandes ci-dessus.Après avoir exécuté les commandes ci-dessus, vos certificats et clés sera dans :
- Pour RSA :
/home/username/example.com
répertoire. - Pour ECC/ECDSA :
/home/username/example.com_ecc
répertoire.
Pour répertorier vos certificats émis, vous pouvez exécuter :
acme.sh --list
Créez un répertoire pour stocker vos certificats. Nous utiliserons le /etc/letsencrypt
répertoire.
mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Installez/copiez les certificats dans le répertoire /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- fichier /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl recharger nginx.service"
Tous les certificats seront automatiquement renouvelés tous les 60 jours.
Après avoir obtenu les certificats, quittez l'utilisateur root et revenez à l'utilisateur sudo normal :
quitter
Étape 3 :Installez MariaDB et créez une base de données pour Monica
Installez le serveur de base de données MariaDB :
sudo apt install -y mariadb-server
Vérifiez la version de MariaDB :
mysql --version
# mysql Ver 15.1 Distrib 10.3.17-MariaDB, pour debian-linux-gnu (x86_64) en utilisant readline 5.2
Exécutez l'mysql_secure installation
script pour améliorer la sécurité de MariaDB et définir le mot de passe pour MariaDB root
utilisateur :
sudo mysql_secure_installation
Répondez à chacune des questions :
Souhaitez-vous configurer le plug-in VALIDATE PASSWORD ? N
Nouveau mot de passe :votre_mot_de_passe_sécurisé
Saisissez à nouveau le nouveau mot de passe : votre_mot_de_passe_sécurisé
Supprimer les utilisateurs anonymes ? [O/n] O
Interdire la connexion root à distance ? [O/n] O
Supprimer la base de données de test et y accéder ? [O/n] O
Recharger les tables de privilèges maintenant ? [O/n] O
Connectez-vous au shell MariaDB en tant qu'utilisateur racine :
sudo mysql -u root -p
# Entrez le mot de passe
Créez une base de données et un utilisateur MariaDB vides pour Monica et mémorisez les informations d'identification :
mariadb> CREATE DATABASE dbname ;
mariadb> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password' ;
mariadb> FLUSH PRIVILEGES ;
Quitter MariaDB :
mariadb> quitter
Remplacez dbname,
username
et password
avec vos noms.
Étape 4 - Installer et configurer NGINX
Monica fonctionnera bien avec la plupart des principaux logiciels de serveur Web prenant en charge PHP, mais dans ce guide, nous utiliserons NGINX. N'hésitez pas à utiliser Apache si vous le préférez à NGINX.
Installez NGINX :
sudo apt install -y nginx
Vérifiez la version de NGINX :
sudo nginx -v
# version de nginx :nginx/1.14.2
Exécutez sudo vim /etc/nginx/sites-available/monica.conf
commande et configurez NGINX pour 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;
}
}
Activer le nouveau monica.conf
configuration en liant le fichier au sites-enabled
répertoire :
sudo ln -s /etc/nginx/sites-available/monica.conf /etc/nginx/sites-enabled/
Tester la configuration NGINX :
sudo nginx -t
Recharger NGINX :
sudo systemctl recharger nginx.service
Étape 5 - Installer Node.js et npm
Installez Node.js :
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt install -y nodejs
Vérifiez les versions de Node.js et npm :
node -v &&npm -v
# v12.13.0
# 6.12.0
Étape 6 - Installer Composer
Installer Composer :
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer- setup.php ') ==='a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') {echo 'installateur vérifié';} else {echo 'installateur corrompu'; unlink (' compositeur-setup.php ');} echo PHP_EOL; "
php compositeur -setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
Vérifiez la version de Composer :
composer --version
# Composer version 1.9.1 2019-11-01 17:20:17
Étape 7 - Installer et configurer Monica
Créez un dossier racine de document vide où Monica doit être installée :
sudo mkdir -p /var/www/monica
Accédez au dossier racine du document :
cd /var/www/monica
Changer la propriété de /var/www/monica
dossier à l'utilisateur johndoe:
N'oubliez pas de remplacer "johndoe" par votre nom d'utilisateur.
sudo chown -R johndoe:johndoe /var/www/monica
Cloner le dépôt Monica vers celui-ci :
git clone https://github.com/monicahq/monica.git .
git checkout tags/v2.15.2
REMARQUE :consultez une version balisée de Monica, car la branche principale peut ne pas toujours être stable. Recherchez la dernière version officielle sur la page des versions sur Github et mettez-la à jour avec le numéro de version ci-dessus vers la dernière version.
Pour créer votre version de toutes les variables d'environnement nécessaires au fonctionnement du projet :
cp .env.exemple .env
Mettre à jour .env
à vos besoins spécifiques. N'oubliez pas de définir DB_USERNAME
et DB_PASSWORD
avec les réglages utilisés derrière. Vous devrez configurer un serveur de messagerie pour que l'inscription et les rappels fonctionnent correctement.
Exécutez composer install --no-interaction --no-suggest --no-dev
pour installer tous les packages.
Exécutez php artisan key:generate
pour générer une clé d'application. Cela définira APP_KEY
avec la bonne valeur automatiquement.
Exécutez php artisan setup:production -v
pour exécuter les migrations, amorcez la base de données et les dossiers de liens symboliques.
Définissez la propriété et les autorisations appropriées :
sudo chown -R www-data:www-data /var/www/monica
sudo chmod -R 775 /var/www/monica/storage
Étape 8 : Terminer l'installation de Monica
Maintenant, ouvrez votre navigateur Web et tapez l'URL http://example.com. Vous serez redirigé vers la page suivante :
Indiquez votre adresse e-mail, votre nom et votre mot de passe. Ensuite, cliquez sur le bouton S'inscrire. Vous devriez voir le tableau de bord de Monica sur la page suivante :
Liens
- https://www.monicahq.com/
- https://github.com/monicahq/monica