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.
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):
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á:
[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.
[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.
[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}
[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.