Instalacion del MSSQL en PHP APACHE

 

El presente manual es un instructivo para configurar el servicio de MSSQL “SQL SERVER” en Apache para el  sistema operativo LINUX distribución DEBIAN Lenny 5.0.
ALERTA
Si va a configurar MSSQL tiene que verificar la versión PHP instalada en APACHE y verificar las caracteristicas de las aplicaciones en caso de actualizar la misma.
TABLA DE CONTENIDO

1.  INSTALACION DE COMPONENTES MSSQL EN APACHE. 

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
Actualizar repositorios
#apt-get update
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
Entrar al siguiente directorio cd /usr/src/  y ejecutar los siguientes comandos:
# cd /usr/src/  
#apt-get install php5-dev
#apt-get install dpkg-dev
#apt-get install freetds-dev
#apt-get install libsybdb5
#apt-get update
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/”..
#cd /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-x.x.x/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
6.       Configurar compilación
Para ver las reglas de la compilación ejecutar este código:
#./configure –help
#./configure --with-mssql --with-php-config=$PHP_PREFIX/bin/php-config5
#make
Para configurar directamente MSSQL ejecutamos los siguientes comandos
#cd /usr/src/

#mkdir -p /usr/src/freetds

#cd /usr/src/freetds (darle todos los permisos de escritura)
#chmod 777 /usr/src/freetds/

#wget ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz (si no funciona, descargar el archivo desde este link http://www.freetds.org/software.html y colocarlo dentro de la carpeta /usr/src/freetds y descomprimir en esa carpeta)

#cd freetds/freetds-0.82

#./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib --enable-dbmfix --with-gnu-ld

#make

#make install
 
De no realizar con éxito la compilación, podermos ejecutar los siguientes comandos:
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-x.x.x/ext/mssql/modules/mssql.so /usr/lib/php5/2xxxxxxx/
#chmod -x /usr/lib/php5/2xxxxxxxx/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
extensión=pdo_dblib.so
10.    Reiniciar APACHE
#/etc/init.d/apache2 restart
Como resultado deberiamos explorar el php.info del servidor y encontrarnos con la pantalla de información