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: 50.901 ]

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


Apache e PHP



Considerações iniciais

Algumas distribuições já vem com o Apache (httpd) e o PHP instalados, como é o caso do Slackware. Antes de ir compilando, vamos remover o que já está instalado, execute (como root):

# /etc/rc.d/rc.httpd stop
# removepkg httpd
# removepkg php


Se você usa outra distribuição, utilize o método de remoção dela.

Instalando o apache

Se você instalou o apache usando um pacote pré-compilado, pule esta parte.

Copie o apache para o diretório /opt/ (como root):

# cp httpd-XXX.tar.gz /opt/ # Onde XXX é a versão do apache

Extraia seu conteúdo e entre em seu diretório:

# tar -xvzf httpd-XXX.tar.gz
# cd httpd-XXX


Vamos a compilação (ainda como root):

# ./configure --enable-so
# make
# make install


Agora o PHP:

# cp php-XXX.tar.gz /opt
# tar -xvzf php-XXX
# cd php-XXX


É aqui que vem o 'pulo do gato', existem 3 formas de compilar o PHP para que ele funcione com acesso a SQL Server, a primeira (db-lib) funciona, mas obtive erros inesperados de estouro de memória.

A segunda (ct-lib) é a que vamos usar e a terceira (ODBC) não funcionou nem com reza brava aqui. Então vamos lá:

# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-sybase-ct=/usr/local/freetds

Antes de executar o resto da compilação, devemos remover alguns parâmetros para que não dê erro, para isso edite o arquivo MakeFile (como root):

# vim MakeFile

Procure a linha EXTRA_LIBS, você vai notar que existem inúmeros parâmetros e alguns deles vão ter que ser excluídos, são eles:

-lsybtcl -lintl -lcomn -lcs

Somente esses, não mexa nos outros. Agora vamos compilar (como root):

# make
# make install


Se tudo correu bem até aqui, seu ambiente de desenvolvimento está pronto!!!

Inicie o apache (como root):

# /etc/rc.d/rc.httpd start

Inicie sua máquina virtual e divirta-se!

Página anterior    

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

Atheros Wireless + Slackware 12.0

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

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

Leitura recomendada

PDO - Introdução e conceitos

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

Uma introdução à classe ADODB

Servidor Web com Fedora Core 7

Paginando resultados com a classe Generic Easy Pagination

  
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