Via Network » Php Apache MSSQL Linux

Php Apache MSSQL Linux

Si se que esto sale del contexto y mucho menos quiero inventar una nueva abreviatura de el famoso LAMP, cabe decir también que por ahí me dijeron “Eso no se hace varon” o “Eso es contra natura” en fin lo cierto es que me toco este requerimiento para desarrollar una Intranet y la base de datos estaba en Microsoft Sql Server 2005 en principio hice esto no por que asp o aspx me parezca malo, creo en que es igual de potente de PHP pero últimamente ando acostumbrado trabajando con php por eso decido trabajar de esta manera y bueno la empresa pues contaba con servidores corriendo algunos servicios de red bajo linux así que aproveche esto para dar pie a una  manera de trabajar que es poco común y lo quiero compartir por que estoy seguro que alguien mas pueda estar en una situación similar y pueda contar con una referencia.

Repositorios:

deb http://ftp.br.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.br.debian.org/debian/ lenny  main contrib non-free

Instalamos lo siguente

Lo que necesitaremos

#apt-get install build-essential debhelper
#apt-get install tdsodbc freetds-dev

Bajamos la versión estable de freetds y compilamos

# cd /usr/src
# wget ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
# tar zxf 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

Bajamos las fuentes de php5 y dependencias

# cd /usr/src
# apt-get source php5
#apt-get build-dep php5

Entramos al directorios de las fuentes en mi caso fue

# cd /usr/src
# cd php5-5.2.6.dfsg.1

Ahora  nos toca modificar algunas directivas (estamos dentro de php5-5.2.6.dfsg.1)

# vim debian/modules

buscamos la linea:
mysql MYSQL

y agregamos debajo:
mssql MSSQL

Guardando los cambios y continuamos

# vim debian/rules

buscamos la siguiente linea:
–with-mysql=shared,/usr

y agregamos debajo:
–with-mssql=shared,/usr/local/freetds \

Guardando los cambios y continuamos

# vim debian/control

agregamos estas lineas al final del archivo:

Package: php5-mssql
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, ${php:Depends}, php5-common (= ${Source-Version})
Description: MSSQL module for php5
This package provides a module for MSSQL using FreeTDS.
.
PHP5 is an HTML-embedded scripting language. Much of its syntax is borrowed
from C, Java and Perl with a couple of unique PHP-specific features thrown
in. The goal of the language is to allow web developers to write
dynamically generated pages quickly.

Finalmente generamos nuestros paquetes

# dpkg-buildpackage

Nuestros paquetes estarán en /usr/src donde instalaremos entre lo mas importante en mi caso

# dpkg –install php5_5.2.6.dfsg.1-1+lenny2_all.deb
# dpkg –install php5-mssql_5.2.6.dfsg.1-1+lenny2_i386.deb

No olvides hacer las pruebas con el famoso phpinfo();

<?

phpinfo();

?>
Donde veremos que el soporte para MSSQL fue instalado correctamente

mssql1

NOTA: Esto fue probado tanto en debian lenny y etch sin problemas (jeje por ahi aparecio otro cliente ps :P )



2 Comments

  • 1. setbit replies at 30th October 2009, 12:31 pm :

    Hay un error en :

    Bajamos las fuentes de php5 y dependencias

    # cd /usr/src
    # apt-get source php5
    #apt-get build-deb php5

    el comando correcto es ( b->p )

    #apt-get build-dep php5

  • 2. admin replies at 30th October 2009, 12:45 pm :

    setbit, gracias por la observación ;)

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <code> <em> <strong>