Comment installer Monica Personal Relationship Manager sur Ubuntu 18.04 LTS

Monica est un logiciel de gestion des relations personnelles basé sur le Web, gratuit et open source, écrit dans le framework Laravel. Il est utilisé pour garder une trace de tous les détails importants concernant tes amis et ta famille. Tu peux facilement ajouter et gérer des contacts, définir des relations entre les contacts, définir des rappels automatiques pour les anniversaires en utilisant Monica. Tu peux aussi suivre les conversations faites sur les médias sociaux ou par SMS en utilisant Monica. Monica a la possibilité de définir quelle section doit apparaître sur la fiche de contact.

Dans ce tutoriel, nous allons apprendre à installer Monica PRM sur le serveur Ubuntu 18.04.

Exigences

  • Un serveur exécutant Ubuntu 18.04.
  • Un mot de passe root est configuré sur ton serveur.

Pour commencer

Tout d’abord, tu dois mettre à jour ton système avec la dernière version. Tu peux le faire avec la commande suivante :

apt-get update -y
apt-get upgrade -y

Une fois que ton système est mis à jour, redémarre le système pour appliquer ces changements.

Installe Nginx, MariaDB et PHP

Tout d’abord, tu dois installer Nginx, le serveur MariaDB, PHP et d’autres modules PHP sur ton serveur. Tu peux tous les installer en exécutant la commande suivante :

apt-get install nginx mariadb-server php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mbstring php7.2-xml php7.2-mysql php7.2-curl php7.2-zip php7.2-intl git wget unzip -y

Une fois que tous les paquets sont installés, tu peux passer à l’étape suivante.

Configurer MariaDB

Par défaut, l’installation de MariaDB n’est pas sécurisée, tu devras donc d’abord la sécuriser. Tu peux la sécuriser avec la commande suivante :

mysql_secure_installation
    Enter current password for root (enter for none):
    Set root password? [Y/n]: N
    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

Une fois que MariaDB est sécurisée, connecte-toi au shell MariaDB avec la commande suivante :

mysql -u root -p

Saisis ton mot de passe root. Ensuite, crée une base de données et un utilisateur pour Monica avec la commande suivante :

MariaDB [(none)]> create database monica;
MariaDB [(none)]> create user [email protected] identified by 'password';

Ensuite, accorde tous les privilèges à Monica avec la commande suivante :

MariaDB [(none)]> GRANT ALL ON monica.* TO 'monica'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Ensuite, annule les privilèges et quitte le shell MariaDB avec la commande suivante :

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Installe Composer et Node.j

Ensuite, tu devras installer Composer sur ton système. Composer est un gestionnaire de paquets pour le langage de programmation PHP. Il est utilisé pour installer toutes les dépendances requises par PHP.

Tout d’abord, télécharge le programme d’installation de Composer avec la commande suivante :

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Ensuite, tu devras vérifier l’intégrité des données du script en comparant le hachage SHA-384 du script avec le dernier hachage de l’installateur qui se trouve sur la page de la clé publique de Composer. Tu peux le faire avec la commande suivante :

HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Si tout va bien, tu devrais voir la sortie suivante :

Installer verified

Ensuite, installe Composer avec la commande suivante :

php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Tu devrais voir le résultat suivant :

All settings correct for using Composer
Downloading...

Composer (version 1.8.4) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

Ensuite, installe Node.js avec la commande suivante :

curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt-get install -y nodejs

Installe et configure Monica

Ensuite, tu devras créer une structure de répertoire pour Monica. Tu peux le faire avec la commande suivante :

mkdir -p /var/www/monica

Ensuite, change le répertoire en monica et télécharge la dernière version de Monica avec la commande suivante :

cd /var/www/monica
git clone https://github.com/monicahq/monica.git .
git checkout tags/v2.1.1

Tu devrais voir le résultat suivant :

Note: checking out 'tags/v2.1.1'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b 

HEAD is now at dcfd15fa Update translations (#1324)

Ensuite, tu devras renommer le fichier de variables d’environnement de l’exemple. Tu peux le faire avec la commande suivante :

mv .env.example .env

Ensuite, ouvre le fichier .env et définis ta base de données et ton nom d’utilisateur :

nano .env

Apporte les modifications suivantes :

# Database information
# To keep this information secure, we urge you to change the default password
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
# You can use mysql unix socket if available, it overrides DB_HOST and DB_PORT values.
#DB_UNIX_SOCKET=/var/run/mysqld/mysqld.sock
DB_DATABASE=monica
DB_USERNAME=monica   
DB_PASSWORD=password

Ensuite, installe toutes les dépendances PHP requises en utilisant Composer avec la commande suivante :

composer install --no-interaction --no-suggest --no-dev --ignore-platform-reqs

Ensuite, installe toutes les dépendances du front-end avec la commande suivante: :

npm install

Ensuite, compile les JS et CSS avec la commande suivante :

npm run production

Ensuite, génère une clé d’application avec la commande suivante :

php artisan key:generate

Ensuite, migre et ensemence la base de données avec la commande suivante :

php artisan setup:production

Tu devrais voir le résultat suivant :

 You are about to setup and configure Monica. Do you wish to continue? (yes/no) [no]:
 > yes

 
-----------------------------
|
| Welcome to Monica v2.1.1
|
-----------------------------
| You can now register to the first account by opening the application:
| URL:      http://localhost
-----------------------------
Setup is done. Have fun.

Ensuite, donne les autorisations appropriées au répertoire monica avec la commande suivante :

chown -R www-data:www-data /var/www/monica

Une fois que tu l’as fait, tu peux passer à l’étape suivante.

Configure Nginx pour Monica

Ensuite, tu devras créer un fichier d’hôte virtuel Nginx pour Monica. Tu peux le faire en créant le fichier monica.conf dans le répertoire/etc/nginx/sites-available/avec la commande suivante :

nano /etc/nginx/sites-available/monica.conf

Ajoute les lignes suivantes :

server {
    listen 80;
    listen [::]:80;

    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.2-fpm.sock;
    }
}

Sauvegarde et ferme le fichier. Ensuite, redémarre le service Nginx avec la commande suivante :

systemctl restart nginx

Tu peux maintenant vérifier l’état de Nginx avec la commande suivante :

systemctl status nginx

Sortie :

? nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2019-02-15 10:03:53 UTC; 2min 12s ago
     Docs: man:nginx(8)
  Process: 22598 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=killed, signal=TERM)
  Process: 22612 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 22601 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 22613 (nginx)
    Tasks: 2 (limit: 1114)
   CGroup: /system.slice/nginx.service
           ??22613 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           ??22615 nginx: worker process

Feb 15 10:03:53 ubuntu1804 systemd[1]: nginx.service: Failed with result 'timeout'.
Feb 15 10:03:53 ubuntu1804 systemd[1]: Stopped A high performance web server and a reverse proxy server.
Feb 15 10:03:53 ubuntu1804 systemd[1]: Starting A high performance web server and a reverse proxy server...
Feb 15 10:03:53 ubuntu1804 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Feb 15 10:03:53 ubuntu1804 systemd[1]: Started A high performance web server and a reverse proxy server.

Accéder à Monica

Monica est maintenant installé et configuré. Il est temps d’accéder à l’interface Web de Monica.

Maintenant, ouvre ton navigateur Web et tape l’URL http://example.com. Tu seras redirigé vers la page suivante :

Monica PRM installer

Indique ton adresse e-mail, ton nom et ton mot de passe. Ensuite, clique sur le bouton S’inscrire. Tu devrais voir le tableau de bord de Monica sur la page suivante :

Monica Personal Relationship Manager

Félicitations ! Tu as réussi à installer Monica sur le serveur Ubuntu 18.04. Tu peux maintenant gérer facilement tes contacts en utilisant Monica à partir d’un emplacement central. N’hésite pas à me demander si tu as des questions.

Vous aimerez aussi...