VirtualBox + PhpVirtualBox + Ubuntu 14.04 Server

Este artigo aborda a instalação do VirtualBox no Ubuntu Server 14.04 modo texto, assim como o PhpVirtualbox para gerenciamento das VMs pela interface Web.

[ Hits: 36.654 ]

Por: Erlan Fernando Salvador em 28/04/2015


Instalação do PhpVirtualbox



Vamos baixar a última versão do site:

cd /tmp/ && wget http://sourceforge.net/projects/phpvirtualbox/files/phpvirtualbox-4.3-2.zip

Descompactar:

unzip phpvirtualbox*.zip

Vamos mover para o diretório do Apache:

sudo mv phpvirtualbox-4.3-1 /var/www/html/phpvirtualbox

Gere o arquivo de configuração do phpVirtualbox, use o comando abaixo:

sudo cp /var/www/html/phpvirtualbox/config.php-example /var/www/html/phpvirtualbox/config.php

Edite o arquivo de configuração:

sudo vi /var/www/html/phpvirtualbox/config.php

Altere as linhas de deixe conforme abaixo:

var $username = 'vbox';
var $password = 'senha_usuario_vbox';
var $language = 'pt_BR';

Eu também restringi o acesso apenas à pasta do usuário "vbox", assim, caso alguém precise acessá-lo, não ficará vasculhando o que não deve:

// Restrict locations / folders
var $browserRestrictFolders = array('/home/vbox/VirtualBox Vms','/home/vbox/ISOs');

Habilite também esta opção, assim terá mais opções para configurar suas máquinas virtuais:

/* Enable advanced configuration items (normally hidden in the VirtualBox GU I)
* Note that some of these items may not be translated to languages other th an english.
*/

var $enableAdvancedConfig = true;

Agora, crie a pasta "ISOs" em /home/vbox, esta pasta conterá as ISOs de instalação dos sistemas operacionais:

sudo mkdir /home/vbox/ISOs

Crie um novo arquivo que conterá informações para o Virtualbox, como o usuário do serviço "vboxweb", o que fazer em caso de desligamento de anfitrião etc:

sudo vi /etc/default/virtualbox

Nesse arquivo, coloque as informações abaixo, salve e saia:

VBOXWEB_USER=vbox          #usuário do vboxweb
SHUTDOWN_USERS="vbox"      #Usuários que podem desligar as VMs
SHUTDOWN=savestate         #Salva o estado das máquinas em caso de desligamento do anfitrião

Inicie o serviço Virtualbox Web com o comando abaixo:

sudo /etc/init.d/vboxweb-service start

Abra o navegador e digite o endereço: http://127.0.0.1/phpvirtualbox

No primeiro acesso, use o login e senha:
  • admin
  • admin

Crie uma máquina virtual, prestar atenção nas opções de configurações, não esquecer de habilitar o IO APIC para liberar mais núcleos do processador.

Depois de criada a máquina virtual, precisamos coloca-la para iniciar no boot do Ubuntu, porém, ela deve ser iniciada com o usuário "vbox", para que o phpVirtualbox possa gerenciar as VMs.

Então, vamos fazer o seguinte, crie um script para iniciar cada um. Seguir o modelo abaixo:

vi /etc/init.d/inicia_vms.sh

#!/bin/bash

iniciar()
{
        VBoxManage startvm "Windows7" -type headless     ##Inicia VM em modo texto
        sleep 3

       ## Adicione outra VMs criadas

}

parar()
{
        VBoxManage controlvm "Windows7" acpipowerbutton    ## Desliga a VM pelo botão ACPI, pode ser usado poweroff ou outro
#       /usr/bin/VBoxManage controlvm Debian poweroff
# Adicione outras VMs Criadas, algumas não suportam desligamento por ACPI
}

case "$1" in
        start)
                iniciar;;
        stop)
                parar;;
        *)
                echo "Formato: /etc/init.d/vboxstart.sh {start|stop}"
                exit 1
esac
exit 0

Colocar o usuário "vbox" como dono do arquivo e dar permissão de execução.

Agora, vem o pulo do gato! Para que cada boot as VMs possam iniciar sem que aja interferência humana e nem seja necessário logar, vamos colocar para executar o script no Cron toda vez que iniciar o sistema.

E o melhor, é que podemos dizer com qual usuário podemos usar o comando, assim colocamos o usuário "vbox", pois daí dá certo e o phpVirtualbox poderá gerenciar as VMs.

Editar o arquivo crontab:

# vi /etc/crontab

Colocar a linha abaixo, para cada VM que deverá iniciar com o sistema, somente alterando o local do script:

@reboot vbox /etc/init.d/inicia_vms.sh start

Reinicie o computador, acesse: http://seuip/phpvirtualbox

E veja se os sistemas estão em execução.

Referências


Página anterior    

Páginas do artigo
   1. Introdução
   2. Instalação do VirtualBox
   3. Instalação do PhpVirtualbox
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Uma alternativa ao ConkyForecast: O BrWeather

Configurando uma OpenVPN com o BRMA

Gravação de CD's com o NeroLINUX

Sbopkg - Instalador de pacotes para Slackware

Zenwalk - Uma distro e tanto

  
Comentários
[1] Comentário enviado por Mc.Eagle em 30/04/2015 - 13:10h

Excelente artigo amigo, não sou muito amante do Virtual Box, aho que consome muito recurso da máquina, mas estarei testando com o escopo de aprendizagem.
Sds.
Fernando "Eagle" de Sousa

[2] Comentário enviado por erlanfernando em 30/04/2015 - 14:47h

Olá Fernando "Eagle" de Sousa, obrigado pelo comentário.

Realmente o Virtualbox, praticamente em todos os fóruns que vejo não é indicado para rodar em ambiente de produção, mas por enquanto ele está respondendo bem, instalei apenas dois sistemas em cima dele, um Windows7 e um Firewal Endian.
Usei ele por me proporcionar função de acesso Web, coisa que não encontrei no VMware player e ainda consigo usar todas as funcionalidades do ubuntu anfitrião (grande gama de aplicativos conhecidos e que tenho domínio), o que talvez não conseguiria com ferramentas bare metal como Xen, Proxmox, etc. (muito por não ter domínio sobre essas ferramentas).

[3] Comentário enviado por removido em 01/05/2015 - 15:13h


[2] Comentário enviado por erlanfernando em 30/04/2015 - 14:47h

Olá Fernando "Eagle" de Sousa, obrigado pelo comentário.

Realmente o Virtualbox, praticamente em todos os fóruns que vejo não é indicado para rodar em ambiente de produção, mas por enquanto ele está respondendo bem, instalei apenas dois sistemas em cima dele, um Windows7 e um Firewal Endian.
Usei ele por me proporcionar função de acesso Web, coisa que não encontrei no VMware player e ainda consigo usar todas as funcionalidades do ubuntu anfitrião (grande gama de aplicativos conhecidos e que tenho domínio), o que talvez não conseguiria com ferramentas bare metal como Xen, Proxmox, etc. (muito por não ter domínio sobre essas ferramentas).

Isto aí tem um pouco de "preconceito" por ele tambem ser utilizado por usuários iniciantes (Não vejo isso em relação ao Hyper-V, que tem interface muito parecida mas é menos utilizado por usuários "comuns").

Lembrando que a Oracle suporta e cobra (E caro) pelo Oracle VM, que é basicamente o...VirtualBox.


Então não vejo problemas em usar ele em produção para ambientes pequenos. A questão real, tirando a bobagem de ser usado por iniciantes, é que existem opções com mais recursos para estruturas maiores, que tornam o virtualbox menos interessante.
Mesmo onde não se pretende gastar com licenças (Ambientes não muito grandes a principio), temos:

VMWare ESXi
Xen
KVM
Proxmox.

Então o virtualbox acaba preterido em alguns ambientes. Porem esta configuração com o PHPVirtualbox é muito interessante, justamente pela facilidade de implantação e maior compatibilidade com hosts (Ubuntu no caso), suportando uma maior variedade de configurações de hardware (Tentem rodar o ESXi em hardware não homologado...), principalmente no Brasil, onde ainda temos muitos ambientes com servidores "montados".

*Parabéns pelo artigo.



[4] Comentário enviado por Mc.Eagle em 01/05/2015 - 22:34h


[3] Comentário enviado por erisrjr em 01/05/2015 - 15:13h


[2] Comentário enviado por erlanfernando em 30/04/2015 - 14:47h

Olá Fernando "Eagle" de Sousa, obrigado pelo comentário.

Realmente o Virtualbox, praticamente em todos os fóruns que vejo não é indicado para rodar em ambiente de produção, mas por enquanto ele está respondendo bem, instalei apenas dois sistemas em cima dele, um Windows7 e um Firewal Endian.
Usei ele por me proporcionar função de acesso Web, coisa que não encontrei no VMware player e ainda consigo usar todas as funcionalidades do ubuntu anfitrião (grande gama de aplicativos conhecidos e que tenho domínio), o que talvez não conseguiria com ferramentas bare metal como Xen, Proxmox, etc. (muito por não ter domínio sobre essas ferramentas).
Isto aí tem um pouco de "preconceito" por ele tambem ser utilizado por usuários iniciantes (Não vejo isso em relação ao Hyper-V, que tem interface muito parecida mas é menos utilizado por usuários "comuns").

Lembrando que a Oracle suporta e cobra (E caro) pelo Oracle VM, que é basicamente o...VirtualBox.


Então não vejo problemas em usar ele em produção para ambientes pequenos. A questão real, tirando a bobagem de ser usado por iniciantes, é que existem opções com mais recursos para estruturas maiores, que tornam o virtualbox menos interessante.
Mesmo onde não se pretende gastar com licenças (Ambientes não muito grandes a principio), temos:

VMWare ESXi
Xen
KVM
Proxmox.

Então o virtualbox acaba preterido em alguns ambientes. Porem esta configuração com o PHPVirtualbox é muito interessante, justamente pela facilidade de implantação e maior compatibilidade com hosts (Ubuntu no caso), suportando uma maior variedade de configurações de hardware (Tentem rodar o ESXi em hardware não homologado...), principalmente no Brasil, onde ainda temos muitos ambientes com servidores "montados".

*Parabéns pelo artigo.




Na verdade não sou expert nem em uma tampouco noutra aplicação, apenas instalei as duas para comparação e pude perceber que o VirtualBox utiliza muito mais recursos da máquina hospedeira do que o VMware player, mas ambos possuem prós e contras, temos que saber usufruir do melhor dos dois mundos.
Sds. Fernando "Eagle" de Sousa.

[5] Comentário enviado por Tacioandrade em 12/06/2015 - 00:02h


Já fiz uso dessa técnica a algum tempo, porem hoje em dia com o Proxmox, XenServer e outras soluções do tipo, não acho mais uma vantagem o uso do Virtualbox em um servidor Linux modo texto para virtualização. Fazer uso do Proxmox caso queira um sistema baseado em web de gerenciamento é mais simples e terá um desempenho maior no sistema. =)

Mesmo assim o artigo ficou muito bem feito, parabéns.

[6] Comentário enviado por erlanfernando em 12/06/2015 - 08:05h


[5] Comentário enviado por Tacioandrade em 12/06/2015 - 00:02h


Já fiz uso dessa técnica a algum tempo, porem hoje em dia com o Proxmox, XenServer e outras soluções do tipo, não acho mais uma vantagem o uso do Virtualbox em um servidor Linux modo texto para virtualização. Fazer uso do Proxmox caso queira um sistema baseado em web de gerenciamento é mais simples e terá um desempenho maior no sistema. =)

Mesmo assim o artigo ficou muito bem feito, parabéns.


Sobre esses que vc citou (Proxmox, XenServer), não tenho experiências em produção com eles, mas acredito que tem um desempenho e confiabilidade melhores, porém, usei o virtual box por depender de um sistema mais completo que no caso usei o Ubuntu, precisava fornecer outros serviços além de virtualização no anfitrião.

Muito obrigado pelo comentário.

[7] Comentário enviado por fabiokalled em 02/11/2015 - 03:19h


Esta linha abaixo faz mesmo, mesmo o virtualBox detectar o usb.
sudo usermod [seu_usuario] -G [seu_usuario],vboxusers,sudo
Mais de um mês a procura muito bom mesmo.

[8] Comentário enviado por nethospede em 10/01/2016 - 23:27h

Pessoal Por favor, a senha do admin do phpvirtualbox foi alterada e perdida, como podemos alterar ela em modo texto já que não da para acessar a interface web.
Ajuda aee Galera..

[9] Comentário enviado por erlanfernando em 11/01/2016 - 21:56h

Olá, faça o seguinte:

1) Navegue ate:
# cd /var/www/html/phpvirtualbox

2) Copie o arquivo "recovery.php-disabled", renomeando para "recovery.php"
# cp recovery.php-disabled recovery.php

3) Agora acesse o endereço de seu phpvirtualbox pelo navegador, conforme abaixo:
http://seuip/phpvirtualbox/recovery.php

4) Depois de efetuar o restore da senha, não esqueça de deletar o arquivo recovery.php e por gentileza poste se deu certo.

[10] Comentário enviado por sidneipanuci em 14/06/2016 - 08:56h

Bom dia prezados, sou novo em linux e segui o tutorial perfeitamente, entretanto esbarrei em duas questões: O nome do Serviço ao inicializar não está vboxweb como mencionado mas apenas virtualbox. Não sei se isso vá interferir em algo. Ao acessar o endereço de meu servidor http://xxx.xxx.xx.xxx/virtualbox eu entro na tela de login. Ao digitar o usuário e senha cadastrados na arquivo config.php me deparo com a seguinte mensagem:

Exception Object
(
[message:protected] => Could not connect to host (http://192.168.10.200:18083/)
[string:Exception:private] =>
[code:protected] => 64
[file:protected] => /var/www/html/phpvirtualbox-5.0-5/endpoints/api.php
[line:protected] => 134
[trace:Exception:private] => Array
(
)

[previous:Exception:private] =>
)

Ficaria grato com uma ajuda. OBS: Já tentei resetar a senha através do arquivo recovery porém apresenta o mesmo erro. Abraços.

[11] Comentário enviado por estevam.neto em 30/03/2017 - 16:58h

Erlan Fernando, parabéns pelo tutorial, fiz esse servidor, só alterei as versões do Virtualbox e PhpVirtualbox, usei as mais atuais, funcionou de boa. Tá super recomendado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts