Gerencie suas máquinas virtuais do VirtualBox via Web #phpVirtualBox

Com VirtualBox é possivel executar diversos sistemas operacionais (Windows, Linux, UNIX, BSD) simultaneamente no mesmo hardware, que são chamados de máquinas virtuais. Uma das características é o mascaramento dos recursos físicos (incluindo processadores, quantidade de memória, interfaces de rede), o que permite diminuir a administração de drivers nas máquinas virtuais, e transferir uma máquina virtual entre servidores físicos diferentes.

Existem várias ferramentas de virtualização disponíveis.

Microsoft Virtual Server 2005 R2 – disponível para plataforma x86 e x86_64 bits. Suporte: Somente Windows.
Qemu – ferramenta de virtualização de código aberto disponível para windows, mac e Linux.
Vmware – Disponível para Windows e Linux.
VirtualBox – Aplicativo de código aberto disponível para Windows, Mac, Linux e Solaris.
Xen – Suporta Windows, bem como distribuições Linux.

O VirtualBox inicialmente foi lançado sob licença proprietária, mas mais tarde (2007) a Oracle Corporation começou a lançá-lo sob GNU General Public License. Escrito completamente em C, C ++ e Assembly Language está disponível para Windows, OS X, Linux e Solaris.

INSTALAÇÃO:
Debian 8 Jessie / Debian 9 Stretch, recomendo uma instalação limpa do Debian

Adicione o repositório do virtualbox

Para Debian 8 Jessie

# echo 'deb http://download.virtualbox.org/virtualbox/debian jessie contrib' > /etc/apt/sources.list.d/virtualbox.list
# wget --no-check-certificate -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | apt-key add -

Para Debian 9 Stretch

# echo 'deb http://download.virtualbox.org/virtualbox/debian stretch contrib' > /etc/apt/sources.list.d/virtualbox.list
# wget --no-check-certificate -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | apt-key add -

Vamos a instalação, a versão 5.1 (nesta data 19/06/17) ainda não tem uma versão compatível com o phpVB, por isso irei instalar a versão 5.0

# apt update
# apt install virtualbox-5.0

Faça download dos pacotes extras https://www.virtualbox.org/wiki/Downloads como instalei a versão 5.0 irei baixar a versão correspondente: (If you are using VirtualBox 5.0.40, please download the extension pack here.)

# wget --no-check-certificate http://download.virtualbox.org/virtualbox/5.0.40/Oracle_VM_VirtualBox_Extension_Pack-5.0.40-115130.vbox-extpack

Instale os pacotes extras

# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.0.40-115130.vbox-extpack


Responta Yes (y)

Vamos executá-lo como o nosso usuário vbox, porque ele não precisa acessar o resto do seu sistema.

# useradd -d /home/vbox -m -g vboxusers -s /bin/bash vbox

Defina uma senha para seu usuario vbox

# passwd vbox

Diga ao seu sistema qual usuário vai executar o VirtualBox.

# echo 'VBOXWEB_USER=vbox' > /etc/default/virtualbox 
# echo 'VBOXWEB_HOST=127.0.0.1' >> /etc/default/virtualbox

Faça com que o vboxweb-service inicie no boot. Como dito acima nosso usuário não precisa ter acesso total ao sistema, entao vamos instalar o sudo e roda-lo via sudo.

# apt install sudo

Adicione no /etc/rc.local o comando para iniciar junto com o boot.

Debian 8 Jessie:

# vim /etc/rc.local

Insira antes de exit 0

1
sudo -u vbox vboxwebsrv &

Debian 9 Stretch:
É necessário criar este arquivo e dar permissões de execução.

# vim /etc/init.d/vbox-start
1
2
3
4
5
6
7
8
9
#!/bin/sh
 
sudo -u vbox vboxwebsrv &
 
# Inicializando a VM use o comando:
# sudo -u vbox VBoxManage list vms
# "Debian" {d288884d-a3d4-4903-b84e-5c6039af13b5}
# Pegue o "ID" da VM e use o Comando:
# sudo -u vbox VBoxHeadless -s d288884d-a3d4-4903-b84e-5c6039af13b5 &

Altere as permissões, e colocaremos para iniciar com o sistema.

# chmod 777 /etc/init.d/vbox-start
# cd /etc/init.d/
# update-rc.d vbox-start  defaults

Vamos instalar o serviço web + php

Debian 8 Jessie:

# apt install apache2 php5 php5-common php-soap php5-gd unzip

Debian 9 Stretch:

# apt install apache2 php7.0 php7.0-common php7.0-soap php7.0-gd unzip php-pear php7.0-mysql php-xml php-soap

Entre no diretório do usuário vbox, baixe o phpvirtualbox, extraia o mesmo e altere as configurações necessárias. Nosso arquivos vão ficar todos nesta pasta.

# cd /home/vbox/
# wget --no-check-certificate http://sourceforge.net/projects/phpvirtualbox/files/latest/download -O phpvirtualbox.zip
# unzip phpvirtualbox.zip
# mv phpvirtualbox-5* phpvirtualbox
# rm phpvirtualbox.zip
# chown vbox:vboxusers phpvirtualbox  -R
# cd phpvirtualbox
# cp config.php-example config.php
# vim config.php
1
2
3
4
 // ... //
var $username = 'vbox';
var $password = 'P@55w0rd';
 // ... //

Crie um atalho dentro do diretório do apache para podermos acessar via web.

# ln -s /home/vbox/phpvirtualbox /var/www/html/

Para concluir vamos reiniciar nosso servidor

# reboot 

Agora acesse:
http://IP-SERVIDOR/phpvirtualbox/
Usuário: admin
Senha: admin

Alterando a senha padrão.

Clique no menu: File -> Change Password


Insira a nova senha.

Alterando o idioma para PT-BR.

Clique no menu: File -> Preferences…

Selecione na esquerda Language, e escolha Português (Brasil)

Criando uma maquina virtual.
O procedimento para criação de uma VM é igual ao que você já conhece na versão desktop.

Para acessar remotamente você precisa ativar a tela remota:

Você pode colocar suas ISOs no diretório do usuário vbox:

😉

Rudimar Remontti

Trabalho atualmente como Gerente de Redes em um Provedor de Internet no Rio Grande do Sul.

Você pode gostar...

6 Resultados

  1. Fábio Holliday disse:

    Excelente, tudo redondinho!

  2. Humberto Guimarães disse:

    Muito obrigado por compartilhar… excelente trabalho e de fácil entendimento para mais leigos como eu e precisando de resolver um probleminha… obrigado!

  3. Rafael disse:

    amigo, parabens pelo seu tutorial, foi o mais perto que cheguei de um tutorial bom. infelizmente estou tendo um problema.
    quando eu tento acessar a pagina ele da um erro

    eu criei um pastebin pra ficar mais pratico e deixar tudo em um local so. a primeira parte eh o erro e depois tem o arquivo config.php.. se puder me ajudar agradeco demais

    https://pastebin.com/e0zZrMur

  4. Enio disse:

    Fiz todo o procedimento e funcionou, mas não aparece o pack extra conectado via web. No local aparece, na interface gráfica.
    O que pode ser?

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *