Dentro de las actividades que realizo en clase, mi instructor nos pidió configurar un servidor de aplicaciones web que utilizara un motor de bases de datos en MySQL teniendo las aplicaciones en un host y las bases de datos en otro. La actividad no era muy complicada constaba de 3 hosts, el primero de estos seria un servidor DNS para poder resolver mi dominio “gnunick.com” y servidor web, el segundo host contendría un servidor de bases de datos en MySQL, y el tercer host seria un cliente gráfico.
Logre instalar mi DNS exitosamente, luego instale el apache y después llego la hora de elegir mis aplicaciones web, entre ellas elegí un servidor de chat llamado x7chat en su versión 2, lo descargue de la pagina oficial y seguí unos tutoriales de configuración de este, en este primer host instale también MySQL 5.5 y php 5.3 con todas sus dependencias para trabajar con MySQL.
En el segundo host instale mi base de datos en MySQL 5.5 y instale php 5.3 igualmente con todas sus dependencias, en el tutoríal que vi de x7chat2 debía crear una base de datos con cualquier nombre y las tablas las crearía la aplicación.
Comencé entonces desde mi cliente gráfico a instalar la aplicación siguiendo unos sencillos pasos.
Debía entonces decirle a mi aplicación como se llamaba la base de datos que cree, el usuario, la IP del servidor de bases de datos y un prefijo que viene predefinido. Los siguientes son los datos de la base de datos que cree.
Procedí entonces al siguiente paso y allí la aplicación chequeaba permisos, conexión con la base de datos entre otras cosas, todo estaba OK.
Llegue entonces al tercer paso de la instalación pero me aparecía que esta no podía crear las tablas.
Comencé a analizar el problema chequeando la conexión entre el servidor de aplicaciones y el de bases de datos con un ping que fue exitoso, luego desde el servidor de aplicaciones intentamos conectarnos a mysql y crear una tabla manualmente y fue exitoso, luego le dimos todos los permisos a la carpeta de la aplicación web y le cambiamos el propietario a apache pero el problema persistía, hicimos un netstat en el servidor de bases de datos y este mostraba que la conexión desde el servidor de aplicaciones era exitosa, ya habíamos deshabilitado todos los firewalls y el SeLinux, entonces el problema ocurría cuando la aplicación intentaba crear las tablas, fueron 4 días intentando ubicar el problema con la ayuda de mis instructores.
Finalmente comencé a desconfiar de la programación de la aplicación y verifique el archivo de configuración en el lugar donde este va a crear las tablas. Con la ayuda de un instructor decidimos crear una tabla manualmente copiando completamente una de las lineas de la creación de tablas de la aplicación y pegándola en MySQL y cuando lo hicimos aparecía un error de sintaxis.
Resulta que en dicha aplicación intenta crear las tablas de la siguiente forma.
install_query("CREATE TABLE {$prefix}bandwidth (id int(11) NOT NULL auto_increment,user varchar(255) NOT NULL default '',used bigint(20) NOT NULL default '0',max bigint(20) NOT NULL default '0',current int(11) NOT NULL default '0',PRIMARY KEY (id)) TYPE=MyISAM;");
Esta es la primer tabla que intenta crear llamada bandwidth. Al leer esto estaban muy claros los parámetros de las tablas pero solo había algo que me inquietaba y era el final de cada una de las lineas.
La verdad nunca había utilizado ese parámetro y no sabia que significaba entonces busque en la wiki.
Ahí me decía que la manera de utilizar myisam era diciéndole ENGINE=MYISAM pero en la aplicación decía TYPE=MYISAM entonces me decidí a cambiar en cada una de las lineas la palabra TYPE por la palabra ENGINE.
Finalmente intente ir a la aplicación a terminar de configurarla y...
Por fin habia creado las tablas. =D
Si has encontrado útil este artículo puedes compartirlo desde tu blog, página Web o foro.
1 comentarios:
te agradezco mucho, pude solucionar el problema, ahora estoy abocado a la solucion de un problema, me aparece esto Deprecated: Function eregi.... si logro solucionarlo vuelvo a excribir
Publicar un comentario