Configuración el soporte de Microsoft sql server en debian

Configurar el servicio de MSSQL “SQL SERVER” en Apache para el  sistema operativo LINUX distribución DEBIAN Lenny 5.0.

Dependiendo de la configuración del apache, existen 2 formas para poder configurar MSSQL en nuestro Apache. Debemos iniciar sesion en linux como administrador para poder ejecutar todos los comandos.


A continuación se describe los pasos que realice para la compilación, que de seguro puede ser aplicada para otras extensiones de PHP. Primero deberemos de revisar que nuestro Debian tenga las lineas necesarias para el acceso a los repositorios.
Para actualizar los repositorios puede utilizar el editor de textos vim:

1.    Ejecute el siguiente comando para ver los repositorios actuales:

vim /etc/apt/sources.list

2.    Incluya los siguientes repositorios para realizar la actualización.


 deb http://ftp.debian.org/debian/ unstable main non-free contrib
 deb-src http://ftp.debian.org/debian/ unstable main non-free contrib
 deb http://ftp.debian.org testing main contrib non-free
 deb-src http://ftp.debian.org testing main contrib non-free
 deb http://debian.ludost.net/debian/ testing main contrib non-free
 deb-src http://debian.ludost.net/debian/ testing main contrib non-free
 deb http://security.debian.org/ testing/updates main contrib
 deb-src http://security.debian.org/ testing/updates main contrib

3.    A continuación debemos bajar tanto el paquete de desarrollo de módulos como las fuentes de PHP5.Descarga e instala un conjunto de archivos, entre los cuales destacan: el binario “phpize5?, y el archivo “php-config5?, los cuales nos serán de utilidad mas adelante


#apt-get install php5-dev
#apt-get update
#apt-get dist-upgrade
#apt-get install build-essential debhelper
#apt-get install tdsodbc

4.    Ejecutar siguiente código que descarga tres archivos, en mi caso “orig.tar.gz”, “diff.gz” y “.dsc” de la ultima versión de PHP que existe en el repositorio, además que descomprime el primero en un directorio dentro de “/usr/src/”..

#apt-get source php5

La intención de todo esto es compilar únicamente la extensión que queremos usar, sin tener que compilar todo el PHP, así que a continuación entramos en el directorio de las fuentes y directamente en la extensión que queremos compilar, para realizar algunas acciones:

5. En la primera línea entramos al directorio de la extensión, en la segunda, exportamos una variable de entorno llamada “PHP_PREFIX”, y en la tercera línea, realizamos la configuración de “phpize5?, teniendo en cuenta que este archivo se encuentra en “/usr/bin/phpize5?:

cd /usr/src/php5-5.1.4/ext/mssql/
export PHP_PREFIX="/usr"
$PHP_PREFIX/bin/phpize5

Al ejecutar el código nos devolverá algo parecido a lo siguiente:
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20050922
Zend Extension Api No: 220051025

En caso de no devolverlo quiere decir que hay un error en la compilación del Freedts, deberá usar los pasos 6,7 y 8 de este manual, si no,  seguir con el paso 9 de este manual.

6.    Configurar compilación
Para ver las reglas de la compilación ejecutar este código:

./configure --help

Para configurar directamente MSSQL ejecutamos los siguientes comandos

./configure --with-mssql --with-php-config=$PHP_PREFIX/bin/php-config5
Make

De no realizar con éxito la compilación, podermos ejecutar los siguientes comandos:

#cd /usr/src/
#mkdir -p /usr/src/freetds
#cd /usr/src/freetds
#wget ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz (si no funciona, descragar el archivo desde este link http://www.freetds.org/software.html y colocarlo dentro del servidor de debian para descomprimirlo)
#tar -zxvf freetds-stable.tgz
#cd freetds-0.82
#./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib --enable-dbmfix --with-gnu-ld
#make
#make install

La extensión se compila y se guarda en un directorio llamado “modules”

7.    Copiar la extensión al lugar adecuado y cambiarle sus permisos

#cp /usr/src/php5-5.1.4/ext/mssql/modules/mssql.so /usr/lib/php5/20051025/
#chmod -x /usr/lib/php5/20051025/mssql.so

Editar el archivo de configuración /usr/local/freetds/etc/freetds.conf,utilizando el editor vi, vi /usr/local/freetds/etc/freetds.conf, agregar las siguientes líneas:
8.    Editar el archivo de configuración /usr/local/freetds/etc/freetds.conf y agregar las siguientes lineas dependiendo del SQL SERVER.

;Nombre de tu servidor de base de datos
[ServidorMSsql] 
;Direccion o nombre del servidor donde esta tu base de datos
 host = 127.0.0.1
;Puerto de la base de datos
 port = 1433
; versión de tds, cambia dependiendo de tu modelo de base de datos
 tds version = 8.0

Versiones de TDS disponibles para MSSQL:
7.0 Microsoft SQL Server 7.0
8.0 Microsoft SQL Server 2000
4.2 Microsoft SQL Server 6.x

9.    Agregar o descomentar la linea correspondiente en “/etc/php5/apache2/php.ini”

extension=mssql.so

10.    Reiniciar APACHE

#/etc/inic.d/apache2 restart

Como resultado deberiamos explorar el php.info del servidor y encontrarnos con la siguiente configuración:

ALERTA
Si va a configurar MSSQL tiene que verificar la versión PHP instalada en APACHE y verificar las características de las aplicaciones en caso de actualizar la misma.