En este apartado procederemos a la configuración de PHPMyAdmin, un potente script desarrollado en el lenguaje PHP que permite gestionar bases de datos MySQL a través de un navegador.
Mediante esta herramienta, los usuarios de nuestro centro podrán acceder desde el navegador de sus equipos clientes a las bases de datos MySQL sobre las que tengan los oportunos permisos de acceso, pudiendo, potencialmente hablando, crear usuarios, asociar permisos, crear tablas, etc.
Como es obvio para poder ejecutar PHPMyAdmin en el equipo "SERVIDOR" precisamos al menos de un sitio web en dicho equipo que pueda ejecutar scripts en PHP, lo cual en nuestro caso NO es problema alguno, pues en su momento configuramos el servidor IIS para que todos sus sitios web pudieran ejecutar scripts en PHP.
En nuestro caso utilizaremos "phpMyAdmin-2.6.0", versión que podemos descargar del DVD del material pinchando en este enlace para proceder a su instalación en el equipo "SERVIDOR".
NOTA: Actualmente podemos descargar la última versión de phpMyAdmin desde la URL "http://www.phpmyadmin.net/home_page/downloads.php", si bien en nuestro caso instalaremos "phpMyAdmin-2.6.0" porque es la versión que hemos probado y testeado, y cuyo proceso de instalación y configuración detallamos en este apartado.
Una vez que hayamos descargado el fichero "phpMyAdmin-2.6.0-pl3.zip", lo copiamos en el Escritorio del equipo "SERVIDOR", y tras ello pulsamos sobre dicho fichero con el botón derecho del ratón para elegir la opción "Extraer todo" en el desplegable correspondiente, pasando a ser mostrada como resultado de dicha acción la siguiente ventana del asistente de descompresión, en la cual pulsaremos directamente sobre el botón "Siguiente".
En la siguiente ventana del asistente debemos indicar la ruta donde deseamos descomprimir el fichero en cuestión; en este caso, dado que estamos descomprimiendo un script en PHP que sólo podrá ser ejecutado en un sitio web, deberemos descomprimirlo bajo la carpeta base de alguno de los sitios web que actualmente están creados en nuestro servidor IIS, y dado que esta herramientas será utilizada por los usuarios de nuestro centro para administrar bases de datos MySQL, la descomprimiremos en la ruta base "C:\inetpub\wwwroot", correspondiente al sitio web "Sitio Web predeterminado", que es el sitio web donde ubicamos las aplicaciones administrativas de nuestro centro.
NOTA: También podríamos haber descomprimido esta herramienta en la ruta "E:\MiCentro", ruta base del sitio web "Sitio Web de MiCentro" o en la ruta "E:\Dptos", ruta base del directorio virtual "Departamentos", pero hemos optado por hacerlo en "C:\Inetpub\wwwroot", ruta base del sitio web "Sitio Web predeterminado", por una cuestión de coherencia, pues como hemos indicado anteriormente las aplicaciones administrativas de nuestro centro las ubicaremos en dicho sitio web.
Da comienzo en este instante el proceso de descompresión del fichero "phpMyAdmin-2.6.0-pl3.zip" en la ruta "C:\Inetpub\wwwroot" del equipo "SERVIDOR", tras lo cual se nos presenta la siguiente ventana en la cual pulsaremos directamente sobre el botón "Finalizar".
Una vez completado el proceso de descompresión, eliminaremos el fichero "phpMyAdmin-2.6.0-pl3.zip" del Escritorio del equipo "SERVIDOR".
A continuación renombraremos la carpeta "phpMyAdmin-2.6.0-pl3" ubicada en la ruta "C:\Inetpub\wwwroot", con el nombre "phpMyAdmin", tal y como vemos en la imagen inferior.
Antes de acceder a la herramienta que acabamos de instalar, vamos a realizar en la misma algunas configuraciones básicas.
En primer lugar debemos modificar el fichero "config.inc.php" ubicado en la ruta "C:\Inetpub\wwwroot\phpMyAdmin"; para evitar errores de tecleo, podemos descargar del DVD un fichero "config.inc.php" que ya incluye las modificaciones que indicaremos a continuación, debiendo copiar dicho fichero a la ruta indicada para sobrescribir el fichero "config.inc.php" que actualmente se encuentra en esa ubicación.
NOTA: Si en vez de utilizar el fichero "config.inc.php" incluido en el DVD deseamos editar el fichero "C:\Inetpub\wwwroot\phpMyAdmin\config.inc.php" del equipo "SERVIDOR" para realizar los cambios que indicaremos a continuación, utilizaremos la aplicación "WORDPAD" como herramienta para la edición de dicho fichero.
Los parámetros que deben ser cambiados en el fichero "config.inc.php" son los siguientes:
En la entrada"$cfg['PmaAbsoluteUri'] = ' ';" asignamos el valor "http://servidor.micentro.edu/phpmyadmin/", es decir la entrada en cuestión debe quedar como "$cfg['PmaAbsoluteUri'] = 'http://servidor.micentro.edu/phpmyadmin/'".
En la entrada "$cfg['blowfish_secret'] = ' ';" asignaremos la cadena de texto que será la semilla para encriptación de contraseñas al utilizar autenticación con cookies, pudiendo utilizar la cadena que deseemos, por ejemplo "cadena", es decir la entrada en cuestión debe quedar como "$cfg['blowfish_secret'] = 'cadena'".
En la primera entrada "$cfg['Servers'][$i]['auth_type'] = 'config';", cambiaremos el valor "config" por "cookie", es decir la entrada en cuestión debe quedar como "$cfg['Servers'][$i]['auth_type'] = 'cookie'".
En la primera entrada "$cfg['Servers'][$i]['verbose'] = ' ';" asignamos el valor "$cfg['Servers'][$i]['verbose'] = 'Servidor MiCentro';".
Y para concluir salvaremos los cambios realizados al fichero "C:\Inetpub\wwwroot\phpMyAdmin\config.inc.php".
Además de lo anterior, para que la imagen principal de phpMyAdmin sea el fichero gráfico "micentro_phpmyadmin.gif" incluido en el DVD, en primer lugar copiaremos dicho fichero en la ruta "C:\Inetpub\wwwroot\phpMyAdmin\themes\original\img".
Tras ellodebemos modificar el fichero "cookie.auth.lib.php" ubicado en la ruta "C:\Inetpub\wwwroot\phpMyAdmin\libraries\auth"; para evitar errores de tecleo, podemos descargar del DVD un fichero "cookie.auth.lib.php" que ya incluye las modificaciones que indicaremos a continuación, debiendo copiar dicho fichero a la ruta indicada para sobrescribir el fichero "cookie.auth.lib.php" que actualmente se encuentra en esa ubicación.
NOTA: Si deseamos editar el fichero "C:\Inetpub\wwwroot\phpMyAdmin\libraries\auth\cookie.auth.lib.php" del equipo "SERVIDOR" para realizar los cambios que indicaremos a continuación, en vez de utilizar el fichero "cookie.auth.lib.php" incluido en el DVD, utilizaremos la aplicación "WORDPAD" como herramienta para la edición de dicho fichero.
Los parámetros que deben ser cambiados en el fichero "config.inc.php" son los siguientes:
Cambiaremos la línea "$logo_image = $GLOBALS['pmaThemeImage'] . 'logo_right.png';" por la línea "$logo_image = $GLOBALS['pmaThemeImage'] . 'micentro_phpmyadmin.gif';", para sustituir el logo "logo_rigth.png" por nuestro logo personalizado "micentro_phpmyadmin.gif".
Cambiaremos la línea "echo '<img name="imLogo" id="imLogo" src="' . $GLOBALS['pmaThemeImage'] . 'pma_logo.png' . '" ' . 'border="0" width="88" height="31" alt="phpMyAdmin" />';" por la línea "echo '<img name="imLogo" id="imLogo" src="themes/original/img/micentro_phpmyadmin.gif" border="0" width="158" height="87" alt="MiCentro" />';".
NOTA: Podríamos personalizar todos los logos de la aplicación, pero como muestra un botón, con la personalización del logo principal de la ventana de autenticación de acceso a phpMyAdmin.
Tras almacenar los cambios en el fichero "cookie.auth.lib.php", ya podremos acceder a la aplicación "phpMyAdmin" tecleando en la URL del navegador de nuestro servidor o de cualquier equipo cliente "http://servidor.micentro.edu/phpMyAdmin", mostrándose la siguiente ventana en la que nos autenticaremos con las credenciales del nombre de usuario "root" sin contraseña, y tras ello pulsaremos sobre el botón "Identificación".
Una vez autenticados, se nos presenta la siguiente ventana, en la que pincharemos sobre el enlace "Cambio de contraseña" para asignar una contraseña al usuario "root" que acaba de validarse mediante "phpMyAdmin" frente a MySQL.
NOTA: Podemos comprobar en la ventana superior la existencia de un texto que nos informa de que el usuario "root", que es el administrador de la base de datos MySQL, actualmente no tiene contraseña asociada.
Especificaremos para el usuario "root" la misma contraseña asociada al usuario "Administrador" del equipo "SERVIDOR" para mantener la coherencia en las contraseñas y no olvidarnos de las mismas, tecleándola por duplicado en las cajas de texto correspondientes, y pulsando tras ello sobre el botón "Cambiar".
Una vez que la contraseña del usuario "root" haya sido modificada, se nos presentará la siguiente ventana, en la cual pulsaremos sobre el botón "Volver".
En ese instante la aplicación phpMyAdmin detecta que estamos trabajando con el usuario "root" de MySQL sin contraseña, cuando acabamos de asociarle contraseña a dicho usuario, así pues nos cierra la sesión de trabajo para que nos volvamos a validar con las credenciales del usuario "root", pero en este caso con la contraseña especificada anteriormente.
Llegados a este punto procederemos a crear las tablas deseadas en MySQL para cada profesor que precise de la misma para gestionar su espacio web o el espacio web de su departamento; concretamente en nuestro caso supondremos que el profesor "Javier" nos ha solicitado la creación de dos bases de datos, una para su espacio web, y la otra para el espacio web del departamento de Matemáticas, al cual pertenece.
Así pues comenzaremos creando una base de datos para espacio web personal del profesor "Javier", de modo que a dicha base de datos le asociaremos el nombre "javier", por coherencia, para lo cual en la ventana de la imagen inferior teclearemos la cadena "javier" en la caja de texto "Crear nueva base de datos", y tras ello pulsaremos sobre el botón "Crear".
Como resultado de la acción anterior pasa a ser mostrada la siguiente ventana que nos informa de que la base de datos "javier" ha sido creada.
NOTA: Una vez creada la base de datos "javier", como vemos en la ventana de la imagen superior, se nos informa de la inexistencia de tablas en dicha base de datos, debiendo ser el usuario "Javier" de MySQL, que será creado a continuación, quien defina las tablas que estime oportunas en su base de datos "javier".
El problema que se nos plantea en este instante es que MySQL no puede utilizar los usuarios LDAP de Active Directory del equipo "SERVIDOR", pues tiene su propia gestión de usuarios y no es capaz de integrar los usuarios del equipo "SERVIDOR", lo cual nos obliga a crear usuarios específicos para la base de datos MySQL.
Así pues dado que el único profesor que nos ha solicitado bases de datos en MySQL es el profesor "Javier", vamos a proceder a crear a dicho usuario en MySQL, para lo cual situados sobre la ventana de "phpMyAdmin" pincharemos sobre el enlace "Privilegios".
Tras ello pasa a ser mostrada la siguiente ventana, en la que pulsaremos sobre el enlace "Agregar nuevo usuario".
En la siguiente ventana mostrada introduciremos la cadena "Javier" en la caja de texto "Nombre de usuario", seleccionaremos el valor "Local" en el desplegable asociado al apartado "Servidor", para teclear a continuación en la caja de texto correspondiente el valor "localhost"; tras ello introduciremos la misma contraseña asignada al usuario "Javier" del Directorio Activo del equipo "SERVIDOR", en las cajas de texto "Contraseña" y "Re-escriba" (indicaremos la misma la contraseña para el usuario "Javier" de MySQL, que para el usuario "Javier" del equipo "SERVIDOR" por mantener una coherencia en las mismas), para finalmente pulsar sobre el botón "Continúe" situado en la parte inferior de dicha ventana.
En este instante ya tenemos creado al usuario "Javier" y la base de datos "javier", ahora lo que nos quedaría por hacer sería asignar derechos al usuario "Javier" sobre la base de datos "javier" a fin de que pueda trabajar en ella con normalidad, para lo cual en la ventana mostrada tras completarse la acción anterior, nos situaremos sobre la caja de texto "Añada privilegios en esta base de datos", para teclear en la misma el nombre de la base de datos "javier" creada anteriormente, y a continuación pulsar sobre el botón "Continúe".
La siguiente ventana nos permite asignar los permisos de los que dispondrá el usuario "Javier" sobre la base de datos "javier"; en ella activaremos todas las casillas de los apartados "Datos" y "Estructura", es decir "SELECT", "INSERT", "UPDATE", "DELETE", "CREATE", "ALTER" "INDEX", "DROP" y "CREATE TEMPORARY TABLES", para posteriormente pulsar sobre el botón "Continúe".
Una vez asignados los permisos del usuario "Javier" sobre la base de datos "javier", dicho usuario podrá trabajar normalmente sobre ella, pudiendo crear las tablas que precise para la gestión de su página web personal.
Además, como comentamos anteriormente, crearemos una segunda base de datos de nombre "matematicas" para la gestión del espacio web del departamento de Matemáticas, tal y como nos solicitó el usuario "Javier", siguiendo exactamente el mismo proceso que realizamos anteriormente para crear la tabla "javier".
Tras la creación de la tabla "matematicas" en MySQL, daremos permisos de acceso a la misma al usuario de MySQL "Javier", que fue quien nos solicitó dicha base de datos para la gestión del espacio web del departamento de Matemáticas, para lo cual pinchamos en primer lugar sobre el enlace "Privilegios" de la ventana de la imagen anterior, pasando a ser mostrada la siguiente ventana en la que activaremos las casilla adjunta al usuario "Javier", y tras ello pincharemos sobre el icono de edición situado a la derecha al final de la fila correspondiente a dicho usuario.
Como resultado de la acción anterior pasa a ser mostrada la siguiente ventana de edición de los privilegios del usuario "Javier", en la cual nos situaremos sobre la caja de texto "Añada privilegios en esta base de datos", para teclear en la misma el nombre de la base de datos "matematicas", y a continuación pulsar sobre el botón "Continúe".
A continuación asignaremos los permisos de los que dispondrá el usuario "Javier" sobre la base de datos "matematicas"; en ella activaremos todas las casillas de los apartados "Datos" y "Estructura", es decir "SELECT", "INSERT", "UPDATE", "DELETE", "CREATE", "ALTER" "INDEX", "DROP" y "CREATE TEMPORARY TABLES", para posteriormente pulsar sobre el botón "Continúe".
Una vez asignados los permisos del usuario "Javier" sobre la base de datos "matematicas", se nos presentará la siguiente ventana que nos informa de dicha circunstancia; a partir de este momento el usuario "Javier" podrá trabajar normalmente sobre la base de datos indicada, pudiendo crear las tablas que precise para la gestión de la página web de su departamento.
En este instante ya hemos realizado como administradores de MySQL (recordemos, como usuario "root" de MySQL, que es el usuario administrador de dicho motor de base de datos), las configuraciones precisas para crear al usuario "Javier" de MySQL, así como para crear las bases de datos "javier" y "matematicas" para la gestión, correspondientemente, de la página web personal del usuario "Javier" y de la página web del departamento de Matemáticas, al cual pertenece el usuario "Javier"; además de ello hemos asociado los permisos oportunos sobre las dos bases de datos indicadas para que el usuario "Javier" pueda trabajar con ellas.
Antes de continuar vamos a eliminar al usuario "cualquiera" que por defecto fue creado por MySQL en su instalación, para lo cual pulsaremos sobre el enlace "Privilegios" en la ventana principal de phpMyAdmin, pasando a ser mostrada la siguiente ventana, en la que activaremos las casillas correspondientes a los dos usuarios "cualquiera" existentes, para a continuación pulsar sobre el botón "Continúe" del apartado "Retire a los usuarios seleccionados".
Una vez completada la acción anterior, podremos comprobar que los usuarios anteriores han sido correctamente eliminados de la base de datos MySQL.
También eliminaremos la base de datos "test" que MySQL crea por defecto en su proceso de instalación, para lo cual en primer lugar sobre la ventana principal de phpMyAdmin, haremos clic sobre el enlace "Bases de datos".
En la nueva ventana mostrada se nos muestran las bases de datos que actualmente están creadas en MySQL, así pues seleccionamos la casilla correspondiente a la base de datos "test", y tras ello pulsamos sobre el botón "Eliminar".
Antes de proceder con el borrado de dicha base de datos, MySQL nos pide confirmación de dicha operación a través de la siguiente ventana, en la que pulsaremos sobre el botón "Sí" para confirmar la acción a realizar.
Tendremos confirmación del borrado de dicha base de datos, mediante la siguiente ventana mostrada tras completarse la acción anterior.
Así pues llegados a este punto hemos completado la configuración precisa de las bases de datos y usuarios de MySQL, luego el usuario "root" procederá a cerrar la ventana de phpMyAdmin.
A continuación comprobaremos si nuestros esfuerzos anteriores han tenido efecto, es decir si el usuario "Javier" de MySQL realmente dispone de acceso a las bases de datos indicadas, para lo cual desde el navegador de un equipo cliente intentamos el acceso a phpMyAdmin con las credenciales de dicho usuario a través de la URL "http://servidor.micentro.edu/phpMyAdmin".
Una vez que el usuario "Javier" de MySQL se valida mediante phpMyAdmin, si pincha sobre el desplegable "Bases de datos", podrá comprobar que dispone de acceso a las bases de datos "javier" y "matematicas", tal y como se suponía; en este caso dicho usuario seleccionará la base de datos "javier" para trabajar sobre ella.
Como resultado de seleccionar la base de datos "javier" en la ventana anterior, se nos presenta la siguiente ventana en la cual crearemos una tabla para dicha base de datos, tecleando en la caja de texto "Nombre" el nombre deseado para dicha tabla, en este caso "prueba", y posteriormente indicando en caja de texto "Campos" el número de campos de dicha tabla, "2" en este caso, tras lo cual pulsaremos sobre el correspondiente botón "Continúe" para proceder a crear la tabla "prueba" con 2 campos.
Como era de esperar, en la siguiente ventana debemos especificar el nombre, tipo y longitud de los campos de dicha tabla, especificando en nuestro caso como nombre para ellos "Nombre" y "NIF" (ambos de tipo "VARCHAR", opción por defecto), y con tamaños máximos "20" y "10" caracteres, respectivamente, tal y como vemos en la imagen inferior; tras ello pulsaremos sobre el botón "Grabar" para confirmar la configuración realizada.
Tras crearse ambos campos se nos presenta la siguiente ventana, en la cual pulsaremos sobre el enlace "Insertar" para proceder a introducir valores a la tabla "prueba" creada anteriormente.
Como resultado de la acción anterior se nos presenta la siguiente ventana, en la que introduciremos dos registros a la tabla prueba, tecleando en los campos "Valor" correspondientes los datos oportunos, tal y como vemos en la imagen inferior, y tras ello pulsando sobre el botón "Continúe".
Así pues, llegados a este punto hemos comprobado como el usuario "Javier" dispone de acceso a las bases de datos "javier" y "matematicas", creando además para la base de datos "javier" una tabla de nombre "prueba" con 2 campos "Nombre" y "NIF", en la que hemos introducido 2 registros.
En este momento el usuario "Javier" desea probar dos scripts que ha desarrollado en PHP y en ASP respectivamente, para comprobar que es capaz de leer de la tabla "prueba" que acaba de crear en la base de datos "javier".
NOTA: Podemos descargar los scripts "leemysql.php" y "leemysql.asp" del DVD, pinchando en los enlaces anteriores; si hemos seguido fielmente la documentación respetando el nombre del usuario ("Javier"), la contraseña de dicho usuario ("Micentro2009"), el nombre de las base de datos ("javier") y el nombre de la tabla ("prueba"), NO es necesario hacer ningún tipo de modificación en los mismos, en caso contrario deberían editarse para cambiar los parámetros que hubieran sido variados respecto a los valores que debían haberse asignado.
Así pues el usuario "Javier" establece desde el navegador de su equipo cliente a través de la URL "ftp://www.micentro.edu/Matematicas/Javier", una conexión FTP para acceder a su espacio web, a fin de copiar los scripts indicados en dicho espacio web, tal y como vemos en la imagen inferior.
A partir de este instante, cualquier usuario que acceda a la página web personal del profesor "Javier", podrá ejecutar dichos scripts para ver su contenido.
Por ejemplo, a través de la URL "http://www.micentro.edu/Departamentos/Matematicas/Javier/leemysql.php" podremos comprobar que el script "leemysql.php" funciona correctamente, tal y como vemos en la imagen inferior.
Igualmente, a través de la URL "http://www.micentro.edu/Departamentos/Matematicas/Javier/leemysql.asp" podremos comprobar que el script "leemysql.asp" funciona también correctamente.
Para finalizar este extenso apartado, tan sólo comentar que a medida que otros profesores nos fueran pidiendo bases de datos de MySQL para poder utilizarlas en sus espacios web o en los espacios web de sus departamentos, deberíamos crear a los usuarios y bases de datos correspondientes, así como asociar los permisos oportunos, siguiendo el mismo procedimiento analizado anteriormente.
Por otro lado reseñar que aunque NO hemos creado ninguna base de datos para la gestión de la página web principal del "Sitio web de MiCentro", el usuario "root" de MySQL podrá crear tantas bases de datos como precise siguiendo el mismo proceso detallado con anterioridad, pero sin necesidad de crear de modo específico ningún usuario para su gestión (pues dicha gestión se hará con el propio usuario "root"), ni de asignar privilegios de acceso a dichas bases de datos (pues el usuario "root" por defecto tiene todos los privilegios sobre todas las tablas de MySQL).