GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar el software CRM de código abierto EspoCRM en Debian 9

En esta guía, le mostraremos cómo instalar y configurar la última versión del software EspoCRM en Debian 9 sobre una pila LAMP, para crear una plataforma gratuita de gestión de relaciones con los clientes en línea para su empresa.

EspoCRM es una plataforma de administración de relaciones con los clientes (CRM) de código abierto, flexible y fácil de usar, diseñada para ser rápida, simple y personalizable. El software está escrito principalmente en el lenguaje de programación PHP y se puede implementar fácilmente en Linux sobre un servidor web Apache o Nginx, el lenguaje de programación PHP y el sistema de administración de bases de datos MySQL o MariaDB. EspoCRM es compatible con una gran variedad de idiomas y se puede implementar en centros de llamadas, bancos, educación, atención médica, turismo, comercio minorista, bienes raíces o negocios de comercio electrónico.

Requisitos

  • Instalación mínima en una máquina virtual o servidor físico del sistema operativo Debian 9
  • Privilegios de cuenta raíz o una cuenta con privilegios raíz a través del comando sudo (acceso local a través de consola o acceso remoto a través de SSH)
  • Una de las NIC del servidor configurada con una dirección IP estática
  • Un nombre de dominio público registrado para que realice la instalación a través de la interfaz web y acceda al sitio web de la aplicación. En intranets, puede acceder a la aplicación a través de un dominio local o a través de la dirección IP de su servidor
  • Un servidor de correo configurado en sus instalaciones o acceso a un servicio de correo electrónico público, como Gmail, Outlook, Yahoo!

Requisitos previos

Primero, inicie sesión en la consola de su servidor Debian y asegúrese de actualizar los repositorios del sistema, el núcleo y los paquetes de software emitiendo los siguientes comandos.

apt update
apt upgrade

A continuación, configure el nombre de host de la máquina ejecutando el siguiente comando. Asegúrese de reemplazar el valor del nombre de host utilizado en este tema con su propia notación.

hostnamectl set-hostname www.mycrm.org

Ejecute los siguientes comandos para comprobar si el nombre de host de la máquina se ha configurado correctamente.

hostnamectl
cat /etc/hostname
hostname –s
hostname –f

Finalmente, reinicie el servidor Debian para aplicar las actualizaciones del núcleo y el nombre de host cambie correctamente.

systemctl reboot

A continuación, debe instalar el paquete de software LAMP en el sistema Debian. En el primer paso, instale el servidor web Apache y un intérprete de puerta de enlace de procesamiento PHP junto con todos los módulos PHP necesarios para que la aplicación funcione correctamente ejecutando el siguiente comando en la consola de su servidor.

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-gd php7.0-opcache php7.0-mbstring php7.0-xml php7.0-json php7.0-zip php7.0-curl php7.0-imap php7.0-soap php7.0-mcrypt php-mailparse

A continuación, instale un backend de base de datos RDBMS. En esta guía, configuraremos la aplicación EspoCRM para usar la base de datos MariaDB como backend. Ejecute el siguiente comando para instalar la base de datos MariaDB y el módulo PHP necesario para acceder a la base de datos MySQL.

apt install mariadb-server php7.0-mysql mariadb-client

Después de instalar Apache, la base de datos MySQL y PHP, abra el archivo de configuración predeterminado de PHP para editar y modificar las siguientes variables de PHP como se describe a continuación. Asegúrese de que inicialmente haga una copia de seguridad del archivo de configuración de PHP.

cp /etc/php/7.0/apache2/php.ini{,.backup}
nano /etc/php/7.0/apache2/php.ini

Busque, edite y cambie las siguientes variables en php.ini archivo de configuración:

file_uploads = On
default_charset = UTF-8
memory_limit = 256M
post_max_size = 50M
upload_max_filesize = 50M
memory_limit = 256M
max_input_time = 180
max_execution_time = 180
zend.assertions = 0
date.timezone = Europe/London

Reemplace time.zone variable de acuerdo a su tiempo físico consultando la lista de zonas horarias proporcionada por PHP docs en el siguiente enlace http://php.net/manual/en/timezones.php

Para aumentar la velocidad de carga de las páginas de su aplicación a través del complemento OPCache disponible en PHP7, inserte las siguientes líneas de código OPCache en la parte inferior del archivo de configuración del intérprete de PHP, debajo de [opcache] declaración, como se detalla a continuación:

opcache.enable=1 
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

Cierra el php.ini archivo de configuración y verifique si las variables se han agregado correctamente, algo que puede hacer emitiendo el siguiente comando.

grep opcache /etc/php/7.0/apache2/php.ini| grep -v ";"

A continuación, agregue la siguiente regla de aplicación de cortafuegos UFW en su sistema para permitir que el tráfico HTTP pase a través del cortafuegos emitiendo el siguiente comando.

ufw allow WWW

o

ufw allow 80/tcp

Algunos administradores de sistemas prefieren iptables Reglas sin procesar para administrar las reglas de Firewall en el servidor Debian. En el caso de iptables, emita los siguientes comandos para instalar el firewall y agregue las siguientes reglas para permitir el tráfico entrante de los puertos 80 y 22 (en el caso de conexiones SSH remotas) para que pueda acceder al sistema y navegar por la aplicación a través de un navegador web.

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
iptables -I INPUT -p tcp --destination-port 22 -j ACCEPT
netfilter-persistent save
systemctl restart netfilter-persistent
systemctl status netfilter-persistent
systemctl enable netfilter-persistent.service

Finalmente, abra un navegador y visite la dirección IP de su máquina Debian o su nombre de dominio a través del protocolo HTTP. Si no conoce la dirección IP de su máquina, ejecute ifconfig o ip a comando para obtener la dirección IP de su servidor. Si se establece la conexión con el servidor web, debería poder ver la página web predeterminada del servidor web Apache en su navegador.

http://tu_dominio.tld

En el siguiente paso, habilite la reescritura de Apache y elimine los módulos SSL requeridos por EspoCRM para ejecutarse correctamente, emitiendo el siguiente comando.

a2enmod rewrite deflate ssl

El módulo SSL requiere que también habilite el archivo de configuración SSL predeterminado para visitar la aplicación a través del protocolo HTTPS. El protocolo HTTPS se utiliza para asegurar el tráfico entre el servidor y los clientes. Ejecute el siguiente comando para habilitar el archivo de configuración del sitio Apache SSL.

a2ensite default-ssl.conf

Luego, abra el archivo de configuración del sitio SSL predeterminado de Apache con un editor de texto e inserte las siguientes líneas de código después de DocumentRoot directiva, como se muestra en el siguiente ejemplo, para activar las reglas colocadas en el archivo .htaccess. El archivo .htaccess generalmente se encuentra en la parte superior de la raíz web de su dominio.

nano /etc/apache2/sites-enabled/default-ssl.conf

Extracto del archivo de configuración del sitio SSL:

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

También debe abrir /etc/apache2/sites-enabled/000-default.conf archivo para editar y agregar las mismas reglas de reescritura de URL que se insertaron en el archivo de configuración SSL. Agregue las líneas de código después de DocumentRoot declaración como se muestra en el siguiente ejemplo.

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Finalmente, reinicie el demonio de Apache para aplicar todas las reglas configuradas hasta el momento y visite su dominio a través del protocolo HTTPS. Debido a que está utilizando los pares de certificados autofirmados automáticamente emitidos por Apache en la instalación, certificado que no es de confianza para el navegador, se debe mostrar una advertencia de error de conexión insegura en el navegador. Acepte la advertencia para aceptar el certificado que no es de confianza y continúe siendo redirigido a la página web predeterminada de Apache.

systemctl restart apache2

https://tudominio.tld

Si planea exponer su plataforma EspoCRM para la producción en Internet, debe considerar comprar un certificado emitido por una autoridad de certificación de confianza u obtener un par de certificados gratuitos de Let's Encrypt CA, para que los clientes puedan visitar la aplicación sin que aparezcan errores en sus navegadores. .

En caso de que la aplicación de firewall UFW bloquee las conexiones de red entrantes al puerto HTTPS, debe agregar una nueva regla para permitir que el tráfico HTTPS pase a través del firewall emitiendo el siguiente comando.

ufw allow HTTPS

o

ufw allow 443/tcp

Para el firewall de iptables, agregue la siguiente regla para permitir el tráfico entrante del puerto 443 en el firewall para que pueda buscar el nombre de dominio. Guarde y reinicie el servicio iptables para aplicar las reglas después de reiniciar el sistema.

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
netfilter-persistent save
systemctl restart netfilter-persistent
systemctl status netfilter-persistent

Finalmente, cree un archivo de información PHP en la ruta webroot de su dominio ejecutando el siguiente comando.

echo '<?php phpinfo(); ?>'| tee /var/www/html/info.php

Verifique la configuración de PHP y la configuración de la zona horaria visitando el archivo de script de información de PHP desde un navegador en la siguiente URL, como se ilustra en la imagen a continuación. Desplácese hacia abajo hasta la fecha configuración para verificar la configuración de la zona horaria de PHP.

https://dominio.tld/info.php

En el siguiente paso, inicie sesión en la consola del servidor MySQL y asegure la cuenta raíz de MariaDB ejecutando los siguientes comandos. Escriba salir para salir de la consola de la base de datos.

mysql -h localhost
Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 2

Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

 

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(ninguno)]> usar mysql;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

 

Database changed

MariaDB [mysql]> actualice el conjunto de usuarios plugin='' where user='root';

Query OK, 1 row affected (0.00 sec)

Rows matched: 1  Changed: 1  Warnings: 0

MariaDB [mysql]> privilegios de vaciado;

Query OK, 0 rows affected (0.00 sec)

 

MariaDB [mysql]> exit

Bye

Además, ejecute mysql_secure_installation script para asegurar aún más el demonio MariaDB. Mientras ejecuta el script, se le harán una serie de preguntas diseñadas para proteger la base de datos MariaDB, como:cambiar la contraseña raíz de MySQL, eliminar usuarios anónimos, deshabilitar los inicios de sesión raíz remotos y eliminar la base de datos de prueba. Escriba "sí" en todas las preguntas que se le hagan, como se ilustra en el siguiente extracto.

mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB

      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

 

In order to log into MariaDB to secure it, we'll need the current

password for the root user.  If you've just installed MariaDB, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.

 

Enter current password for root (enter for none):

OK, successfully used password, moving on...

 

Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorisation.

 

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

 ... Success!

 

By default, a MariaDB installation has an anonymous user, allowing anyone

to log into MariaDB without having to have a user account created for

them.  This is intended only for testing, and to make the installation

go a bit smoother.  You should remove them before moving into a

production environment.

 

Remove anonymous users? [Y/n] y

 ... Success!

 

Normally, root should only be allowed to connect from 'localhost'.  This

ensures that someone cannot guess at the root password from the network.

 

Disallow root login remotely? [Y/n] y

 ... Success!

 

By default, MariaDB comes with a database named 'test' that anyone can

access.  This is also intended only for testing, and should be removed

before moving into a production environment.

 

Remove test database and access to it? [Y/n] y

 - Dropping test database...

 ... Success!

 - Removing privileges on test database...

 ... Success!

 

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

 

Reload privilege tables now? [Y/n] y

 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB

installation should now be secure.

Thanks for using MariaDB!

Verifique el problema de seguridad del servidor MariaDB intentando iniciar sesión en la base de datos a través de la consola sin contraseña de root. Se debe denegar el acceso a la base de datos si no se proporciona una contraseña para la cuenta raíz, como se ilustra en el siguiente extracto del comando:

mysql -h localhost -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Ahora, intente iniciar sesión en la base de datos con una contraseña de root. Debería poder acceder a la consola de MySQL, como se muestra en el siguiente ejemplo de comando:

mysql -h localhost -u root -p
Enter password:

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 15

Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> exit

Bye

Instalar EspoCRM

Después de que el servidor Apache HTTP, el demonio MariaDB y el intérprete PHP se hayan configurado correctamente para instalar la aplicación EspoCRM en su sistema Debian. Ejecute el siguiente comando para instalar las utilidades de línea de comandos mencionadas en él.

apt install wget bash-completion zip unzip curl

En el siguiente paso, visite la página de descarga oficial de EspoCRM en https://www.espocrm.com/download/ y obtenga el último archivo comprimido del paquete zip en su sistema a través de la utilidad wget. La versión actual de EspoCRM al momento de escribir este tutorial es EspoCRM-5.0.3

wget https://www.espocrm.com/downloads/EspoCRM-5.0.3.zip
ls

Una vez que finalice la descarga del archivo zip, extraiga el archivo zip en su directorio de trabajo actual y enumere los archivos extraídos emitiendo los siguientes comandos. Los archivos de instalación de la aplicación se encuentran en EspoCRM-5.0.3 directorio.

unzip EspoCRM-5.0.3.zip
ls
ls -al EspoCRM-5.0.3

A continuación, asegúrese de eliminar los archivos index.html e info.php del directorio webroot:

rm /var/www/html/index.html
rm /var/www/html/info.php

Copie todos los archivos ubicados en el directorio extraído a la ruta raíz del documento de su servidor web emitiendo el siguiente comando. Además, asegúrese de copiar el archivo oculto .htaccess a la ruta webroot.

cp -rf EspoCRM-5.0.3/* /var/www/html/
cp EspoCRM-5.0.3/.htaccess /var/www/html/

A continuación, ejecute los siguientes comandos para otorgar a Apache www-data cuenta con permisos de escritura completos en la ruta raíz web. Usa el ls comando para enumerar los permisos para los archivos instalados de EspoCRM ubicados en el directorio /var/www/html/.

chown -R www-data:www-data /var/www/html/
ls –al /var/www/html/

A continuación, inicie sesión en la consola de la base de datos MariaDB y cree una base de datos EspoCRM. Utilice un nombre descriptivo para la base de datos y cree un usuario con una contraseña segura para administrar esta base de datos. Reemplace el nombre de la base de datos, el usuario y la contraseña utilizados en este ejemplo con sus propios valores. Los comandos utilizados para este paso se muestran en el siguiente extracto.

mysql –u root -p
Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 2

Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

 

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(ninguno)]> crear base de datos espocrm_db;

Query OK, 1 row affected (0.00 sec)

MariaDB [(ninguno)]> otorgar todos los privilegios en espocrm_db.* a 'crm_user'@'localhost' identificado por 'password1234';

Query OK, 0 rows affected (0.00 sec)

MariaDB [(ninguno)]> privilegios de vaciado;

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit

Bye

Ahora, abra un navegador y navegue por la dirección IP o el nombre de dominio de su servidor a través del protocolo HTTPS para continuar con el proceso de instalación de la plataforma EspoCRM. En la primera pantalla de instalación, el instalador de EspoCRM mostrará un mensaje de bienvenida y una lista desde donde puede seleccionar el idioma de instalación. Seleccione su idioma apropiado de la lista presentada y presione el botón Iniciar para iniciar el proceso de instalación, como se ilustra en la imagen a continuación.

https://tudominio.tld

En la siguiente pantalla, lea las declaraciones del acuerdo de licencia y marque "Acepto el acuerdo t" y presione el botón Siguiente para pasar al siguiente paso.

En la siguiente pantalla de instalación, configure los ajustes de conexión de la base de datos MySQL. Proporcione la dirección de host de la base de datos MySQL (127.0.0.1 o localhost), el nombre de la base de datos, el nombre de usuario y la contraseña configurada para la aplicación EspoCRM. Después de completar todos los campos de la base de datos requeridos, presione el botón Siguiente para pasar al siguiente paso de instalación. Use la siguiente captura de pantalla como guía para completar este paso.

En la siguiente pantalla, el instalador de EspoCRM verificará las configuraciones de su entorno de servidor para determinar si todas las variables de MySQL recomendadas y los módulos y configuraciones de PHP están configurados correctamente. Si se pasan todas las configuraciones, presione el botón Instalar para iniciar el proceso de instalación de EspoCRM.

En el siguiente paso, agregue una cuenta de administrador para EspoCRM y configure una contraseña segura para esta cuenta de administrador. Cuando termine, presione el botón Siguiente para continuar con el proceso de instalación.

A continuación, configure los ajustes del sistema EspoCRM seleccionando el Formato de fecha y el Formato de hora adecuados. Además, elija la configuración de zona horaria apropiada para su aplicación seleccionando el continente/ciudad más cercano de la lista de zonas horarias provista. Configure el primer día de la semana, la moneda predeterminada de la aplicación, los separadores de miles y decimales y el idioma del sistema. Cuando todas las configuraciones anteriores estén configuradas, presione el botón Siguiente para continuar con el proceso de instalación.

En el siguiente paso, configure los ajustes de correo saliente de EspoCRM. Agregue un nombre para el encabezado de correo electrónico "De nombre" y la dirección de contacto de correo electrónico de la cuenta de administrador. Esta dirección se utilizará para enviar correos electrónicos a clientes externos. Además, asegúrese de agregar la dirección del servidor de correo electrónico, el número de puerto del servidor de correo y marque la casilla de verificación Auth y proporcione las credenciales de autenticación del servidor y el nivel de seguridad, si ese es el caso. Cuando termine de completar este paso, presione el botón siguiente para completar el proceso de instalación.

Una vez que se haya importado la estructura de la base de datos y se hayan escrito todas las configuraciones de la plataforma en el archivo de configuración de la aplicación, se completará el proceso de instalación. El instalador mostrará una notificación de que la instalación se ha completado con éxito y mostrará una nota sobre el trabajo programado de EspoCRM que debe agregar al archivo crontab de su servidor.

Para acceder y administrar su aplicación CRM, abra un navegador y navegue hasta la dirección IP o el nombre de dominio de su servidor a través de HTTPS. Utilice las credenciales configuradas durante el proceso de instalación para iniciar sesión en el panel backend de EspoCRM, como se muestra en la siguiente captura de pantalla.

https://tudominio.tld

El panel de control predeterminado de EspoCRM no debería contener datos hasta el momento. En la siguiente captura de pantalla se muestra una vista previa del tablero inicial de EspoCRM.

Para configurar aún más los ajustes de la plataforma EspoCRM, presione el ícono superior derecho con tres líneas horizontales y presione el enlace Administración desde el menú de arriba hacia abajo, como se muestra en la imagen a continuación.

Para obligar a los visitantes a acceder de forma segura a la interfaz de back-end de EspoCRM a través del protocolo HTTPS que cifra el tráfico entre el servidor y los navegadores del cliente, regrese a la terminal de su servidor y edite el .htaccess archivo ubicado en la ruta raíz del documento de su sitio web, emitiendo el siguiente comando.

nano /var/www/html/.htaccess

En el archivo .htaccess, busque el  línea y agregue las siguientes reglas después de RewriteEngine On para redirigir automáticamente todo el tráfico del dominio a HTTPS.

# Redirect to HTTPS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]

En la parte superior, el archivo puede cambiar la configuración del servidor PHP nativo, como valores aumentados para upload_max_filesize y post_max_size Variables de PHP, para admitir cargas de archivos grandes en el almacenamiento de la aplicación. Modifique estas configuraciones de PHP con mucha precaución. Asegúrese de que estas variables coincidan con los recursos y las configuraciones de su servidor.

# Modify PHP settings
php_value session.use_trans_sid 0
php_value register_globals 1
php_value upload_max_filesize 100M
php_value post_max_size 100M

A continuación, pruebe el trabajo programado antes de agregarlo para que se ejecute en el archivo daemon crontab, emitiendo el siguiente comando. El trabajo de crotask debe ejecutarse con privilegios de cuenta de tiempo de ejecución del servidor Apache HTTP.

sudo -u www-data /usr/bin/php7.0 -f /var/www/html/cron.php

Finalmente, agregue el siguiente trabajo crontab propiedad de Apache www-data cuenta, emitiendo el siguiente comando.

crontab -u www-data –e

Extracto del archivo crontab:

*    *    *    *    *     /usr/bin/php7.0 -f /var/www/html/cron.php > /dev/null 2>&1

¡Eso es todo! Ha instalado y configurado correctamente la plataforma EspoCRM en Debian 9. Para otras configuraciones relacionadas con la plataforma EspoCRM, visite la página de documentación en la siguiente dirección: https://www.espocrm.com/documentation/


Debian
  1. Cómo instalar PHP 7.4/7.3/7.2/7.1 en Debian 10/Debian 9

  2. Cómo instalar PHP 7.4 en Debian 10

  3. Cómo instalar PHP 8 en Debian 10

  4. Cómo instalar PHP 7.3 en Debian 9

  5. Cómo instalar PHP 7.3 en Debian 10

Cómo instalar PHP en Debian 10 Linux

Cómo instalar la plataforma CMS de octubre en Debian 9

Cómo instalar PyroCMS basado en Laravel en Debian 9

Cómo instalar Craft CMS en Debian 9

Cómo instalar Pagekit CMS en Debian 9

Cómo instalar Nginx y PHP en Debian 10