Cómo instalar Monica Personal Relationship Manager en Debian 11



Monica CRM es un CRM (Gerente de Relaciones con Clientes) gratis y de código franco escrito en PHP. Monica CRM te ayuda a realizar un seguimiento de eventos personales, actividades, información gremial, contactos, diarios, notas y mucho más.

Monica CRM ofrece muchas funciones, como la encargo de contactos y la relación entre contactos, recordatorios, encargo de actividades y tareas, diario nuclear, importación y exportación de datos, carga de archivos multimedia como documentos y fotos, y muchas más. Se puede instalar de múltiples formas, mediante Docker, manualmente en el servidor (VPS), o utilizando PaaS (Plataforma como Servicio).

En esta consejero, repasarás cómo instalar el CRM Monica Personal Relationship Manager en un servidor Debian 11. Todavía instalarás y configurarás la pila LEMP (Nginx, MariaDB, PHP-FPM), instalarás dependencias PHP mediante Composer, e instalarás y compilarás activos estáticos utilizando Node.js y Yarn.

Requisitos previos

Para que este tutorial funcione, necesitarás un servidor Debian 11 y configurar el becario no root con privilegios de root o administrador. Adicionalmente, si planeas desplegarlo en producción, necesitarás un nombre de dominio apuntando a la dirección IP de tu servidor Debian. Adicionalmente, se recomienda activar el cortafuegos en tu servidor Debian de producción.

Instalación del servidor web Nginx

Monica CRM es una aplicación web escrita principalmente en PHP. Para instalar Monica CRM, puedes utilizar un servidor web como Apache2, Nginx o Caddy web server.

En esta consejero, ejecutarás Monica CRM con el servidor web Nginx. Luego, ahora instalarás paquetes Nginx en tu servidor Debian.

Antaño de comenzar a instalar los paquetes, ejecuta el sucesivo comando apt para modernizar y refrescar el índice de paquetes de Debian.

sudo apt update

Ahora, instala los paquetes Nginx mediante el sucesivo comando apt. Cuando se te pida que confirmes la instalación, introduce Y y pulsa ENTER para continuar.

sudo apt install nginx

instalar nginx

Una vez instalado Nginx, comprueba que el servicio ‘nginx‘ se está ejecutando mediante el sucesivo comando systemctl.

sudo systemctl is-enabled nginx
sudo systemctl status nginx

Ahora verás que el servicio ‘nginx’ está competente y se ejecutará automáticamente al provenir el sistema. Y el estado del servicio Nginx es ahora en ejecución.

instalar nginx

Instalación del servidor MariaDB

El Monica CRM soporta MySQL/MariaDB para la instalación. Ahora instalarás MariaDB en tu servidor Debian. Todavía asegurarás la instalación del servidor MariaDB mediante el script ‘mysql_secure_installation’.

Instala el servidor MariaDB mediante el sucesivo comando apt. Cuando se te pida que confirmes la instalación, introduce Y y pulsa ENTER para continuar.

sudo apt install mariadb-server

instalar mariadb

Si MariaDB está instalado, verifica el servicio MariaDB y asegúrate de que se está ejecutando. Ejecuta el sucesivo comando systemctl.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Verás que el servidor MariaDB está competente y se ejecutará automáticamente al provenir el sistema. Y el estado presente del servicio MariaDB es en ejecución.

comprobar mariadb

A continuación, asegurarás el despliegue del servidor MariaDB mediante el script‘mysql_secure_installation‘, que proporcionan los paquetes MariaDB.

Ejecuta el sucesivo comando para comenzar a afianzar el despliegue de MariaDB.

sudo mysql_secure_installation

Se te preguntará por varias configuraciones de MariaDB:

  • ¿Cambiar la autenticación a unix_socket? entrada n.
  • ¿Cambiar la contraseña de root de MariaDB? introduce y para confirmar, introduce la nueva contraseña de tu servidor MariaDB y repite la contraseña.
  • ¿Desactivar la conexión remota del becario root? introduce y para confirmar – no se debe permitir al becario root conectarse remotamente.Eliminar becario incógnito? introduce y para confirmar.
  • ¿Eliminar la almohadilla de datos por defecto ‘test’? introduce y para confirmar y eliminar la almohadilla de datos de prueba.
  • Por postrero, introduce y para recargar los privilegios de las tablas y aplicar los nuevos cambios.

El servidor MariaDB ya está instalado y protegido.

Instalación y configuración de PHP-FPM 8.1

Monica CRM es una aplicación web basada en PHP, por lo que debes instalar paquetes PHP en tu servidor Debian. La lectura presente de Monica CRM requiere al menos PHP v8.1 o posterior.

Para el sistema Debian 11, instalarás los paquetes PHP 8.1 a través de un repositorio de terceros. Ahora instalarás PHP-FPM 8.1 a través del repositorio sury.org y configurarás tu instalación de PHP de acuerdo con los requisitos de Monica CRM.

Ejecuta el sucesivo comando para añadir el repositorio PHP 8.1 a tu servidor Debian.

curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x

Ahora verás que se añade el nuevo repositorio de PHP 8.1 y que el índice de paquetes se actualiza automáticamente.

añadir repo php

A continuación, instala los paquetes PHP-FPM 8.1 mediante el sucesivo comando apt.

sudo apt install php8.1 php8.1-cli php8.1-fpm php8.1-common php8.1-mbstring php8.1-xml php8.1-mysql php8.1-curl php8.1-zip php8.1-intl php8.1-bcmath php8.1-gd php8.1-gmp php8.1-redis

Introduce Y para confirmar la instalación y pulsa ENTER para continuar.

instalar php

Una vez instalado PHP 8.1, edita el archivo de configuración‘/etc/php/8.1/fpm/php.ini‘ utilizando el comando editor nano.

sudo nano /etc/php/8.1/fpm/php.ini

Cambia la configuración por defecto de PHP con los siguientes ajustes.

date.timezone = Europe/Paris
max_execution_time = 130
memory_limit = 256M
post_max_size = 128M
upload_max_filesize = 128M

Guardaspaldas el archivo y cierra el editor cuando hayas terminado.

A continuación, reinicia el servicio PHP-FPM 8.1 para aplicar los nuevos cambios mediante el sucesivo comando systemctl.

sudo systemctl restart php8.1-fpm

Por postrero, ejecuta el sucesivo comando systemctl para confirmar el servicio PHP-FPM 8.1 y asegurarte de que el servicio está activado y en funcionamiento.

sudo systemctl is-enabled php8.1-fpm
sudo systemctl status php8.1-fpm

Verás que PHP-FPM 8.1 está competente y se ejecutará automáticamente al iniciar el sistema. Y el estado presente del servicio PHP-FPM 8.1 es en ejecución.

La Pila LEMP ya está instalada y configurada, a continuación empieza a crear una nueva almohadilla de datos y un nuevo becario para Monica CRM.

Configurar la almohadilla de datos y el becario MariaDB

Para configurar la almohadilla de datos MariaDB y el becario para la instalación de Monica CRM, debes iniciar sesión en el shell MariaDB.

Accede al intérprete de comandos MariaDB mediante el comando mysql que se indica a continuación.

sudo mysql -u root -p

Ejecuta las siguientes consultas para crear una nueva almohadilla de datos y un nuevo becario para Monica CRM. Para esta consejero, crearás una nueva almohadilla de datos monicacrm_dbcon el becario MariaDB [email protected]. Adicionalmente, asegúrate de cambiar la contraseña con la nueva contraseña.

CREATE DATABASE monicacrm_db;
CREATE USER [email protected];
GRANT ALL ON monicacrm_db.* TO 'monica'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

crear base de datos

A continuación, ejecuta la sucesivo consulta para confirmar los privilegios del becario MariaDB [email protected].

SHOW GRANTS FOR [email protected];
quit

Y verás que el becario MariaDB [email protected] tiene permiso para ingresar a la almohadilla de datos Monica CRM monicacrm_db.

comprobar privilegios de usuario

Instalar Composer

Luego de configurar la almohadilla de datos MariaDB y el becario, ahora instalarás el Composer que se utilizará para instalar las dependencias PHP para el Monica CRM.

Instala Composer mediante el comando de una sarta que aparece a continuación. Este comando descargará el script instalador de Composer y lo ejecutará. A continuación, instala Composer en /usr/bin/composer.

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer

instalar composer

Una vez instalado Composer, verifícalo utilizando el sucesivo comando composer. Deberías ver la lectura detallada de Composer y la página de ayuda sobre cómo utilizar Composer.

sudo -u www-data composer -v

Instalar Node.js y Yarn

Luego de instalar Composer, ahora instalarás Node.js y Yarn. Entreambos paquetes se utilizarán para inventariar archivos estáticos para Monica CRM. Y la lectura presente de Monica CRM requiere al menos Node.js v16.

El repositorio por defecto de Debian proporciona Node.js v12, así que instalarás la última lectura de Node.js a través del repositorio de terceros Nodesource.

Ejecuta el sucesivo comando para añadir el repositorio Nodesource de Node.js. En este ejemplo, instalarás Node.js v16.

curl -fsSL https://deb.nodesource.com/setup_16.x | bash -

Ahora verás que el repositorio Nodesource se añade a tu sistema Debian y se actualiza el índice de paquetes.

repositorio nodejs

A continuación, ejecuta el sucesivo comando para añadir el repositorio de paquetes Yarn a tu sistema.

curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

Ahora actualiza y refresca tu índice de paquetes de Debian. A continuación, instala Node.js y Yarn mediante el sucesivo comando apt.

sudo apt update
sudo apt install nodejs yarn

Introduce y para confirmar la instalación y pulsa ENTER para confirmar y continuar.

instalar nodejs yarn

Una vez instalados Node.js y Yarn, ejecuta el sucesivo comando para comprobar el archivo binario de ambas aplicaciones.

which node
which yarn

Por postrero, comprueba la lectura de Node.js y Yarn mediante el sucesivo comando. Verás la lectura instalada de Node.js y Yarn en la salida.

node --version
yarn --version

En este punto, las dependencias del paquete para Monica CRM están instaladas. A continuación, iniciarás la instalación de Monica CRM descargando el código fuente, instalando las dependencias de los paquetes mediante Composer, y luego compilando los archivos estáticos utilizando Node.js y Yarn.

Instalación de Monica CRM

Ahora comenzarás la instalación de Monica CRM. Descargarás el código fuente, establecerás el permiso y la propiedad correctos, instalarás las dependencias PHP mediante Composer, instalarás y generarás archivos estáticos mediante Yarn y Node.js, y luego generarás la secreto de la aplicación y migrarás la almohadilla de datos para producción.

Antaño de comenzar la instalación, asegúrate de que el paquete git está instalado. Si no lo está, puedes instalarlo mediante el sucesivo comando apt.

sudo apt install git -y

Ahora, mueve el directorio de trabajo a«/var/www/» y descarga el código fuente de Monica CRM mediante el comando git como se indica a continuación. Verás el nuevo directorio«monica«.

cd /var/www/
git clone https://github.com/monicahq/monica.git

Muévete al directorio«/var/www/monica» y mueve la rama maestra a la lectura específica«3.7.0«. Puedes consultar la página de GitHub de Monica CRM para obtener versiones detalladas de Monica CRM.

cd /var/www/monica
git checkout tags/v3.7.0

A continuación, copia la configuración por defecto .env.example a .env. Luego, cambia la propiedad a‘www-data‘.

cp /var/www/monica/.env.example /var/www/monica/.env
sudo chown www-data:www-data /var/www/monica/.env

Edita el archivo .env utilizando el editor nano.

nano /var/www/monica/.env

Cambia el‘APP_ENV‘ a production y el‘APP_URL‘ al nombre de dominio de tu instalación de Monica CRM. A continuación, cambia los datos de la almohadilla de datos MariaDB por la almohadilla de datos y el becario que has creado antiguamente.

APP_ENV=production
...
APP_URL=https://hwdomain.io/
...
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
...
DB_DATABASE=monica
DB_USERNAME=homestead
DB_PASSWORD=password

Guardaspaldas el archivo y sal del editor cuando hayas terminado.

Ahora ejecuta el sucesivo comando para cambiar la propiedad del directorio de instalación de Monica CRM ‘/var/www/monica‘ al becario www-data. A continuación, crea otro directorio ‘/var/www/.cache‘, y cambia la propiedad a www-data.

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

sudo mkdir -p /var/www/.cache
sudo chown -R www-data:www-data /var/www/.cache

A continuación, ejecuta el sucesivo comando de composer para instalar las dependencias del paquete PHP para Monica CRM.

sudo -u www-data composer install --no-interaction --no-dev

A continuación puedes ver la instalación de las dependencias PHP.

instalar dependencias

Una vez instaladas las dependencias, verás un resultado como el sucesivo:

instalación completada

A continuación, crea otro directorio nuevo que se utilizará para acumular la gusto de los paquetes JavaScript. A continuación, cambia la propiedad a www-data.

sudo mkdir -p /var/www/.yarn
sudo chown -R www-data:www-data /var/www/.yarn

Luego, instala los paquetes JavaScript para las aplicaciones web Monica CRM y genera los archivos estáticos para el entorno de producción mediante el comando yarn que aparece a continuación.

sudo -u www-data yarn install
sudo -u www-data yarn run production

A continuación puedes ver el proceso de descarga de los paquetes JavaScript.

instalar dependencias

A continuación puedes ver el proceso de compilación de los archivos estáticos.

compilar archivos estáticos

Cuando se compilen los archivos estáticos, verás el mensaje de salida como«Compilado correctamente en ...».

archivos estáticos generados

Ahora, ejecuta el sucesivo comando para difundir la secreto de aplicación para Monica CRM. A continuación, migra la almohadilla de datos para producción. Cuando se te pida que confirmes la influencia, introduce«sí» y pulsa INTRO para continuar.

sudo -u www-data php artisan key:generate
sudo -u www-data php artisan setup:production -v

generar la clave de la app y migrar la base de datos

Una vez migrada la almohadilla de datos, verás un resultado como el sucesivo:

base de datos migrada

Por postrero, para completar la configuración de Monica CRM, incluso necesitarás crear un Cronjob. Ejecuta el sucesivo comando para crear un nuevo cron para el becario www-data.

crontab -u www-data -e

Elige tu editor preferido y prueba la sucesivo configuración en el archivo.

* * * * *   /usr/bin/php /var/www/monica/artisan schedule:run >> /dev/null 2>&1

Guardaspaldas el archivo y sal del editor cuando hayas terminado.

Para afianzar el permiso del directorio de instalación de Monica CRM, ejecuta el sucesivo comando para cambiar la propiedad a www-datos. A continuación, cambia el permiso del directorio‘storage‘ a 775.

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

Llegados a este punto, ya has completado la configuración del Monica CRM. A continuación, configurarás el monolito de servidor Nginx para el Monica CRM.

Configurar el monolito de servidor Nginx

Antaño de configurar el monolito de servidor Nginx, asegúrate de que tu nombre de dominio apunta a la dirección IP del servidor, y asegúrate incluso de que ya tienes certificados SSL. Si no tienes certificados SSL, puedes difundir SSL gratuitamente a través de Let’sencrypt.

Crea un nuevo archivo‘/etc/nginx/sites-available/monicacrm‘ utilizando el editor nano.

sudo nano /etc/nginx/sites-available/monicacrm

Añade las configuraciones de Nginx que se indican a continuación. Y asegúrate de cambiar el nombre de dominio y la ruta de los certificados SSL.

server {
listen 80;
server_name hwdomain.io;
return 301 https://$host$request_uri;

}

server {
listen 443 ssl http2;

ssl_certificate /etc/letsencrypt/live/hwdomain.io/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/hwdomain.io/private.key;

server_name hwdomain.io;
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/php8.1-fpm.sock;
}
}

Guardaspaldas el archivo y sal del editor cuando hayas terminado.

A continuación, ejecuta el sucesivo comando para activar el monolito de servidor Nginx‘monicacrm‘. A continuación, verifica la configuración de Nginx para asegurarte de que tienes la configuración adecuada.

sudo ln -s /etc/nginx/sites-available/monicacrm /etc/nginx/sites-enabled/
sudo nginx -t

Si la configuración de Nginx es correcta, deberías ver un mensaje de salida como«Sintaxis correcta – prueba realizada correctamente«.

Ahora, ejecuta el sucesivo comando systemctl para reiniciar el servicio Nginx y aplicar la configuración del monolito del servidor nee.

sudo systemctl restart nginx

Ya puedes ingresar a tu instalación de Monica CRM a través del navegador web.

Para terminar

Abre el navegador web y entrevista el nombre de dominio de tu instalación de Monica CRM (es sostener: https://hwdomain.io/). En la primera configuración, tendrás que registrar una cuenta para tu instalación de Monica CRM.

Introduce el nombre de becario, la contraseña y la dirección de correo electrónico. A continuación, haz clic en Registrar.

configurar usuario

Luego de que el becario se registre, verás el panel de control del becario de Monica CRM.

salpicadero

Conclusión

En este tutorial, has instalado Monica CRM en el servidor Debian 11. Todavía has configurado la pila LEMP (Nginx, MariaDB y PHP-FPM) en el servidor Debian, has instalado el gerente de paquetes PHP Composer y has instalado Node.js y Yarn.

A lo dispendioso de este tutorial, ya tienes el Monica CRM instalado y asegurado mediante conexiones HTTPS. Ahora puedes comenzar a organizar tus contactos, crear diarios y hacer un seguimiento de todo lo importante sobre tus contactos.