jueves, 4 de diciembre de 2014

Conectar LAMPP con SQL Server en Fedora 20

Vamos a ver cómo podemos conectar un servidor web con una base de datos de Microsoft. Lo primero es recomendar que instalen LAMPP en lugar de XAMPP, ya que es más fácil su configuración. Este tema ya lo traté en un post anterior, de tal manera que vamos a ver cómo instalar la extensión para el motor de bases de datos en cuestión.

Lo primero es instalar el paquete que contiene el módulo para conectar apache con MSSQL. Desde una terminal digitamos el siguiente comando:

yum search php-

Verificamos en los resultados que tengamos un paquete similar a este: php-mssql.x86_64, de encontrarlo lo instalamos y reiniciamos el apache (o lo iniciamos en caso de tenerlo apagado).

yum install php-mssql.x86_64
service httpd restart

Una vez hecho esto, verificamos que el paquete se encuentre activo, para esto creamos un archivo como el siguiente y lo guardamos en /var/www/html, por ejemplo en una carpeta llamada prueba:

<?php
phpinfo();

En nuestro navegador llamamos a http://localhost/prueba/phpinfo.php (el nombre que le hayan dado) y verificamos que aparezca lo siguiente:


Ahora vamos a modificar el archivo freetds para agregar la IP o el nombre del servidor MSSQL.

nano /etc/freetds.conf

al final del archivo se agrega esto:

[MSSQL]
        host = 192.168.0.225
        port = 1433
        tds version = 11.0


El host será la ip de la máquina con SQL Server, el puerto por defecto de MSSQL es el 1433 y el último parámetro es la versión del motor de bases de datos que pueden identificar con SQL Server Manager (puede establecerse en auto en caso de dudas). Luego hay que guardar el archivo y reiniciar apache.

Luego hay que configurar la base de datos de Microsoft, suponiendo que se encuentra un una máquina virtual vamos a configurarla para que se "escuchen" entre ella y linux.

Con el sistema operativo invitado iniciado damos click en el ícono de red del virtual box (no de Windows) y seleccionamos preferencias de red. Allí debemos verificar que el valor conectado a esté seleccionado Adaptador puente y en modo promiscuo diga permitir todo, tal como lo muestra la imagen.


Ahora hay que verificar que tenemos conexión con dicha máquina (esto aplica también cuando no usamos máquina virtual), para ello se hace ping a la ip que hayamos elegido(verificar que sea la misma ip que pusimos en el archivo freetds). Si dice que hay paquetes rotos hay que verificar que las ip estén dentro del mismo rango, si por el contrario empieza a mostrar el listado de paquetes que va recibiendo se oprime Ctrl_C para parar el proceso y continuar con la configuración.

Los pasos siguientes es configurar SQL Server para que permita acceso desde la red.

Vamos a Inicio -> Microsoft SQL Server -> Herramientas de configuración -> Administrador de configuración de SQL Server. Buscamos el apartado Configuración de red de SQL Server -> Protocolos de SQLEXPRESS.

Verificamos que canalizaciones con nombre y TCP/IP se encuentren habilitadas. Luego click derecho sobre TCP/IP y establecemos el puerto a 1433, el dinámico puede dejarse o ponerse cero (probar ambas configuraciones en caso de error).


Ahora hay que indicar el firewall (en caso de tenerlo habilitado) que permita la comunicación con SQL Server, para ello oprimimos Windows_R y en ejecutar escribimos firewall.cpl y damos Enter. Una vez en el firewall buscamos al lado izquierdo Permitir un programa o una característica a través del Firewall de windows.



En la nueva vista damos en cambiar configuración para habilitar los cambios.


Una vez habilitado damos click en Permitir otro programa luego en examinar y buscamos el siguiente archivo: C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\Binn\sqlservr. Damos click en Agregar.

Repetimos el proceso con el archivo: C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.

Al agregarlos, ambos deberían aparecer en el cuadro de configuración.


Ahora vamos a hacer que estos servicios se inicien automáticamente al iniciar el sistema operativo. Con Windows_R escribimos services.msc y damos Enter.


Verificamos que tanto SQL Server como SQL Server Browser estén Iniciados y el tipo de inicio sea automático. Para cambiar la configuración damos damos doble click sobre cada uno.

Luego de esto deberíamos poder conectarnos desde la consola de Linux con el siguiente comando:

tsql -S 192.168.0.225 -U sa -P MiPass -p 1433
o
tsql -H MSSQL -U sa -P

Donde MSSQL es el nombre dado en el archivo freetds configurado con anterioridad.

0 comentarios:

Publicar un comentario