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
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.
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
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.
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 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.
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;
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.
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
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.
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.
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.
Una vez instaladas las dependencias, verás un resultado como el sucesivo:
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.
A continuación puedes ver el proceso de compilación de los archivos estáticos.
Cuando se compilen los archivos estáticos, verás el mensaje de salida como«Compilado correctamente en ...».
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
Una vez migrada la almohadilla de datos, verás un resultado como el sucesivo:
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.
Luego de que el becario se registre, verás el panel de control del becario de Monica CRM.
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.