Criar um servidor com PHPVirtualBox (debian)

VirtualBox

Por vezes precisamos de uma solução de virtualização relativamente simples e portanto temos de optar por soluções mais simples. O suporte que o VirtualBox  tem em PHP é perfeito para algumas destas soluções, quando a administração precisa de ser feita também da forma mais simples. Para construir esta solução inspirei-me neste tutorial, mas como gosto mais de Apache, adaptei a minha instalação.

Instalar o VirtualBox

Depois de instalar a distribuição Debian no servidor, sem esquecer de activar logo na instalação o servidor SSH, proceder à edição dos repositórios para adicionar os respectivos do VirtualBox:

nano /etc/apt/sources.list.d/virtualbox.list

E acrescentar a seguinte linha:

deb http://download.virtualbox.org/virtualbox/debian wheezy contrib

NOTA: Alterar o nome da distro consoante a que estiverem a utilizar, como por exemplo:

deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free
deb http://download.virtualbox.org/virtualbox/debian lenny contrib non-free

Mas não nos podemos ficar por aqui. Acrescentar um repositório implica sempre adição das chaves públicas dos repositórios, e isso pode ser feito através do seguinte comando:

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | apt-key add -

De seguida, actualizar os repositórios e proceder já à instalação da ultima versão do VirtualBox:

apt-get update
apt-get install virtualbox-4.3

Para que depois possamos ter acesso via web ao VirtualBox, é preciso instalar a extensão VirtualBox 4.3.26 Oracle VM VirtualBox Extension Pack e que se pode consultar a ultima versão aqui ou aqui. Proceder então ao descarregamento e respectiva instalação:

wget http://download.virtualbox.org/virtualbox/4.3.26/Oracle_VM_VirtualBox_Extension_Pack-4.3.26-98988.vbox-extpack

VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.3.26-98988.vbox-extpack

Antes de passarmos à instalação da parte web é necessário primeiro criar um utilizador [vbox] (e respectivo grupo) para o VirtualBox:

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

passwd vbox

NOTA: O nome de utilizador poder ser alterado, para isso alterando [vbox].

Instalar o PHP VirtualBox

Agora podemos passar à instalação dos seguintes pacotes para o suporte web:

apt-get install apache2 php5 libapache2-mod-php5 php5-common php5-mysql php5-fpm php-pear unzip

Para que o serviço web do VirtualBox corra sempre no arranque da maquina, proceder à seguinte alteração:

update-rc.d vboxweb-service defaults
/etc/init.d/vboxweb-service start
PHPVirtualBox

Agora sim vamos instalar o PHP VirtualBox. Primeiro descarregar  a ultima versão disponível aqui e descompactar, e aproveitamos para mover já para a pasta do Apache.

wget http://sourceforge.net/projects/phpvirtualbox/files/latest/download

unzip download

mv -r /download /var/www/

Para que o PHP VirtualBox fale com o VirtualBox, é preciso configura-lo. Criar uma cópia do ficheiro exemplo de configuração:

cp config.php-example config.php
nano config.php

E depois configurar o utilizador

/* Username / Password for system user that runs VirtualBox */
var $username = 'vbox';
var $password = 'a password dada ao utilizador';

Agora é só aceder ao endereço do vosso servidor 10.0.0.30/phpvirtualbox e aceder com o user e pass admin:admin..

Se, tal como eu, já tinham a máquina configurada noutro local,  há que move-la para dentro da pasta do respectivo utilizador (o vbox no meu caso) e muito provavelmente será necessário alterar as permissões. Seguindo a estrutura da instalação:

hown -R vbox:vboxusers /home/vbox/VirtualBox\ VMs/[Pasta da maquina virtual]/

Caso estejam também a utilizar o VirtualBox em ambiente gráfico e ele pedir a actualização da extensão, não esquecer de primeiro parar o serviço que está a correr:

/etc/init.d/vboxweb-service stop

Adicionar discos físicos

Para esta implementação era necessário ter um disco em RAID montado para partilha de dados. Como o VirtualBox permite a também a montagem de discos físicos, facilita bastante a gestão dos discos. Depois da configuração do RAID, apenas foi preciso formatar, e está pronto para montar. Com base neste artigo, montar um disco físico consiste em, na pratica, criar um symlink (ligação) ao disco físico. Primeiro convém saber qual o disco que vamos “montar”:

fdisk -l

E agora criar o ficheiro:

VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda#

onde o “/path/to/file.vmdk” é o caminho para o pequeno ficheiro que será o symlink e “/dev/sda#” o caminho para o disco, onde no meu caso é “/dev/sda1”.

Para que tudo funcione, é necessário que, quer o ficheiro, quer o disco tenha as devidas permissões atribuídas. O symlink poderá ter as permissões do utilizador do VirtualBox:

chown -R vbox:vboxusers /home/vbox/VirtualBox\ VMs/Disks/Data.vmdk

Mas para o disco, preferi que as permissões fossem totais, para que todos os utilizadores pudessem aceder:

chmod 666 /dev/sda1

Boas virtualizações.

Deixe uma resposta

three × 3 =