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.900 ]

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


Desvendando o VirtualBox



Instalação

Para instalar o VirtualBox é bem simples, basta executar (como root):

# sh VirtualBox-1.6.2-Linux_x86.run

Sem muitos problemas o VirtualBox deve ser instalado na sua máquina.

Após a instalação, adicione seu usuário ao novo grupo criado, o vboxusers. Para fazer isso (como root):

# vim /etc/groups

E coloque o login do seu usuário ao lado do grupo vboxusers. Feito isso você vai precisar fazer um logoff para que as configurações sejam recarregas.

Para executar o VirtualBox:

$ VirtualBox

Será pedido que você faça o registro do VirtualBox, vou pular direto para a parte principal. Para criarmos uma nova máquina virtual, clique em "Novo".

Clique em "Próximo". Nesta tela dê um nome para sua máquina virtual e escolha a versão do Windows que você vai instalar.



Na próxima tela você vai selecionar o quanto de memória deve ser liberada para rodar sua máquina virtual. Por padrão, já vem com a quantidade referente à versão do sistema operacional que foi escolhido.

Na tela seguinte vamos criar uma partição virtual que vai conter nosso Windows, para isso clique em "Novo".

Clique em "próximo" na apresentação e, na tela seguinte vamos marcar "Imagem dinamicamente expansível". Isso vai fazer com que não seja liberado todo o espaço necessário no HD de uma vez só. Clique em "próximo".

Dê um nome para sua imagem, que é a partição virtual, e informe o tamanho dela. Assim como a memória, o tamanho vem com o padrão para o sistema escolhido. Clique em "próximo" -> "Finalizar".



Clique em "próximo -> finalizar" mais uma vez e pronto! Sua máquina já está criada, vamos instalar o Windows agora.



Clique no ícone "Iniciar", a máquina será aberta e um Wizard vai guiá-lo na instalação do sistema operacional. Clique em "próximo" na apresentação e, na próxima tela, selecione o tipo de mídia óptica que você deseja utilizar na sua máquina, CD/DVD-ROM ou disquete.

Logo abaixo informe a mídia que será usada para instalar o Windows. Se for de um CD, escolha o drive em "Drive do hospedeiro", se você for usar uma imagem (ex: .iso), selecione a opção abaixo. Clique em próximo e em finalizar e a instalação começará.

Proceda normalmente a partir daqui.



Configuração da rede

O VirtualBox possui vários recursos de rede. Sem maiores configurações você consegue fazer seu Windows acessar a internet, compartilhar pastas e arquivos com o Linux e acessar alguns serviços básicos, como o HTTP.

Porém, para que o Linux possa acessar algumas funções do Windows requer algumas configurações a mais. Neste caso usaremos o que é chamado de Bridge, que requer o pacote bridge-utils.

Se você usa Slackware, baixe aqui. Para Debian's like:

# apt-get install bridge-utils

Feito isso, salve os comandos abaixo em um arquivo qualquer:

mkdir /dev/net
mknod /dev/net/tun c 10 200
chown -R vinicius.vboxusers /dev/net # altere o usuário aqui.
brctl addbr br0
ifconfig eth0 0.0.0.0 # usei a eth0 para estabelecer o bridge. Neste momento a conexão será perdida, cuidado.
brctl addif br0 eth0
ifconfig br0 192.168.0.1
VboxAddIF vbox0 vinicius br0 # altere o usuário aqui.
ifconfig vbox0 192.168.0.2
# Se você recebe um IP via DHCP, descomente a linha abaixo
# dhclient eth0

Salve e dê permissões para execução:

$ chmod +x /home/vinicius/vbox-bridge

Você terá que executar este script (como root) antes de iniciar sua máquina virtual para que o bridge funcione.

Se sua máquina virtual estiver aberta, finalize. Abra o VirtualBox, selecione sua Máquina Virtual e clique em "Configurações". Clique em "Rede", marque a opção "Placa de rede do Hospedeiro" e, na placa de rede, coloque "vbox0", que é o bridge que criamos. Salve e inicie sua máquina virtual.



Após o início do Windows a rede deve ficar com a conexão limitada, se isso acontecer então estamos no caminho certo. Abra as propriedades da placa de rede e coloque o IP 192.168.0.4 e a máscara 255.255.255.0, pronto, conexão estabelecida!!!



Página anterior     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

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

Atheros Wireless + Slackware 12.0

Leitura recomendada

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

Paginando resultados com a classe Generic Easy Pagination

Servidor Web com Fedora Core 7

Como criar um sistema de autenticação de usuários usando PHP/MySQL

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