Cómo instalar YetiForce en Debian 9 Stretch

En este artículo explicamos cómo instalar YetiForce en Debian 9 Stretch paso a paso, de manera que puedas trabajar con esta estupenda aplicación CRM de código abierto sobre tu servidor o VPS Debian.

Antes de instalar YetiForce en Debian 9 Stretch

Para poder completar todos los pasos de esta guía de instalación de YetiForce en Debian 9 Stretch necesitas partir de la siguiente base:

  • Una instalación reciente de Debian 9 Stretch.
  • Una pila tipo LAMP (servidor web, PHP y bases de datos).
  • Paquetes instalados: unzip.
  • Acceso a consola con root o un usuario con permisos de sudo.
  • Conexión a Internet.

Si no dispones aún del entorno necesario, es recomendable echar un vistazo previo a nuestra guía de instalación LAMP en Debian 9 Stretch.

Lo recomendable es instalar YetiForce sobre un servidor virtual propio con seguridad HTTPS, pero por simplicidad, en este tutorial instalamos YetiForce como parte de la página principal del servidor Debian 9 y sobre HTTP. Cambiar la configuración es sencillo.

Cómo descargar YetiForce en Debian 9 Stretch

Vamos a descargar YetiForce para Debian 9 Stretch desde la zona de descargas del proyecto, donde obtendremos la última versión.

como descargar yetiforce para debian 9 stretch

Podemos descargar el paquete directamente desde el navegador pero en este caso lo haremos desde consola mediante el comando wget:

~$ wget https://github.com/YetiForceCompany/YetiForceCRM/releases/download/6.1.0/YetiForceCRM-6.1.0-complete.zip

Cómo instalar YetiForce en Debian 9 Stretch

Para poder instalar YetiForce en Debian 9 Stretch es necesario realizar una serie de tareas previas para que se cumplan todos los requisitos que exige esta aplicación.

Archivos de YetiForce

Descomprimimos el archivo que acabamos de descargar en la ubicación que hayamos decidido para configurar el servidor web:

~$ sudo unzip -q YetiForceCRM-6.1.0-complete.zip -d /var/www/yetiforce

YetiForce debe poder escribir y modificar archivos dentro de su propio directorio de instalación, por lo que la solución más rápida es conceder la propiedad del directorio y su contenido al servidor web:

~$ sudo chown -R www-data /var/www/yetiforce/

Servidor web

Aunque lo ideal es instalar YetiForce como servidor virtual independiente, se puede instalar perfectamente como parte del sitio web principal del servidor Debian 9 Stretch. Tanto en una como en otra situación se necesitará una configuración personalizada. En este caso configuraremos un alias de Apache para el sitio web de YetiForce:

~$ sudo nano /etc/apache2/conf-available/yetiforce.conf

En principio, el contenido será el alias que estamos configurando y una directiva AllowOverride para que el servidor web tenga en cuenta los archivos .htaccess del directorio de YetiForce:

Alias /yetiforce /var/www/yetiforce

<Directory /var/www/yetiforce>
        AllowOverride all
</Directory>

Guardamos los cambios y activamos esta configuración:

~$ sudo a2enconf yetiforce

Además, YetiForce puede hacer uso del módulo Rewrite de Apache, por lo que nos aseguraremos de que esté activado:

~$ sudo a2enmod rewrite

Activaremos todos estos cambios reiniciando el servidor web:

~$ sudo systemctl restart apache2

PHP

YetiForce requiere la instalación en Debian 9 Stretch de algunas extensiones de PHP:

~$ sudo apt install -y php-apcu php-bcmath php-curl php-gd php-imagick php-imap php-intl php-ldap php-mbstring php-soap php-xml php-zip

Además, YetiForce requiere ciertos valores personalizados de PHP que especificaremos en el archivo php.ini, por ejemplo para PHP 7.4 y Apache:

~$ sudo nano /etc/php/7.4/apache2/php.ini

Buscaremos las siguientes directivas y les daremos los valores mostrados:

...
error_reporting = E_ALL & ~E_NOTICE
...
output_buffering = "On"
...
session.use_strict_mode = On
...
output_buffering = "On"
...
max_execution_time = 600
...
max_input_time = 600
...
default_socket_timeout = 600
...
memory_limit = 1G
...
short_open_tag = On
...
post_max_size = 50M
...
upload_max_filesize = 100M
...
max_input_vars = 10000
...
session.gc_probability = 1
...
auto_detect_line_endings = On
...
opcache.enable_cli = On
...
opcache.max_accelerated_files = 40000
...
opcache.revalidate_freq = 0
...
opcache.file_update_protection = 0
...
opcache.interned_strings_buffer = 100
...
opcache.save_comments = 0
...
realpath_cache_ttl = 600
...
mysqlnd.collect_statistics = Off
...

Guardamos el archivo y recargamos la configuración del servidor web o el servicio PHP, según corresponda:

~$ sudo systemctl reload apache2

Base de datos

Como cualquier aplicación web compleja que maneje datos, YetiForce se apoya en el servicio de bases de datos de nuestro sistema Debian 9 Stretch. En este caso trabajamos con MariaDB/MySQL, así que conectaremos con el cliente de consola mysql para crear la base y usuario que necesitamos:

~$ mysql -u root -p

Creamos la base de datos:

> create database yetiforce character set utf8 collate utf8_unicode_ci;

Para MySQL 8, creamos el usuario indicando el plugin de autenticación correcto:

> create user yetiforce@localhost identified with mysql_native_password by 'XXXXXXXX';

Si trabajamos con MySQL 5 ó MariaDB, la creación del usuario es más simple:

> create user yetiforce@localhost identified by 'XXXXXXXX';

En cualquier caso concedemos los permisos necesarios al usuario sobre la base de datos:

> grant all privileges on yetiforce.* to yetiforce@localhost;

Y terminamos la sesión:

> exit

Por otro lado, YetiForce requiere cierta configuración del servicio de bases de datos. Editaremos el archivo de configuración de MariaDB/MySQL, que según la versión que tengamos instalada, estará ubicado en lugares diferentes. En el caso de MariaDB 10.x el archivo es el siguiente:

~$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Dentro de la sección mysqld añadimos o actualizamos la siguiente línea:

...
[mysqld]
...
character-set-server = utf8
table_definition_cache = 2400
innodb_lock_wait_timeout = 600
...

Guardamos los cambios y reiniciamos el servicio:

~$ sudo systemctl restart mariadb

Instalación web

Para terminar de instalar YetiForce en Debian 9 Stretch usaremos el instalador vía web, al que se accede con la URL que hayamos configurado para acceder a la aplicación.

En este ejemplo, en el que YetiForce es parte de la página web por defecto del servidor Debian 9 basta con añadir el alias /yetiforce a la dirección IP o dominio del servidor:

como instalar yetiforce en debian 9 stretch

El instalador inicia mostrándonos la selección de idioma, normalmente tomando por defecto el idioma del navegador.

Hecha la selección de idioma correspondiente, tenemos que aceptar la licencia de uso de YetiForce:

instalar yetiforce en debian 9 stretch

Tendremos que elegir qué tipo de instalación deseamos, de entre las tres opciones que se nos ofrecen:

instalacion de yetiforce en debian 9 stretch

En este tutorial obviamente elegiremos la opción «Own server«, ya que las otras dos son servicios profesionales de pago.

Seguimos el enlace «Instalar» y se nos mostrará una página con los requerimientos de YetiForce respecto a nuestro sistema Debian 9:

Si has seguido los pasos anteriores la mayoría de requisitos, entre ellos los más importantes e imprescindibles, deberían cumplirse.

Seguramente falte algún detalle poco relevante, como en este caso en el que no instalamos YetiForce como página principal del servidor:

Pero podemos seguir la instalación sin problemas pulsando «Ok«.

Llegará el momento de facilitar la información para la conexión con la base de datos, tal como la creamos anteriormente, los datos del usuario administrador y algunos datos de localización del sistema:

Antes de empezar con el proceso de instalación debemos confirmar la configuración de la misma, echando un vistazo a un resumen:

Sólo queda introducir la información de nuestra empresa u organización en el formulario preparado al efecto:

Tras un tiempo, mayor o menor dependiendo de la potencia del servidor Debian 9, terminará la instalación, tras la cual se abrirá la aplicación con la sesión iniciada, pidiéndose que introduzcamos el motivo del acceso a la plataforma:

Una vez guardado el comentario podremos acceder a la interfaz de YetiForce en nuestro sistema Debian 9.

¡Listo! Ya tienes la aplicación perfectamente instalada y lista para trabajar con ella.

Cómo configurar cron para YetiForce en Debian 9

Configurar YetiForce en Debian 9 Stretch es una tarea que depende un poco de cada organización, pero hay una serie de ajustes que son comunes para cualquier instancia de la aplicación.

YetiForce en español para Debian 9

Aunque durante la instalación de YetiForce seleccionamos el idioma español, este sólo se aplica al proceso de instalación. Para trabajar con la aplicación en español iremos a la sección «System settings / Systems tools / Language Management«, cerrando el pop-up de advertencias que pueda aparecer:

configurar yetiforce en español para debian 9 stretch

Pulsando el botón «Download language» aparecerá una lista de idiomas listos para descargar:

como configurar yetiforce en español en debian 9 stretch

Pulsando el botón «Download» del idioma que nos interese quedará instalado.

Pero para que la aplicación se muestre en el idioma deseado tendremos que ir a nuestra configuración de usuario, en «My preferences«, donde en la sección «Layout» podemos elegir el idioma deseado de la lista de idiomas disponibles en el sistema:

Los cambios se guardarán al cambiar de página. Por ejemplo, si regresamos al escritorio virtual comprobaremos que la aplicación se muestra en español:

yetiforce en español para debian 9 stretch

Mecanismo de cifrado

En algún momento un pop-up nos advertirá de que debería establecerse un sistema de cifrado de contraseñas, ya que en caso contrario se guardan en claro sobre la base de datos.

Accedemos a «Configuración del sistema / Seguridad / Encriptación» desde el menú lateral. Seleccionaremos el método de cifrado aes-256-cbc y estableceremos una clave de cifrado de 8 caracteres y un vector de inicialización de 16 caracteres hexadecimales:

Guardamos los cambios y el programador de tareas se encargará del resto.

Instalar la librería Roundcube

Otra de las alertas recurrentes de YetiForce en Debian 9 es la falta de la librería Roundcube. Para instalar esta librería accedemos a «Configuración del sistema / Configuración de módulos/ Módulos – Instalación» donde veremos al principio de la página que la librería no está instalada, pero existe un botón «Descargar librería«:

instalar la librería roundcube para yetiforce en debian 9 stretch

La descarga llevará unos instantes, pero finalmente aparecerá como instalada.

Programador de tareas cron

Ajustar el funcionamiento de las tareas programadas mediante cron es muy importante, ya que muchas funciones de la aplicación dependen de ello. Crearemos un nuevo archivo de configuración de cron para YetiForce:

~$ sudo nano /etc/cron.d/yetiforce

El contenido será:

YFPATH=/var/www/yetiforce

*/5 * * * * www-data php $YFPATH/cron.php > $YFPATH/cache/logs/cron.log 2>&1

Una vez guardados los cambios el programador de tareas empezará a funcionar.

Conclusión

Así de sencillo es instalar YetiForce en Debian 9 Stretch si sigues los pasos necesarios en el orden adecuado, es cuestión de tan sólo unos pocos minutos.

Si te ha quedado alguna duda, pregunta, quizás alguna sugerencia, etc. puedes dejar un comentario.

Ah, y si esta breve guía de instalación de YetiForce en Debian 9 Stretch ha cubierto tus expectativas y quieres agradecérnoslo, puedes dejar una propina de tan solo 1 $ desde PayPal:

O, si te sientes especialmente agradecido, puedes invitarnos a un café:

¡Gracias!

5/5 - (1 voto)

Deja un comentario

Este sitio esta protegido por reCAPTCHA y laPolítica de privacidady losTérminos del servicio de Googlese aplican.

El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.