Cómo instalar YetiForce en Debian 9 Stretch

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:

~$ sudo wget https://github.com/YetiForceCompany/YetiForceCRM/releases/download/5.2.0/YetiForceCRM-5.2.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-5.2.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 como apcu, bcmath, curl, gd, imagick, imap, intl, ldap, mbstring, soap, xml y zip:

~$ 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. Se podrían especificar todos en el archivo php.ini, pero se puede aprovechar el archivo de configuración para el servidor web que hemos creado anteriormente.

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

Dentro del bloque Directory podemos añadir los valores de PHP que necesita YetiForce:

...
<Directory /var/www/yetiforce>
...
        php_value error_reporting 32759
        php_value session.use_strict_mode on
        php_value output_buffering on
        php_value max_execution_time 600
        php_value max_input_time 600
        php_value default_socket_timeout 600
        php_value memory_limit 1024M
        php_value short_open_tag on
        php_value post_max_size 50M
        php_value upload_max_filesize 100M
        php_value max_input_vars 10000
        php_value session.gc_probability 1
        php_value auto_detect_line_endings on
        php_value opcache.validate_timestamps 0
        php_value opcache.revalidate_freq 0
        php_value opcache.file_update_protection 0
        php_value mysqlnd.collect_statistics off
</Directory>

Guardamos los cambios y el resto de valores los modificamos en php.ini (ajusta la ruta del archivo según la versión de PHP que tengas instalada en Debian 9):

~$ sudo nano /etc/php/7.x/apache2/php.ini

Estos serían los valores que faltan:

...
;opcache.enable_cli=0
opcache.enable_cli=1
...
;opcache.max_accelerated_files=10000
opcache.max_accelerated_files=40000
...
;opcache.interned_strings_buffer=8
opcache.interned_strings_buffer=100
...
;opcache.save_comments=1
opcache.save_comments=0
...
;realpath_cache_ttl = 120
realpath_cache_ttl = 600
...
disable_functions = (...),shell_exec,exec,system,passthru,popen
...

Todos estos cambios afectan a la aplicación web, pero el programador de tareas de YetiForce usa PHP desde consola (PHP CLI), que usa su propio archivo de configuración:

~$ sudo nano /etc/php/7.x/cli/php.ini

Los valores que debemos ajustar son los siguientes:

...
error_reporting = 32759
...
default_socket_timeout = 600
...
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=1
...
opcache.max_accelerated_files=40000
...
opcache.interned_strings_buffer=100
...
realpath_cache_ttl = 600
...
mysqlnd.collect_statistics = Off
...

Recargarmos la configuración del servidor web y/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 collate utf8_general_ci character set utf8;

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.1 procedente de los repositorios de Debian, el archivo es el siguiente:

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

Dentro de la sección mysqld añadiremos la siguiente línea:

...
[mysqld]
...
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:

¡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 / 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 «More information» 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.

Seguiremos el enlace «Activar el cifrado«, aunque también podemos acceder desde «Seguridad / Encriptación» desde el menú lateral. Seleccionaremos el método de cifrado aes-256-cbc y estableceremos una contraseña 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 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 Strech ha cubierto tus expectativas, ¡puedes invitarme a un café si te apetece! ¡Gracias!

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 votos, promedio: 5,00 de 5)
Cargando…

Deja una respuesta