// // Chicletes para o Cérebro: phpVirtualBox
Mostrando postagens com marcador phpVirtualBox. Mostrar todas as postagens
Mostrando postagens com marcador phpVirtualBox. Mostrar todas as postagens

terça-feira, 21 de março de 2023

Tutorial: instalando Sistemas Operacionais diversos no Proxmox - ou "remember" da série Nostalgia aqui do blog!

Pessoal,


Lá em 2018, há quase cinco anos, eu fiz uma série de posts aqui no blog ("Nostalgia", começando aqui) instalando diversas versões antigas dos SO da Microsoft (MS-DOS e Windows).

Na ocasião foi tudo instalado no VMWare que rodava no MacMini que até já desencarnou. Dessa vez, resolvi reinstalar tudo no Proxmox.

Por que o Proxmox? Porque conforme contei aqui, posso acessar o Proxmox de fora de casa e ativar e usar qualquer uma dessas VM.

Aí vem os perrengues (claro, nunca é fácil).

Fui tentar instalar normamente: criei a VM e na hora de colocar o SO não aparecia a opção de disquete. Bom, tentei colocar os arquivos .img como se fosse .iso e a VM reclamava que as imagens não eram "bootáveis"...

Aí baixei um programa pra Windows (IsoWorkshop) para converter os arquivos .img em .iso e deixá-los bootáveis. O primeiro disco funcionou, mas o DOS não conseguia perceber que eu estava trocando a iso do primeiro disco pela do segundo e ficava travando nessa tela:


Não ia pra frente de jeito nenhum. Acho que a VM não conseguia perceber essa troca de arquivo .iso e entender que era pra ler o conteúdo do arquivo. Na verdade falta uma opcão nas VM do Proxmox para poder usar disquetes (floppy disks). Procurando as threads do fórum do Proxmox, isso já é pedido desde 2008. Um usuário até criou uma gambiarra (veja aqui) lá em 2013 e considerou como "problem solved", mas a conversa acabou descambando pra um bate-boca entre um membro (e depois os outros também) do Proxmox que atuam como moderadores e membros seniors do fórum com alguns usários.

O resumo desse bate boca é que os usuários alegaram que isso seria útil (lá atrás sim; hoje, em 2023, só pra brincadeiras como esta) e que o Proxmox poderia colocar. O senior disse que se eles quisessem, eles poderiam implementar o código ou pagar para a turma do Proxmox implmentar. Aí a coisa descambou pra grosseria dos dois lados, a turma do Proxmox dizendo que era Open Source mas eles não trabalhavam de graça e os usuários reclamando da grosseria gratuita.

Enfim, nada resolvido e contiuamos sem o botão de floppy disk e sem a opção de usar arquivos .img com imagem de disquetes.

Tentei acrescentar vários leitores de CD para ver se resolvia, tentei criar um CD com todo o conteúdo das imagens... Nada.

Pensei até em criar uma VM com Virtual Box e usar o phpvirtualbox para acessar as VM (como eu fazia lá em 2021 (veja aqui), mas o projeto foi descontinuado e agora está bem mais complicado (até porque mudou o Debian para o 11, o VirtualBox para o 7 e o phpvirtualbox é meio hobby agora)...

Enfim, como resolvi? Resolvi do jeito ogro: criei uma VM no VirtualBox e exportei o HD virtual para o Proxmox. Vou comentar essa instalação em outro post.

Bom, esse post era pra comentar dessa dificuldade toda e falar que sim, tem solução!

Tem uma outra coisa que deve ser relatada aqui também. O Proxmox também não passa áudio diretamente. Nem bluetooth. É preciso instalar um hardware virtual e utilizar o SPICE (Simple Protocol for Independent Computing Environments - veja mais aqui), uma solução open source para acesso remoto em máquinas virtuais. Resumindo em duas palavras: não funciona! Pelo menos não para Mac como client.

O Proxmox é super interessante e super eficaz. Mas tem umas coisas que irritam um pouco...

Assim, para resolver o som e bluetooth, tive que adotar uma coisa mais radical que falarei em outro momento.

Até o próximo post!

quinta-feira, 14 de julho de 2022

Acessando minhas VM de qualquer lugar via browser!

Pessoal,


A novela de conseguir acessar o conteúdo da minha rede de onde eu estiver está chegando perto do fim. Para tanto, faltam poucos detalhes.

Bom, vamos por partes.

A primeira coisa era organizar os dados e backups. Falei disso em vários posts: aqui, aqui e aqui, principalmente, mas no blog basta procurar que falo também em outros posts.

A segunda coisa era criar a ferramenta básica para acessar esses dados na rede. Assim, comentei sobre o Proxmox (aqui) e NAS (tem muitos posts sobre NAS no blog...).

Feito tudo isso, precisava acessar as VMs por algum browser porque seria o jeito mais fácil: isso está resolvido agora!

Cada SO pode ser acessado remotamente de várias maneiras:
    - VNC/Team Viewer: muito bom, mas não serve para VMs rodando versões sem GUI
    - SSH: muito bom, mas só serve para linhas de comando
    - RDP: muito bom, mas só serve para Windows

Ou seja, precisaria acessar cada coisa de um jeito "manual". Não era o que eu queria. Até que descobri o Apache Guacamole! (Sério, queria saber de onde esse povo tira esses nomes...)

Instalei uma versão de Docker (essa versão aqui, bem fácil de instalar) e segui esse tutorial do Techno Tim (ele fez pelo Rancher, eu preferi fazer pelo Portainer).

Bom, após entrar no Portainer e criar um conteiner novo, preencha assim os campos:

Name: guacamole
Image: onze/guacamole
Manual network port: host: 9600 -> container: 8080 TCP (a porta contêiner tem que ser a 8080, mas a host pode ser a que você quiser)
Restart Policies: coloquei Unless Stopped
Volumes: aqui você tem que criar um pasta para arquivos de configuração. Eu já tenho uma pasta criada, mas você tem que fornecer um endereço absoluto. No meu caso, ficou assim: 


Pronto! Suba o docker e acesse a página em qualquer browser digitando <IP do servidor>:9600 (aqui eu uso http://192.168.1.3:9600). Pronto. Só isso! No primeiro acesso, o username e a senha é "guacadmin". Entre, troque a senha e crie uma nova configuração como o Tim mostrou no vídeo. Por via das dúvidas, eu deixei o vídeo aqui embaixo:

(Veja aqui no YT)

Bom, muita coisa interessante pode ser encontrada no próprio site do Guacamole (aqui), mas vou deixar aqui algumas coisas que achei importante não esquecer.

Para Windows, em Edit Connection, não esquecer de colocar o protocolo em RDP! Em Parameters, o hostname deve ficar, idealmente, em um IP reservado (fixo) e a porta padrão RDP é 3389. Além disso, como faço login no Windows apenas com o pin, em username coloquei a login do meu email registrado no Windows (j***@hotmail.com) e a senha do email. Em Securite mode é NLA e marcar "Ignore server certificate". O resto é opcional para cada gosto.

Para Linux, em servidores sem GUI a escolha deve ser SSH. Em Parameters o hostname é, novamente, alguma coisa que resolva a localização e eu prefiro ir direto para o IP. A porta padrão é 22 para o SSH. Depois coloque o username e a senha em Authentication. Em Display, eu escolhi Green on black, mas aí é para cada gosto. E pronto.

Agora faltam duas coisas: provavelmente eu vou criar um servidor novo mais potente e deixar as VM mais parrudas e provavelmente eu vou precisar de um servidor para acessar isso de fora de casa (ainda trabalhando nisso).

Por enquanto é isso!

sexta-feira, 9 de abril de 2021

Virtual Machine no OMV5 - Rodando o Ubuntu Server 20.04 LTS como VM!

Pessoal,

Consegui instalar VM no OMV5. Deu um bom trabalho e rolou um pouco de "gambiarra", mas deu certo.

Até onde tinha lido, o Debian 10, base o OMV5 não teria suporte ao Virtual Box. O recomendado seria usar o Cockpit. Até tentei várias vezes, mas não consegui fazer funcionar nem f*udendo!

Então pensei: vou instalar um Docker com Ubuntu Server. "Deve funcionar", pensei. Não, não consegui publicar o console do Ubuntu de jeito nenhum.

Então fui tentar instalar o Virtual Box direto pelo console do OMV5. Mas sempre dava um erro. Até que consegui algumas instruções deu certo. Interessante que está no fórum do OMV (veja aqui).

Então a coisa fica assim. No Debian 10 está rolando o OMV5 e o Virtual Box, ambos correndo paralelamente. Dentro do Virtual Box vai correr o Ubuntu Server. Cada um desses tem um IP diferente para acessar pelo Terminal.

Vamos lá. Tudo é feito pelo console do OMV5 (você tem que abrir o Shell, Terminal, Putty ou qualquer forma dessas para acessar o console).

Primeiro vamos instalar o Virtual Box 6.1, última versão no momento da publicação.

        wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -

        wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

      echo "deb [arch=amd64] http://download.virtualbox.org/virtualbox/debian buster contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list

        sudo apt update

        sudo apt install linux-headers-$(uname -r) dkms

        sudo apt install virtualbox-6.1


Pronto, agora vamos instalar o pack de extensões do Virtual Box:

        cd ~/

    wget https://download.virtualbox.org/virtualbox/6.1.0/Oracle_VM_VirtualBox_Extension_Pack-6.1.0.vbox-extpack

        sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-6.1.0.vbox-extpack


Agora vamos criar o usuário "vbox" e torná-lo membro do "vboxusers":

        adduser vbox

        sudo usermod -aG vboxusers vbox

        sudo systemctl status vboxdrv (para saber se o serviço vboxservices está ok, deve aparecer "active (exited)".


Pronto, se tudo deu certo o Virtual Box foi instalado e está funcionando!

Agora vamos instalar o phpvirtualbox, que vai publicar no navegador a página para criar e gerenciar as VMs que você quiser usar.

        sudo apt-get install php7.3-soap


Agora vamos para outra máquina. Eu baixei este arquivo no Mac, editei e mandei pro Debian pelo FileZilla (veja como aqui).


Extraia o arquivo, renomeie a pasta para "phpvirtualbox" (é mais fácil para trabalhar com este nome), abra o arquivo "config.php-example" que está dentro da pasta, localize e edite o conteúdo destas linhas: