En esta página
- Características
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 realizadas 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 recordarte que llames a alguien con quien no hayas hablado en mucho tiempo.
Características
- Agregar y administrar contactos
- Definir relaciones entre contactos
- Recordatorios
- Recordatorios automáticos para cumpleaños
- Manténgase en contacto con el 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
- Debian 10.x (Buster)
- 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 Debian 10 (buster).
- Un usuario no root con
sudo
privilegios.
Pasos iniciales
Comprueba tu versión de Debian:
lsb_release -ds
# Debian GNU/Linux 10 (buster)
Configurar la zona horaria:
sudo dpkg-reconfigure tzdata
Actualice los paquetes de su sistema operativo (software). Ese es un primer paso esencial porque garantiza que tenga las últimas actualizaciones y correcciones de seguridad para los paquetes de software predeterminados de su sistema operativo:
sudo apt update && sudo apt upgrade -y
Instale algunos paquetes esenciales que son necesarios para la administración básica del sistema operativo Debian:
sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https libpng-dev
Paso 1 - Instalar PHP
Instale PHP, así como las extensiones de PHP requeridas:
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
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.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
El servicio PHP-FPM se inicia y habilita automáticamente al reiniciar el sistema Debian 10, por lo que no es necesario iniciarlo y habilitarlo manualmente. Podemos pasar al siguiente paso.
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 apt 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
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 apt install -y nginx
Compruebe la versión de NGINX:
sudo nginx -v
# nginx version: nginx/1.14.2
Ejecute sudo vim /etc/nginx/sites-available/monica.conf
comando y configurar NGINX para 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;
}
}
Activar nuevo monica.conf
configuración vinculando el archivo a sites-enabled
directorio:
sudo ln -s /etc/nginx/sites-available/monica.conf /etc/nginx/sites-enabled/
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 -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt install -y nodejs
Compruebe las versiones de Node.js y npm:
node -v && npm -v
# v12.13.0
# 6.12.0
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 www-data:www-data /var/www/monica
sudo chmod -R 775 /var/www/monica/storage
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