VirtualBox + Apache + PHP + SQL Server

Que tal programar no Linux usando PHP + SQL Server 2005? É isso mesmo, neste artigo vou ensinar desde como instalar o Windows numa máquina virtual até a conexão com o SQL via PHP, que rodará no Linux.

[ Hits: 48.995 ]

Por: Vinicus S Moraes em 17/07/2008 | Blog: http://vsmoraes.wordpress.com


Primeiros passos



O cenário

No título fica um pouco confuso, então vou descrever como vai funcionar exatamente, daí você decide se continua lendo ou para por aqui.

Bom, primeiramente vou mostrar como virtualizar o Windows no Linux usando o VirtualBox. Depois mostrarei como compilar o Apache, o PHP e o FreeTDS - que é responsável pela conexão entre o Linux e o SQL Server (ou MSSQL).

O motivo de utilizarmos uma máquina virtual com o Windows é que não consegui, e acho que não existe como, rodar o MSSQL diretamente no Linux, seja com o Wine ou com outro qualquer.

O que vamos precisar?

Vou colocar todos os links de uma vez para que você possa ir baixando os arquivos enquanto termina de ler o artigo:

  • VirtualBox - Nada impede que você use outro virtualizador, vou mostrar esse pois considero mais fácil de mexer e bem rápido.
  • Apache - Nesse caso não tem problema você usar um pacote pré-compilado para a sua distribuição, pois não requer parâmetros adicionais.
  • PHP - Esse teremos que compilar mesmo, pois vamos precisar setar alguns parâmetros que, muito dificilmente, vem habilitados por padrão nos pacotes pré-compilados.
  • FreeTDS - Bendita ferramenta que vai nos ajudar a conectar ao MSSQL.

Fora estes downloads, eu parto do pressuposto que você possui um CD do Windows e do SQL Server e sabe instalar no Windows, pois estas instalações não serão abordadas neste artigo.

Como foi testado?

Tudo o que está neste artigo foi testado (e é usado diariamente) em meu notebook:
  • Toshiba Satellite A135
  • Processador Intel Dual-Core 1.8GHz
  • Memória DDR2 1.5 GB
  • Slackware 12.1
  • Kernel 2.6.24
  • Windows XP SP2
  • SQL Server 2005 Express

    Próxima página

Páginas do artigo
   1. Primeiros passos
   2. Desvendando o VirtualBox
   3. Instalando o FreeTDS
   4. Apache e PHP
Outros artigos deste autor

Requisições assíncronas em PHP usando AJAX - Parte I

Atheros Wireless + Slackware 12.0

Google Maps API - Criando e interagindo com seus próprios mapas

Leitura recomendada

Criando um contador de downloads com PHP e MySQL

Stored Procedures usando o MySQL e PHP

Provendo dados em um servidor PostgreSQL através do Apache e PHP

Executando comandos DML em base de dados MySQL através do Eclipse PHP (Bônus: Temas e Fontes no Eclipse)

Armazenando datas de uma outra forma

  
Comentários
[1] Comentário enviado por bolche em 17/07/2008 - 12:54h

Muito bom! Bem pensando, especialmente a configuração de bridge (apesar que, talvez haja alguma configuração um pouco mais simples)
Estranho que o ODBC no PHP não tenha funcionado. Eu conheço o FreeTDS por fazer funcionar esse tipo de conexão exatamente com o ODBC. Você instalou o UnixODBC?
Tb não recomendaria Windows XP. Um Windows Server seria mais adequado.

[2] Comentário enviado por srfurlan em 17/07/2008 - 16:27h

CONCORDO INTERAMENTE POIS JA FIS A MESMA COISA
ATE MAIS

[3] Comentário enviado por vsmoraes em 17/07/2008 - 16:37h

Caro bolshe, essa configuração de como fazer o bridge eu retirei do próprio manual do VirtualBox, não sei te dizer se existe uma outra forma mais fácil... Em relação ao ODBC, até faria a conexão com o banco só que, eu teria que fazer muitas modificações nos programas (que já estão prontos) para rodar. Pura e simples necessidade minha.
Já o Windows, como é só pra desenvolvimento não tem problema ser o XP, não vou precisar de todo o potencial de um Servidor rodando na minha máquina virtual, só o MSSQL. Além do que, o CD do Windows XP veio com o meu Notebook, não tenho outra versão ou qualquer outro CD do Windows, sou totalmente contra a pirataria.

Agradeço seu comentário e espero que você e todos que lerem meu artigo gostem =)
Qualquer dúvida farei o possível para ajudar.

Abraços.

[4] Comentário enviado por maran em 18/07/2008 - 07:04h

Muito bom, meus pararabens ;)

[5] Comentário enviado por aniltonf em 18/07/2008 - 12:42h

Muito bom o teu artigo. No outro dia eu estava a tentar fazer isso mesmo, ainda antes desse artigo e deparei com dois problemas.
1. No Web Site do VirtualBOX, há pacotes para várias distribuições, mas para Slack não há.
2. Tirei uma para Mandriva 2007.1 e instalei. Na hora de criar um MV para instal XP funciona como deve ser, cria o disco e todos os recusrsos. Mas quando vou instalar o Windows XP, dá problemas com o Kernel.

Uso Slack 12. Alguma dica do que possa ser, será que tem a ver com essa história de grupos ...

Este é o erro que dá

<code>

VirtualBox kernel driver not installed. The vboxdrv kernel module was either not loaded or /dev/vboxdrv was not created for some reason. Re-setup the kernel module by executing '/etc/init.d/vboxdrv setup' as root.
VBox status code: -1908 (VERR_VM_DRIVER_NOT_INSTALLED).


Result Code:
0x80004005
Component:
Console
Interface:
IConsole {d5a1cbda-f5d7-4824-9afe-d640c94c7dcf}

</code>
;)

[6] Comentário enviado por vsmoraes em 18/07/2008 - 12:52h

@aniltonf: Na intalação do VirtualBox ele gera um módulo pro kernel, como vc usou um pacote de outra distribuição pode ter acarretado em algum erro na criação deste módulo.
Quando se tratar de Slackware, prefira sempre códigos fontes, salve algumas exceçoões.
Bom, tente instalar o VirtalBox com o instalador genérico. Basta seguir a instalação do artigo. Na hora de baixar o VirtualBox baixe o: Linux (i386), que é genérico =)

[7] Comentário enviado por omar331 em 29/07/2008 - 14:52h

Grande artigo!
Mas... depois de fazer o bridge, minha conexão ADSL cai!
Então consigo acessar o VM, acessar o SQL Server, tudo direitinho, mas fico sem conexão com a internet!
Faz horas que estou procurando alguma solução... alguem poderia me dar uma luz!
Obrigado!

[8] Comentário enviado por verovan em 08/05/2009 - 13:47h

Cara, seu artigo está de parabéns e me ajudou muito, principalmente com a configuração da bridge do Virtualbox, apesar que uso o OpenSuse 11 funcionou perfeitamente, valeu mesmo cara.

Abraços, e mais uma vez parabens


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts