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 qui sont 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. Ce tutoriel passera en revue l'installation de Monica sur CentOS 8.
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 un 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
- CentOS 8
- 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 CentOS 8
- Un utilisateur non root avec
sudo
privilèges.
Étapes initiales
Vérifiez votre version de CentOS :
cat /etc/centos-release
# CentOS Linux version 8.0.1905 (Core)
Configurez le fuseau horaire :
timedatectl list-timezones
sudo timedatectl set-timezone 'Région/Ville'
Mettez à jour les packages de votre système d'exploitation (logiciels). Il s'agit d'une première étape importante 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 yum mise à jour -y
Installez certains packages essentiels nécessaires à l'administration de base du système d'exploitation CentOS :
sudo yum install -y curl wget vim git unzip socat bash-completion epel-release gcc-c++ make libpng-devel
Étape 1 - Installer PHP
Installez PHP, ainsi que les extensions PHP requises :
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-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.2.11-1-(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 TechnologiesDémarrez et activez le service PHP-FPM :
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.serviceÉ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 yum 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
Démarrez et activez le service MariaDB :
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
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 yum 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/conf.d/monica.conf
commande et configurez NGINX pour 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;
}
}
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 --silent --location https://rpm.nodesource.com/setup_12.x | sudo bash -
sudo yum install -y nodejs
Vérifiez les versions de Node.js et npm :
node -v &&npm -v
# v12.13.1
# 6.12.1
É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 nginx:nginx /var/www/monica
sudo chmod -R 775 /var/www/monica/storage
Exécutez sudo vim /etc/php-fpm.d/www.conf
et définissez l'utilisateur et le groupe sur nginx
. Initialement, il sera défini sur l'utilisateur et le groupe apache
.
sudo vim /etc/php-fpm.d/www.conf
Redémarrez php-fpm.service:
sudo systemctl redémarrer php-fpm.service
É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