GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar Monica Personal Relationship Manager en CentOS 8

Monica es una aplicación web de gestión de relaciones personales (PRM) de código abierto diseñada para organizar las interacciones con sus seres queridos. Piense en ello como un CRM (una herramienta popular utilizada por los equipos de ventas en el mundo corporativo) para sus amigos o familiares. Monica permite a las personas realizar un seguimiento de todo lo importante sobre sus amigos y familiares. Como las actividades que se realizan con ellos. La última vez que llamaste a alguien. De lo que hablaste. Le ayudará a recordar el nombre y la edad de los niños. También puede recordarle que llame a alguien con quien no ha hablado en mucho tiempo. Este tutorial repasará la instalación de Monica en CentOS 8.

Características

  • Agregar y administrar contactos
  • Definir relaciones entre contactos
  • Recordatorios
  • Recordatorios automáticos para cumpleaños
  • Manténgase en contacto con un contacto mediante el envío de recordatorios en un intervalo determinado
  • Gestión de deudas
  • Capacidad de agregar notas a un contacto
  • Capacidad de indicar cómo has conocido a alguien
  • Gestión de actividades realizadas con un contacto
  • Gestión de tareas
  • Gestión de regalos
  • Gestión de direcciones y todas las diferentes formas de contactar a alguien
  • Gestión de tipos de campos de contacto
  • Gestión de mascotas de contacto
  • Diario básico
  • Capacidad de indicar cómo fue el día
  • Subir documentos y fotos
  • Exportación e importación de datos
  • Exportar contacto como vCard
  • Capacidad de establecer géneros personalizados
  • Capacidad de definir tipos de actividad personalizados
  • Capacidad de contactos favoritos
  • Haz un seguimiento de las conversaciones realizadas en las redes sociales o SMS
  • Multiusuario
  • Etiquetas para organizar contactos
  • Capacidad de definir qué sección debe aparecer en la hoja de contacto
  • Múltiples monedas
  • Multi-idiomas
  • Una API que cubre la mayoría de los datos

Requisitos

  • Cent OS 8
  • Git
  • NPM (Administrador de paquetes de nodos)
  • PHP versión 7.1 o posterior
  • MySQL
  • Servidor HTTP con soporte PHP (p. ej.:Apache, Nginx, Caddy...)
  • Compositor
  • Opcional:Redis o Beanstalk

Requisitos

  • Un sistema operativo CentOS 8.
  • Un usuario no root con sudo privilegios.

Pasos iniciales

Compruebe su versión de CentOS:

cat /etc/centos-release
# CentOS Linux release 8.0.1905 (Core)

Configurar la zona horaria:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Actualice los paquetes de su sistema operativo (software). Este es un primer paso importante porque garantiza que tenga las últimas actualizaciones y correcciones de seguridad para los paquetes de software predeterminados de su sistema operativo:

sudo yum update -y

Instale algunos paquetes esenciales que son necesarios para la administración básica del sistema operativo CentOS:

sudo yum install -y curl wget vim git unzip socat bash-completion epel-release gcc-c++ make libpng-devel

Paso 1 - Instalar PHP

Instale PHP, así como las extensiones de PHP requeridas:

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-gmp

Para mostrar PHP compilado en módulos, puede ejecutar:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Compruebe la versión de PHP:

php --version

# PHP 7.2.11-1-(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

Inicie y habilite el servicio PHP-FPM:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Paso 2:instale el cliente acme.sh y obtenga el certificado Let's Encrypt (opcional)

No es necesario proteger su sitio con HTTPS, pero es una buena práctica para asegurar el tráfico de su sitio. Para obtener un certificado TLS de Let's Encrypt utilizaremos el cliente acme.sh. Acme.sh es un software de shell UNIX simple para obtener certificados TLS de Let's Encrypt sin dependencias.

Descargue e instale 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 ~

Compruebe la versión de acme.sh:

acme.sh --version
# v2.8.2

Obtener RSA y ECC/ECDSA certificados para su dominio/nombre de host:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Si desea certificados falsos para la prueba, puede agregar --staging bandera a los comandos anteriores.

Después de ejecutar los comandos anteriores, sus certificados y teclas estará en:

  • Para RSA :/home/username/example.com directorio.
  • Para ECC/ECDSA :/home/username/example.com_ecc directorio.

Para enumerar sus certificados emitidos, puede ejecutar:

acme.sh --list

Cree un directorio para almacenar sus certificados. Usaremos el /etc/letsencrypt directorio.

mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Instalar/copiar certificados en el directorio /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"

Todos los certificados se renovarán automáticamente cada 60 días.

Después de obtener los certificados, salga del usuario raíz y regrese al usuario sudo normal:

exit

Paso 3:instala MariaDB y crea una base de datos para Monica

Instalar servidor de base de datos MariaDB:

sudo yum install -y mariadb-server

Compruebe la versión de MariaDB:

mysql --version
# mysql  Ver 15.1 Distrib 10.3.17-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Inicie y habilite el servicio MariaDB:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Ejecute mysql_secure installation secuencia de comandos para mejorar la seguridad de MariaDB y establecer la contraseña para MariaDB root usuario:

sudo mysql_secure_installation

Contesta cada una de las preguntas:

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

Conéctese al shell de MariaDB como usuario root:

sudo mysql -u root -p
# Enter password

Cree una base de datos MariaDB y un usuario vacíos para Monica y recuerde las credenciales:

mariadb> CREATE DATABASE dbname;
mariadb> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mariadb> FLUSH PRIVILEGES;

Salir de MariaDB:

mariadb> exit

Reemplazar dbname,  username y password con vuestros nombres.

Paso 4:instalar y configurar NGINX

Monica funcionará bien con la mayoría de los principales servidores web compatibles con PHP, pero en esta guía usaremos NGINX. Siéntase libre de usar Apache si lo prefiere sobre NGINX.

Instalar NGINX:

sudo yum install -y nginx

Compruebe la versión de NGINX:

sudo nginx -v
# nginx version: nginx/1.14.2

Ejecute sudo vim /etc/nginx/conf.d/monica.conf comando y configurar NGINX para 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; } }

Probar la configuración de NGINX:

sudo nginx -t

Recargar NGINX:

sudo systemctl reload nginx.service

Paso 5:instalar Node.js y npm

Instalar Node.js:

curl --silent --location https://rpm.nodesource.com/setup_12.x | sudo bash -
sudo yum install -y nodejs

Compruebe las versiones de Node.js y npm:

node -v && npm -v
# v12.13.1
# 6.12.1

Paso 6:Instalar Composer

Instalar compositor:

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

Compruebe la versión del compositor:

composer --version
# Composer version 1.9.1 2019-11-01 17:20:17

Paso 7:instalar y configurar Monica

Cree una carpeta raíz de documentos vacía donde debería instalarse Monica:

sudo mkdir -p /var/www/monica

Navegue a la carpeta raíz del documento:

cd /var/www/monica

Cambiar la propiedad de /var/www/monica carpeta al usuario johndoe:

No olvide reemplazar "johndoe" con su nombre de usuario.

sudo chown -R johndoe:johndoe /var/www/monica

Clone el repositorio de Monica:

git clone https://github.com/monicahq/monica.git .
git checkout tags/v2.15.2

NOTA:Echa un vistazo a una versión etiquetada de Monica, ya que es posible que la rama maestra no siempre sea estable. Encuentre la versión oficial más reciente en la página de lanzamientos en Github y actualícela al número de versión anterior a la versión más reciente.

Para crear su versión de todas las variables de entorno necesarias para que el proyecto funcione, ejecute:

cp .env.example .env

Actualizar .env a sus necesidades específicas. No olvide configurar DB_USERNAME y DB_PASSWORD con la configuración utilizada detrás. Deberá configurar un servidor de correo para que el registro y los recordatorios funcionen correctamente.

Ejecute composer install --no-interaction --no-suggest --no-dev para instalar todos los paquetes.

Ejecute php artisan key:generate para generar una clave de aplicación. Esto establecerá APP_KEY con el valor correcto automáticamente.

Ejecute php artisan setup:production -v para ejecutar las migraciones, inicializar la base de datos y las carpetas de enlaces simbólicos.

Establezca la propiedad y los permisos apropiados:

sudo chown -R nginx:nginx /var/www/monica
sudo chmod -R 775 /var/www/monica/storage

Ejecute sudo vim /etc/php-fpm.d/www.conf y configure el usuario y el grupo en nginx . Inicialmente, se configurará para el usuario y el grupo apache .

sudo vim /etc/php-fpm.d/www.conf

Reinicie php-fpm.service:

sudo systemctl restart php-fpm.service

Paso 8:complete la instalación de Mónica

Ahora, abra su navegador web y escriba la URL http://example.com. Será redirigido a la siguiente página:

Proporcione su dirección de correo electrónico, nombre y contraseña. Luego, haga clic en el botón Registrarse. Deberías ver el panel de Mónica en la siguiente página:

Enlaces

  • https://www.monicahq.com/
  • https://github.com/monicahq/monica

Cent OS
  1. Cómo instalar PHP 5.5 en CentOS

  2. Cómo instalar PHP 5.6 en CentOS 7

  3. Cómo instalar PHP 8 en CentOS 7

  4. Cómo instalar PHP 8 en CentOS 8

  5. Cómo instalar PHP 7.3 en CentOS 7

Cómo instalar PHP 7.4 en CentOS 8 / RHEL 8

Cómo instalar TaskBoard en CentOS 7

Cómo instalar Monica Personal Relationship Manager en Ubuntu 18.04 LTS

Cómo instalar Monica Personal Relationship Manager en Debian 10

Cómo instalar PHP 7 en CentOS 7

Cómo instalar PHP 7.4 en CentOS 8