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

→→→ UM TUTORIAL MAIS RECENTE AQUI! ←←←

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 9 Stretch, recomendo uma instalação limpa do Debian

Recomendo já baixar a ISO nonfree: https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/

Adicione o repositório do virtualbox

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.2 (nesta data 28/03/19) ainda não tem uma versão 6 compatível com o phpVirtualbox.

Certifique-se que seu repositório esteja usando os repositórios nonfree e contrib.

#vim /etc/apt/sources.list

Ao final de cada linha verifique se consta: nonfree e contrib, se não tiver adicione, ficando assim:

deb http://ftp.br.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.br.debian.org/debian/ stretch main contrib non-free

deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free

# stretch-updates, previously known as 'volatile'
deb http://ftp.br.debian.org/debian/ stretch-updates main contrib non-free
deb-src http://ftp.br.debian.org/debian/ stretch-updates main contrib non-free
# apt update
# apt install firmware-linux firmware-linux-free firmware-linux-nonfree
# apt install virtualbox-5.2

Faça download dos pacotes extras: https://www.virtualbox.org/wiki/Downloads como instalei a versão 5.2 irei baixar a versão correspondente: (If you’re looking for the latest VirtualBox 5.2 packages, see VirtualBox 5.2 builds.)

# wget --no-check-certificate https://download.virtualbox.org/virtualbox/5.2.26/Oracle_VM_VirtualBox_Extension_Pack-5.2.26.vbox-extpack

Instale os pacotes extras

# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.2.26.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.

# vim /etc/rc.local

No debian 9 esse arquivo é necessário criá-lo

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.


# Solução para inicialização automatica:
# use o comando la listar as VMs criadas
# sudo -u vbox VBoxManage list vms
# Colete as ID
# "Debian" {d288884d-a3d4-4903-b84e-5c6039af13b5}
# Pegue o "ID" da VM e use o Comando a baixo descomentando a linha:
# Adicione um sleep para aguardar 30seg para dar tempo do modulo do kernel ter tempo de iniciar
# sleep 30
# sudo -u vbox VBoxHeadless -s d288884d-a3d4-4903-b84e-5c6039af13b5 &

No Debian 9 precisa alterar as permissões:

# chmod +x /etc/rc.local

Vamos instalar o serviço web + php

# 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 https://github.com/phpvirtualbox/phpvirtualbox/archive/5.2-1.tar.gz -O phpvirtualbox.5.2-1.tar.gz
# tar -vxzf phpvirtualbox.5.2-1.tar.gz
# mv phpvirtualbox-5* phpvirtualbox
# rm phpvirtualbox.5.2-1.tar.gz
# chown vbox:vboxusers phpvirtualbox  -R
# cd phpvirtualbox
# cp config.php-example config.php
# vim config.php
 // ... //
var $username = 'vbox';
var $password = 'pass';
 // ... //

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

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

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

17 Resultados

  1. Yu disse:

    Tentei seguir o passo a passo, porem ele da erro na pagina “phpvirtualbox is unreachable” “ERR_ADDRESS_UNREACHABLE”
    Sabe o que pode ser?

  2. Alexandre Galdino disse:

    Ao criar uma maquina, em Network, ao escolher rede interna, não aparece o nome da interface, como intnet por exemplo e não permite que eu digite também. Alguem sabe se é um bug ou posso editar algum arquivo para habilitar essa função?
    Desde já agradeço!!

  3. Jackson Lincon disse:

    Pessoal Pode Rodar o “vboxwebsrv -H 127.0.0.1”
    Esse cara que abre abre o serviço na porta 18083

    Obs: Não esquecer de editar as portas:

    vim /home/vbox/phpvirtualbox/config.php

    /* Set the standard VRDE Port Number / Range, e.g. 1010-1020 or 1027 */
    var $vrdeports = ‘18080-18083’;

  4. Kenio Farias disse:

    Ao tentar logar me deparo com esse erro

    Exception Object
    (
    [message:protected] => Could not connect to host (http://127.0.0.1:18083/)
    [string:Exception:private] =>
    [code:protected] => 64
    [file:protected] => /home/vbox/phpvirtualbox/endpoints/api.php
    [line:protected] => 134
    [trace:Exception:private] => Array
    (
    )

    [previous:Exception:private] =>
    )

  5. Paulo disse:

    Fui criar uma VM, e ocorreu o seguinte erro:

    VirtualBox error: rc=0x80004001 Page fusion is only supported on 64-bit hosts (0x80004001)

  6. Judson disse:

    Mas se você quiser fazer um curso com 20 alunos por exemplo, para que cada um tenha sua VM, você necessitará de de um Hardware com no mínimo uns 50GB de memória, fica inviável não?

  7. Emanuel Araujo disse:

    Olá, instalei conforme o tutorial, funcionou até a hora de tentar subir uma VM para iniciar uma instalação! Então o console da VM não funciona!
    Sabe o que pode ser?!

  8. Fábio Holliday disse:

    Excelente, tudo redondinho!

  9. 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!

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

  11. 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 um comentário

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