Cómo instalar y configurar vtiger CRM 5.0.x.

Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Jabber ID: darkshram@jabber.org

Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

© 1999-2007 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.

Introducción.

¿Qué es un CRM?

CRM es acrónimo de Customer Relationship Management, puede traducirse como Gestión de las Relaciones con el Cliente. Es un término que en recientes meses se ha mencionado con insistencia como parte de las estrategias clave para el éxito de cualquier empresa. En esta ocasión hablaré un poco acerca de este tema.

Antes de continuar, es importante analizar primero el concepto del término Mercadotecnia, mejor conocido por el anglicismo marketing. Se define como el conjunto de técnicas y estrategias a aplicar, a través de las cuales se logran la satisfacción de las necesidades y los requerimientos de los clientes y los consumidores.

CRM puede definirse como la combinación de los siguientes elementos:

•  Mercadotecnia de Bases de Datos: la voluntad de analizar. 
•  Mercadotecnia de Servicios: la voluntad de agradar y superar las expectativas del cliente.

CRM se considera una estrategia de gestión del conocimiento y del negocio y que sirve para conocer las necesidades y comportamiento de los clientes con la finalidad de estrechar la relación con éstos y, gracias a todo esto, poder anticipar mejores estrategias de mercado.

El concepto de CRM es relativamente nuevo en la industria de América Latina y España, donde aún son muchas las empresas desconocen al respecto de este tema. Sin embargo en países industrializados como EE.UU. es un concepto con el que se han familiarizado y es gracias a éste por lo que están conscientes de la importancia para mantener una estrecha relación con los clientes. La incorporación de estrategias basadas sobre soluciones CRM facilitan esta relación y el entendimiento de forma que proporcionan resultados significativos a las empresas.

Un CRM brinda a la empresa la capacidad de identificar, atraer y retener clientes ayudando a incrementar la satisfacción de éstos a través del mejoramiento de la rentabilidad de los negocios. Lo anterior no solo requiere contar con el equipamiento lógico adecuado, sino también un cambio en los procesos de la empresa involucrando a los empelados dentro de la misma estrategia con el objeto de lograr éxito.

No hay secretos detrás del concepto. La clave hacia éste consiste en descubrir que se pueden establecer las condiciones para una mayor proximidad con el cliente, brindando satisfacción a ambas partes y logrando al mismo tiempo fidelidad con la empresa. A partir de esta era, las empresas exitosas serán aquellas que cuenten con sistemas orientados hacia el cliente, donde el cliente mismo es la prioridad.

URL: http://es.wikipedia.org/wiki/CRM

Acerca de vtiger CRM.

vtiger CRM es una solución CRM de fuente abierta, distribuido bajo los términos de la licencia MPL versión 1.1 (Mozilla Public License). Está construido sobre las tecnologías de Apache, PHP y MySQL, todas también equipamiento lógico de fuente abierta. El equipo de desarrollo de vtiger CRM tiene su base de operaciones en Chennai, India y es financiado por AdventNet.

vtiger CRM incluye, entre otras cosas, las siguientes características:

•  Automatización de fuerza de ventas.
•  Servicio de servicio y soporte a clientes.
•  Automatización de mercadotecnia.
•  Gestión de inventario.
•  Soporte para múltiples bases de datos.
•  Gestión de seguridad.
•  Personalización de productos.
•  Calendario.
•  Correo electrónico a través de interfaz HTTP.
•  Componentes adicionales (plug-ins): soporte para Microsoft Outlook, Soporte para Microsoft Office, Extensión para Mozilla Thunderbird, Portal para clientes, formularios y muchos otros más.

URL: http://www.vtiger.org/

Equipamiento lógico necesario.

vtiger CRM requiere algunos componentes para poder funcionar. Específicamente se necesitan Apache, MySQL, PHP (módulos IMAP y GD) y el soporte de MySQL para PHP.

Instalación a través de yum.

Si se utiliza de CentOS 4 o White Box Enterprise Linux 4, solo basta utilizar lo siguiente:

yum -y install httpd php php-gd php-imap php-mysql mysql-server

Instalación a través de Up2date.

Si se utiliza de Red Hat™ Enterprise Linux 4, solo se necesita utilizar lo siguiente:

up2date -i httpd php php-gd php-imap php-mysql mysql-server

Paquetes de vtiger CRM y soporte al español.

vtiger CRM se distribuye en archivos TAR comprimidos con algoritmo Gzip. Se puede descargar desde la siguiente dirección:

•  http://vtiger.org/index.php?option=com_content&task=view&id=30&Itemid=57

El paquete a descargar, para realizar los procedimientos descritos en este documento, corresponde al archivo vtigercrm-5.0.3.tar.gz, a través en el enlace denominado LAMP/WAMP en la dirección mencionada arriba.

Una vez descargado, solo basta utilizar el Gestor de archivadores (file-roller) desde el modo gráfico o bien, si solo se dispone de una terminal, la siguiente sentencia de mandatos:

tar zxvf vtigercrm-5.0.3.tar.gz

Lo anterior genera un directorio nuevo denominado vtigercrm, bajo el cual están todos los componentes de vtiger CRM.

Soporte al español.

El soporte al español para vtiger CRM puede ser descargo desde la siguiente dirección:

•  http://vtigerforge.fosslabs.com/projects/esplang5/

El paquete a descargar, para realizar los procedimientos descritos en este documento, corresponde al archivo es_es_503_beta.zip, en la dirección mencionada arriba.

Una vez descargado, solo basta utilizar el Gestor de archivadores (file-roller) desde el modo gráfico o bien, si solo se dispone de una terminal, la siguiente sentencia de mandatos:

unzip es_es_503_beta.zip

Lo anterior genera un directorio nuevo denominado vtiger, bajo el cual están todos los componentes para el soporte al idioma español para vtiger CRM.

Para instalar el soporte al español, solo hay que copiar el contenido del directorio vtiger dentro del directorio vtigercrm.

cp -r vtiger/*  vtigercrm/

Procedimientos.

Respaldo de la base de datos existente.

Si va a ser utilizada una base de datos existente, conviene respaldar ésta antes de continuar.

mysqldump --opt -u root -p base-de-datos > respaldo-base-de-datos.sql

Para restaurar el respaldo, se utiliza lo siguiente:

mysql -u root -p base-de-datos < respaldo-base-de-datos.sql

Creación de la base de datos para vtiger CRM en MySQL.

Deben definirse previamente tres valores a utilizar con vtiger CRM: nombre de la base de datos, usuario para acceder a esta base de datos y clave de acceso para este usuario. Éstos, preferentemente, deben ser valores difíciles de adivinar para terceros.

Tomando en cuenta lo anterior, se crea la base de datos utilizando el mandato mysqladmin.

mysqladmin -u root -p create base-de-datos

Una vez creada la base de datos, se accede hacia el servidor de MySQL con el mandato mysql, con la finalidad de asignar permisos, usuario y clave de acceso.

mysql -u root -p

El usuario y clave de acceso necesarios se asignan del siguiente modo:

Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 4 to server version: 4.1.20

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> GRANT ALL ON base-de-datos.*
    -> TO usuario-geeklog@localhost
    -> IDENTIFIED BY 'clave-de-acceso';
mysql> exit

Configuración de directorios para vtiger CRM.

El directorio principal puede quedar en cualquier lugar del sistema de archivos, pero nunca dentro del directorio raíz de Apache, más sin embargo en una ruta a la cual tenga acceso éste último. Un buen lugar es dentro de /var/www/ o bien /usr/share. Preferentemente utilizando un nombre de directorio ofuscado o bien algo difícil de adivinar.

mv vtigercrm /var/www/html_vtigercrm

vtiger CRM requiere atributos de lectura y escritura para varios directorios y archivos. Puede hacerse asignando permiso 707 (drwx---rwx) a los directorios y 606 (-rw----rw-) a los archivos o bien, la forma más conveniente, asignándolos al usuario apache del siguiente modo:

chown apache.apache \
/var/www/html_vtigercrm/{cache,storage,install,user_privileges} \
/var/www/html_vtigercrm/Smarty/{cache,templates_c} \
/var/www/html_vtigercrm/modules/Emails/templates \
/var/www/html_vtigercrm/test/{wordtemplatedownload,product,user,contact,logo} \
/var/www/html_vtigercrm/{config.inc.php,install.php,tabdata.php,parent_tabdata.php} \
/var/www/html_vtigercrm/logs \
/var/www/html_vtigercrm/modules/Webmails/tmp/

La versión 5.0.3 de vtiger CRM tiene un archivo denominado style.css que más tarde será solicitado desde la interfaz HTTP, pero no está presente en la ruta correcta. Para corregir este problema, se puede copiar el archivo correspondiente del subdirectorio includes.

cp /var/www/html_vtigercrm/include/style.css \
/var/www/html_vtigercrm/style.css

El acceso desde Apache hacia el directorio público de vtiger CRM conviene más que sea como directorio virtual. Para tal fin se añade la configuración correspondiente en Apache creando el archivo /etc/httpd/conf.d/vtigercrm.conf, considerando que vtiger CRM será accedido como http://www.dominio.algo/crm/, con el siguiente contenido:

	Alias /crm /var/www/html_vtigercrm

vtiger CRM requiere además modificar varias directivas predeterminadas de PHP. Debido a que no es conveniente habilitar algunas de estas en todo el servidor HTTP, ya que pueden perjudicar el funcionamiento de otras aplicaciones o bien comprometer la seguridad de éstas, puede configurarse el directorio /var/www/html_vtigercrm para permitir utilizar éste con lo necesario a través de un archivo .htaccess. Siendo así, la configuración en /etc/httpd/conf.d/vtigercrm.conf quedaría del siguiente modo:

	Alias /crm /var/www/html_vtigercrm
	<Directory "/var/www/html_vtigercrm">
		Options Includes
		AllowOverride all
	</Directory>

Para definir las directivas de PHP necesarias, solo será necesario crear el archivo /var/www/html_vtigercrm/.htaccess con el siguiente contenido:

php_flag safe_mode Off
php_flag display_errors On
php_flag file_uploads On
php_flag register_globals Off
php_value max_execution_time 600
php_flag output_buffering On
php_value error_reporting E_WARNING|E_NOTICE
php_flag allow_call_time_reference On
php_flag log_errors Off
php_flag short_open_tag On

Para que surtan efectos los cambios y sea posible utilizar el archivo .htaccess, es necesario reiniciar el servicio httpd.

service httpd restart

Si no se desea interrumpir conexiones en el servicio httpd, se puede hacer que éste solo vuelva a leer la configuración y tomar los cambios, a través de la siguiente sentencia:

service httpd reload

Procedimiento de instalación desde la interfaz HTTP.

Bienvenida.

Una vez realizado todo lo anterior, se acede hacia http://127.0.0.1/crm/install.php (o bien http://servidor.domino.algo/crm/install.php) a fin de completar la instalación a través del asistente de configuración. La primera pantalla corresponde a la bienvenida y solicitará se tomen algunos segundos para registrarse opcionalmente en vtiger.org. Debajo del formulario hay un botón al que se hace clic para continuar.

Verificación de instalación.

La siguiente pantalla verifica que el sistema cuente con el equipamiento lógico necesario y que los directorios y archivos necesarios tengan los atributos de lectura y escritura correspondientes. Si todo está correcto, se mostrará resaltado en color verde. Si hubiese algo en color rojo, este es el momento para empezar de nuevo los procedimientos y hacer las correcciones necesarias. Esta pantalla también menciona que directivas de PHP se recomienda modificar. Debajo de esta última información hay un botón al que se hace clic para continuar.

Configuración del sistema.

Los únicos datos que se requiere especificar son el anfitrión donde reside el servidor MySQL (Host name), usuario para acceder a la base de datos (Use name), clave de acceso para acceder a la base de datos (Password) y el nombre de la base de datos (Database Name).

Pueden especificarse la clave de acceso del usuario admin, la cual, si no se realiza otra operación, será admin. También puede definirse la cuenta de correo electrónico del administrador, así como los datos correspondientes a la moneda a utilizar.

Al final del formulario hay un botón al que se hace clic para continuar.

Confirmación de configuración.

La pantalla mostrará los datos suministrados en el paso anterior. Si algo no está correcto, el botón < permitirá regresar ala pantalla anterior para hacer las correcciones correspondientes. Si todo está correcto, se hace clic en el botón Next>> para continuar.

Creación del archivo de configuración.

El sistema informará de la creación del archivo config.inc.php dentro del directorio /var/www/html_vtigercrm/ e informará que la conclusión dela instalación demorará hasta cuatro minutos. Se hace clic en el botón Next>> para continuar.

Generación de la base de datos.

La siguiente pantalla solo es informativa y corresponde al proceso de generación de tablas en la base de datos.

Finalización.

La última pantalla del asistente informa que ha concluido el procedimiento de configuración y que se renombraron el archivo y directorios de instalación con nombres ofuscados a fin de evitar sean accedidos por intrusos. Se da también un recordatorio respecto a que el usuario administrador corresponde a admin con la clave de acceso definida en la pantalla de configuración de sistema.

Configuración del soporte al idioma español.

NOTA: El paquete de soporte de idioma al español está en fase BETA, es decir, tiene algunos errores. Permitirá trabajar normalmente para casi todas las operaciones sin mayor contrariedad. El problema más relevante es la ventana que se abre para cambiar las claves de acceso, la cual no realiza la operación y envía hacia la página de inicio, debido a una variable mal definida. La recomendación es, si se tiene las habilidades necesarias, revisar el código y hacer los ajustes correspondientes o bien utilizar la interfaz en inglés para realizar esta operación administrativa en particular. En la mayor parte de los casos donde haya fallas derivadas del procedimiento descrito a continuación y cualquier otro problema derivado de utilizar el soporte al idioma español, se requiere eliminar la galleta (cookie) del navegador a fin de reestablecer cualquier cambio.

El soporte al idioma español requiere modificar las variables $languages, $default_charset y $default_language, en el archivo /var/www/html_vtigercrm/config.inc.php, con los siguientes valores:

$languagesArray('es_es'=>'Español','en_us'=>'US English',)
$default_charset'UTF-8'
$default_language'es_es'

De tal forma, debe quedar algo como lo siguiente:

// defined languages available. the key must be the language file prefix. 
// (Example 'en_us' is the prefix for every 'en_us.lang.php' file)
// languages default value = en_us=>US English
$languages = Array('es_es'=>'Español','en_us'=>'US English',);

//Master currency name
$currency_name = 'Pesos mexicanos';

// default charset
// default charset default value = ISO-8859-1
$default_charset = 'UTF-8';

// default language
// default_language default value = en_us
$default_language = 'es_es';

Comprobaciones.

Acceda hacia http://127.0.0.1/crm/ (o bien http://servidor.domino.algo/crm/). Ingrese admin en el campo Usuario y la clave de acceso correspondiente. Haga clic en el botón Sign in.

El contenido de la página inicial debe estar todo al idioma español. Haga clic en el enlace Mis preferencias.

Desde la pantalla de preferencias, cambie la clave de acceso del usuario admin, si se considera necesario. Al terminar, haga clic en el enlace Configuración.

Para finalizar, solo resta dar de alta las cuentas de usuario y personalizar el CRM con los datos correspondientes a la empresa, así como cualquier otra información relacionada.

Más allá de la instalación y configuración básica.

vtiger CRM cuenta con una comunidad de usuarios y un foro de soporte gratuito. Para añadir funcionalidad, solo es necesario instalar componentes adicionales (plug-ins). La mayoría de estos son fáciles de instalar siguiendo las instrucciones del archivo README correspondiente. El licenciado Pablo Monroy Sánchez y un servidor, Joel Barrios Dueñas, nos ponemos a sus órdenes a través de este enlace para cualquier duda, comentario o consulta relacionada con este documento y vtiger CRM.