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
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:
😉
Tentei seguir o passo a passo, porem ele da erro na pagina “phpvirtualbox is unreachable” “ERR_ADDRESS_UNREACHABLE”
Sabe o que pode ser?
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!!
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’;
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] =>
)
Serviço não parece estar rodando….
estou com o mesmo problema, qual serviço não estaria rodando?
Fui criar uma VM, e ocorreu o seguinte erro:
VirtualBox error: rc=0x80004001 Page fusion is only supported on 64-bit hosts (0x80004001)
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?
Não entendi muito bem sua colação diante do tutorial.
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?!
Verifiquei os logs, pode ser algum módulo de kernel faltando dependendo do seu hardware, tente instalar os firmware non-free.
Excelente, tudo redondinho!
Muito obrigado por compartilhar… excelente trabalho e de fácil entendimento para mais leigos como eu e precisando de resolver um probleminha… obrigado!
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
Teria q ver qual erro está dando. Pode me chamar no telegram @remontti
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?
A instalação dos pacotes extra é feita via linha de comando.