Máquinas virtuais com phpVirtualBox

13 Comentários

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.

phpvirtualbox2

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:

phpvirtualbox

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

Partilhar:
Tags:

Comentários

13

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de AJ
    AJ

    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.

    1. Avatar de Rafael Almeida

      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!

    2. Avatar de Luis Silva
      Luis Silva

      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

      1. Avatar de Troll
        Troll

        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… 🙂

    3. Avatar de webix
      webix

      Sim. É exactamente isso.

  2. Avatar de webix
    webix

    É 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.

  3. Avatar de Pedro Oliveira
    Pedro Oliveira

    Compre perfeitamente para requisitos mínimos. Para requisitos mais pro temos o openstack.

  4. Avatar de Rui Pedro Caldeira

    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 .

  5. Avatar de António Joaquim
    António Joaquim

    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!

    1. Avatar de webix
      webix

      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.

  6. Avatar de Charles Napier
    Charles Napier

    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.

  7. Avatar de noguche
    noguche

    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?