Máquinas virtuais com phpVirtualBox
Hoje em dia a virtualização é, ou deveria ser, largamente utilizada. É possível termos dezenas de servidores com inúmeros propósitos dentro de uma (ou mais) máquina(s) física(s). É fantástico e de extrema utilidade!
Para quem usa o Virtualbox e pretende remotamente fazer a gestão das suas máquinas virtuais pode usar o phpVirtualBox. É simples e basta que tenha um browser à mão. Hoje vamos aprender a instalar o VirtualBox e o phpvirtualbox.
Instalar o VirtualBox e o phpvirtualbox
Este guia vai indicar quais os passos necessários para a instalação e configuração do VirtualBox e do phpvirtualbox, assumindo que estão a usar uma instância do Ubuntu Server 14.04. O projeto phpvirtualbox funciona em outras distribuições mas os passos são ligeiramente diferentes.
Instalação do software necessário
Atualizar o Ubuntu e instalar os pacotes essenciais:
sudo apt-get update sudo apt-get upgrade sudo apt-get install build-essential |
Instalar o VirtualBox
Vamos começar por obter e instalar uma das últimas versões do Virtualbox (neste caso a versão a 64 bits, para outras versões aceder aqui)
wget http://download.virtualbox.org/virtualbox/4.3.24/virtualbox-4.3_4.3.24-98716~Ubuntu~raring_amd64.deb sudo dpkg -i virtualbox-4.3_4.3.24-98716~Ubuntu~raring_amd64.deb |
Vamos agora fazer o download e instalar o pacote de extensões do VirtualBox:
wget http://download.virtualbox.org/virtualbox/4.3.24/Oracle_VM_VirtualBox_Extension_Pack-4.3.24-98716.vbox-extpack sudo vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.3.24-98716.vbox-extpack sudo ls /etc/init.d | grep vboxweb-service |
O output do último comando introduzido deverá ser este:
vboxweb-service |
De seguida instalamos o Apache, fazemos o download do phpVirtualBox e colocamos tudo no sítio certo:
sudo apt-get install apache2 php5 libapache2-mod-php5 unzip wget http://downloads.sourceforge.net/project/phpvirtualbox/phpvirtualbox-4.3-2.zip sudo unzip phpvirtualbox-4.3-2.zip -d "/var/www" && sudo mv /var/www/phpvirtualbox-4.3-2 /var/www/phpvirtualbox |
Configuração da instalação
Para que tudo funcione corretamente é necessário criar uma conta de utilizador especificamente para o phpVirtualBox. Neste exemplo vamos utilizar o nome utilizadorVB.
sudo adduser utilizadorVB --ingroup vboxusers |
Posto isto, vamos editar o ficheiro de configuração do phpVirtualBox e adicionar as nossas informações:
sudo cp /var/www/phpvirtualbox/config.php-example /var/www/phpvirtualbox/config.php sudo nano /var/www/phpvirtualbox/config.php |
Actualizem o ficheiro, seguindo este exemplo:
/* Username / Password for system user that runs VirtualBox */ var $username = 'utilizadorVB'; var $password = 'a_sua_password_aqui'; /* SOAP URL of vboxwebsrv (not phpVirtualBox's URL) */ var $location = 'http://localhost:18083/'; |
Assim que isto estiver terminado vamos atualizar as configurações do VirtualBox:
sudo nano /etc/default/virtualbox |
Acrescentando a seguinte linha:
VBOXWEB_USER=utilizadorVB |
O último ficheiro que temos para alterar é o do Apache, como tal:
sudo nano /etc/apache2/sites-enabled/000-default.conf |
E modificam o ficheiro para:
DocumentRoot /var/www/phpvirtualbox
Para finalizar, temos de reiniciar os serviços para que as nossas alterações e configurações surtam efeito:
sudo service apache2 restart && sudo service vboxweb-service restart |
Testar tudo!
Se seguiram o tutorial corretamente tudo deverá estar bem configurado. Para verificar se está ou não a funcionar basta abrir o endereço do vosso computador no browser. Deverá aparecer uma imagem igual a esta:
Username: admin Password: admin |
Assim termina o tutorial de como gerir máquinas virtuais com phpVirtualBox.
Dúvidas ou sugestões serão sempre bem-vindas!
Extra
Desenvolvi um script em Bash que inicia as máquinas virtuais assim que o computador é ligado e guarda o seu estado assim que este é desligado. Podem consultar o mesmo aqui.
Por Rafael Almeida para PPLWARE.COM
Este artigo tem mais de um ano
Deixa ver se percebi a ideia!
1. Instalo um servidor com Ubuntu server (servirá apenas para correr Virtualbox)
2. Instalo o virtualbox e crio várias máquinas virtuais: por exemplo, uma para um servidor web (outra vez com Ubuntu Server), outra para servidor de ficheiros (CentoOS, por exemplo), outra com Windows server para gerir um domínio (windows server), outra para servidor Voip (asterisk), etc.
Desvantagens: se o Ubuntu Server inicial crachar, vai tudo à viola.
Vantagens: poupança de máquinas físicas, de eletricidade, de espaço; se uma das máquinas virtuais “derreter”, repõe-se facilmente; maior segurança porque poderá haver problemas com uma e não com outra.
O phpvirtualbox serve para gerir isto tudo. É isso?
Consulto o estado das máquinas, vejo se tudo está ok. Paro ou reinicio máquinas.
E posso fazê-lo de qualquer parte do mundo?
Será que percebi isto bem? Sem dúvida que vale a pena experimentar.
Ola AJ,
Concordo com os pontos que referiste acima!
Sim, o phpVirtualBox funciona como descreveste, tens ainda a vantagem de tirar “snapshots” que te permite facilmente criar backups da tua máquina virtual e repor com facilidade! Até podes estar na China e gerir as VMs.
Com o script que criei e partilhei no Github (baseado num já existente) não tens de te preocupar em iniciar as máquinas caso o servidor se desligue, assim que ele se ligar as VMs que definires no script ligam-se automaticamente!
Sim percebeste mas ao nível que estas a falar não me parece a melhor opção…
Algo profissional usa Citrix XenServer o Vmware ESXI.
Isto sera uma solução mais caseira
Contudo em abmas as soluções que tas a falar para funcionalidades que não o “start” e “stop” da vm terás sempre que pagar uma licença, o que não acontece se tiveres uma solução opensource. As funcionalidades do produto crescem consoante o kit de unhas do utilizador… 🙂
Sim. É exactamente isso.
É um bom artigo.
Já tive a oportunidade de testar o virtualbox (linha de comandos e gui), e também testei o phpvirtualbox.
Gostei do phpvirtualbox, mas… Acho-o muito limitado. É excelente para um ambiente “de trazer por casa” e não para um ambiente empresarial.
Apesar do phpvirtualbox ter “utilizadores” (sim entre aspas), não têm um sistema de permissões e grupos para separar as máquinas virtuais, ou seja, todos os utilizadores que se criar no phpvirtualbox têm acesso automaticamente a todas as máquinas criadas, o que acho muito, mas muito mau.
Por isso me virei para o Proxmox.
https://puphpet.com/
Compre perfeitamente para requisitos mínimos. Para requisitos mais pro temos o openstack.
Também há o ProxMox (http://www.proxmox.com/) Que é comparável ao Vmware ESXi. Ainda ontem tive a ideia de fazer um servidorzinho desses e o ProxMox será a minha escolha muito provavelmente .
Este cenário da virtualização está a parecer-me formidável.
Vou experimentar e procurar mais sobre essas alternativas que referem (proxmox, vmware esxi, citrix)
E em termos de hardware? É melhor uma máquina com grandes especificações, quer-me parecer.
E só é precisa uma placa de rede para tantos IP diferentes?
Desculpem tanta pergunta, mas este artigo acendeu-me umas luzes!
Não precisas de uma máquina brutal… tudo depende da quantidade de máquinas virtuais que queres ter e dos recursos que queres atribuir a cada uma.
Sim, 1 placa de rede chega. Os sistemas virtualizam novas placas de rede a partir da que tens.
phpVirtualBox como uma Jail no Freenas tem um consumo de recursos melhor do que com o Ubuntu na minha opinião. E não temos de ter um servidor só para máquinas. O servidor de storage faz as duas funções.
Tenho um compaq CQ61 que não traz a opção de virtualização na BIOS, isso é impedimento para usar o VMware ou o Virtual Box? Existe alguma opção? A minha BIOS não traz mesmo a opção de virtualização, eu sei que para fazer uso das instalações de 64bits nas máquinas virtuais é preciso habilitar esta opção. Alguém poderia ajudar com alguma solução?