Como criar um ambiente virtual Linux para desenvolvimento – Tutorial passo a passo para iniciantes

Instalar diversos pré-requisitos e ferramentas de desenvolvimento e banco de dados no seu Sistema Operacional, ou implementar dual boot para manter dois Sistemas Operacionais, tem as suas desvantagens como gastos de recursos de máquina e ambiente engessado.

Por exemplo, utilizo uma máquina virtual com 512 MB de memória que uso constantemente. Nela desenvolvo sem problemas aplicativos em Python/Django e PHP/Yii, com bancos de dados PostgreSQL e MySQL. Não preciso sobrecarregar meu Sistema Operacional com diversas instalações para suportar a linguagem ou banco de dados e nem preciso reiniciar o computador caso a troca de ambiente seja necessária.

Não só desenvolvedores podem beneficiar de ter um ambiente virtual Linux, mas também aqueles que querem estudar o Linux e/ou testar comandos.

Escrevi este tutorial para auxiliar aqueles que buscam um passo-a-passo para instalar um ambiente virtual Linux e recursos adicionais básicos como o LAMP (Apache, MySQL e PHP), FTP, phpMyAdmin, Gerenciador de Arquivos e Console de Administração.

Também levei em consideração as pessoas que não tem muita experiência com máquinas virtuais ou com o Linux. Todos os passos possuem telas para auxiliar na instalação do ambiente e recomendo que as pessoas que não tem experiência com o Linux instale todos os recursos citados neste tutorial.

Então, vamos ao Linux!

O que você vai precisar?

– Virtualbox (https://www.virtualbox.org/wiki/Downloads). Clique no link adequado para baixar a versão para o seu sistema operacional.

– Ubuntu Server (http://www.ubuntu.com/download/server).

Instalando o Virtualbox

Para instalar o Virtualbox, clique duas vezes no instalador que você baixou e siga as instruções da tela.

bruce-bastos-virtual-linux-01

Durante a instalação, você será informado que as interfaces virtuais serão instaladas e sua conexão com a internet será interrompida por alguns instantes.

Prossiga selecionando Yes e Install nas telas subsequentes.

bruce-bastos-virtual-linux-02

bruce-bastos-virtual-linux-03

bruce-bastos-virtual-linux-04

bruce-bastos-virtual-linux-05

bruce-bastos-virtual-linux-06

Quando a instalação terminar, abra o Virtualbox.

Criando a Máquina Virtual

No Virtualbox, selecione Novo e siga as instruções conforme as próximas telas.

bruce-bastos-virtual-linux-07

bruce-bastos-virtual-linux-08

Com 512 MB de memória consigo executar projetos simples de PHP/Yii e Python/Django com bancos de dados PostgreSQL e MySQL. Aumente a memória conforme a complexidade do seu projeto.

bruce-bastos-virtual-linux-09

bruce-bastos-virtual-linux-10

bruce-bastos-virtual-linux-11

bruce-bastos-virtual-linux-12

bruce-bastos-virtual-linux-13

Ao terminar de criar a máquina virtual, selecione Configurações.

bruce-bastos-virtual-linux-14

Selecione Armazenamento. Em Controladora: IDE selecione Vazio. Clique no ícone do disco e selecione Selecione um arquivo de CD/DVD virtual…

Selecione o arquivo da imagem do Ubuntu Server, que foi baixada no primeiro passo desse tutorial.

bruce-bastos-virtual-linux-15

Selecione Rede. Em Adaptador 1, selecione Placa em modo Bridge em Conectado a. Em nome, selecione a sua placa de rede.

Clique em OK.

bruce-bastos-virtual-linux-16

Instalando o Linux (Ubuntu)

No Virtualbox, clique em Iniciar.

bruce-bastos-virtual-linux-17

Ao iniciar a instalação, selecione English e pressione Enter.

bruce-bastos-virtual-linux-18

Selecione Install Ubuntu Server e selecione as próximas opções de instalação conforme as seguintes telas:

bruce-bastos-virtual-linux-19

bruce-bastos-virtual-linux-20

bruce-bastos-virtual-linux-21

bruce-bastos-virtual-linux-22

bruce-bastos-virtual-linux-23

bruce-bastos-virtual-linux-24

bruce-bastos-virtual-linux-25

bruce-bastos-virtual-linux-26

bruce-bastos-virtual-linux-27

Digite o nome do seu servidor.

bruce-bastos-virtual-linux-28

Digite seu nome.

bruce-bastos-virtual-linux-29

Digite o nome do usuário para criar uma nova conta.

bruce-bastos-virtual-linux-30

Digite a senha para este novo usuário e repita a senha na próxima tela.

bruce-bastos-virtual-linux-31

bruce-bastos-virtual-linux-32

bruce-bastos-virtual-linux-33

bruce-bastos-virtual-linux-34

bruce-bastos-virtual-linux-35

bruce-bastos-virtual-linux-36

bruce-bastos-virtual-linux-37

bruce-bastos-virtual-linux-38

bruce-bastos-virtual-linux-39

Selecione LAMP para que a instalação crie o ambiente com Apache, MySQL e PHP.

bruce-bastos-virtual-linux-40

Digite a senha para o root do MySQL e repita na próxima tela.

bruce-bastos-virtual-linux-41

bruce-bastos-virtual-linux-42

bruce-bastos-virtual-linux-43

bruce-bastos-virtual-linux-44

Configurações Iniciais

Entre com seu usuário e senha configurados na instalação.

bruce-bastos-virtual-linux-45

bruce-bastos-virtual-linux-46

Como pode ser visto na imagem acima, existem 55 pacotes para serem atualizados. Para atualizar a lista de pacotes digite sudo apt-get update e pressione Enter. Digite a senha do seu usuário e pressione Enter.

bruce-bastos-virtual-linux-47

Digite sudo apt-get upgrade e pressione Enter. Digite a senha do seu usuário e pressione Enter.

bruce-bastos-virtual-linux-48

Digite y e pressione Enter.

bruce-bastos-virtual-linux-49

Quando terminar, digite sudo reboot e pressione Enter para reiniciar a VM.

bruce-bastos-virtual-linux-50

Para verificar se o webserver está funcionando. Primeiro temos que saber o IP da VM. Digite ifconfig e pressione Enter.
Verifique o campo inet addr. No meu caso, o IP da VM é 192.168.1.115

bruce-bastos-virtual-linux-51

Abra o browser e digite na barra de endereços: http://IPdaVM

Exemplo: http://192.168.1.115

Se aparecer a mensagem “It works!”, parabéns, seu servidor web está instalado.

bruce-bastos-virtual-linux-52

Acessando o terminal através do Putty

Com o Putty, você pode conectar ao terminal Linux remotamente. Uma das vantagens de usar o Putty é a facilidade para copiar e colar textos no terminal Linux.

Baixe o Putty em http://www.putty.org/

Abra o Putty, insira o IP da VM, a porta 22, selecione SSH e clique em Open.

bruce-bastos-virtual-linux-53

Clique em Sim na mensagem abaixo.

bruce-bastos-virtual-linux-54

Pronto, você está conectado.

bruce-bastos-virtual-linux-55

Instalação do phpMyAdmin (Console de administração do MySQL)

Digite sudo apt-get install phpmyadmin e pressione Enter. Digite y quando solicitado e pressione Enter.

bruce-bastos-virtual-linux-56

Pressione espaço para marcar apache2, pressione Tab e Enter.

bruce-bastos-virtual-linux-57

Selecione Yes e pressione Enter.

bruce-bastos-virtual-linux-58

Digite a senha do root do MySQL configurado na instalação do Ubuntu.

bruce-bastos-virtual-linux-59

Digite uma senha de registro da aplicação com o MySQL.

Repita a senha na próxima tela.

bruce-bastos-virtual-linux-60

bruce-bastos-virtual-linux-61

Para acessar o phpMyAdmin, acesse o endereço http://IPdoServidor/phpmyadmin

Exemplo: http://192.168.1.115/phpmyadmin

Digite o usuário e senha do root do MySQL para entrar.

bruce-bastos-virtual-linux-62

Instalação do Webmin

Webmin é uma interface Web para administração do sistema do Unix. Utilizando o seu browser, você pode configurar contas de usuário, Apache, DNS, sistema de arquivos, FTP e diversos outros recursos.

Para fazer o download do pacote do Webmin digite: wget http://prdownloads.sourceforge.net/webadmin/webmin_1.710_all.deb e pressione Enter

bruce-bastos-virtual-linux-63

Quando o download estiver terminado, você precisa instalar o Webmin. Digite sudo dpkg –install webmin_1.710_all.deb e pressione Enter

bruce-bastos-virtual-linux-64

Ao terminar a instalação do Webmin, talvez apareçam algumas mensagens informando sobre erros de dependências que estão faltando. Você pode instalar estas dependências digitando sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python

bruce-bastos-virtual-linux-65

Quando terminar execute, digite sudo apt-get –f install. Quando solicitado, digite y e pressione Enter.

bruce-bastos-virtual-linux-66

Observe se o Webmin foi instalado, conforme a mensagem abaixo.

bruce-bastos-virtual-linux-67

Agora você está pronto para acessar o Webmin. Abra o browser e digite: https://ipdoseuservidor:10000/ (Exemplo: https://192.168.1.115:10000/).

Se aparecer alguma mensagem de erro de segurança do seu browser, selecione a opção para ele acessar o site mesmo assim ou adicione uma exceção.

Digite seu usuário e senha do Ubuntu.

bruce-bastos-virtual-linux-68

bruce-bastos-virtual-linux-69

Gerenciador de Arquivos

No Webmin, expanda Others e selecione File Manager.

bruce-bastos-virtual-linux-70

Ao lado da barra de endereço do seu browser, selecione a opção para permitir os plug-ins do IP da sua VM.

bruce-bastos-virtual-linux-71

No File Manager, navegue até a pasta /var/www/html.

bruce-bastos-virtual-linux-72

Clique no botão New para criar uma nova pasta.

bruce-bastos-virtual-linux-73

Digite o nome da pasta e clique em Create.

bruce-bastos-virtual-linux-74

Clique no botão New para criar um novo arquivo.

bruce-bastos-virtual-linux-75

Em Filename, digite o nome do arquivo. Digite algum conteúdo e clique em Save & Close.

bruce-bastos-virtual-linux-76

Para testar a estrutura criada, acesse pelo browser a estrutura pelo browser: http://IPdoServidor/pasta/arquivo

bruce-bastos-virtual-linux-77

Servidor FTP

Se preferir acessar a estrutura de arquivos do servidor por FTP, no Webmin selecione Un-used Modules e selecione ProFTPD Server.

bruce-bastos-virtual-linux-78

Clique em “Click here” para instalar.

bruce-bastos-virtual-linux-79

Verifique se no final do log a mensagem “install complete” é exibida:

bruce-bastos-virtual-linux-80

Para criar e editar arquivos através do FTP, você deve configurar as permissões para o seu usuário no diretório /var/www/

Para adicionar o seu usuário no grupo www-data, no terminal digite sudo adduser seuusuario www-data e pressione Enter.

Para garantir que o grupo www-data seja proprietário das pastas e arquivos da pasta /var/www digite sudo chown -R www-data:www-data /var/www

Para fazer com que os usuários que são membros do grupo www-data tenham permissão para leitura e escrita na pasta /var/www/ digite: sudo chmod -R g+rw /var/www

bruce-bastos-virtual-linux-81

Para acessar os arquivo através do FTP, entre no seu cliente FTP (eu utilizo o WinSCP), em Hostname digite o IP do Servidor, em User name digite seu usuário e em password digite sua senha.

bruce-bastos-virtual-linux-82

Quando entrar, você estará na pasta Home do seu usuário.

bruce-bastos-virtual-linux-83

Na estrutura de pastas na parte superior do seu cliente FTP, clique em Home. Navegue até a pasta /var/www/html. Esta é a pasta onde você deverá colocar a estrutura das suas aplicações e sites para ser publicadas no seu servidor web.

bruce-bastos-virtual-linux-84

Instalando o Guest Additions

O Guest Additions do Virtualbox consiste em drivers e aplicações que otimizam o sistema operacional da máquina virtual para melhorar a performance e a usabilidade.

No menu do Virtualbox, clique em Dispositivos e selecione Inserir imagem de CD dos Adicionais para Convidado…

bruce-bastos-virtual-linux-85

No terminal, digite:

sudo mount /dev/cdrom /mnt e pressione Enter.

cd /mnt e pressione Enter.

sudo ./VBoxLinuxAdditions.run e pressione Enter.

sudo reboot e pressione Enter.

A VM será reiniciada.

Conclusão

Se você seguiu este tutorial até o final, parabéns, agora você tem um ambiente Linux leve, flexível e funcional.

Você está pronto para desenvolver aplicativos PHP e Python (o Python vem na instalação do Ubuntu), utilizar o MySQL como banco de dados, e testar os seus sites através do Apache.

  • Tony Alves

    Se quando você for abrir o Phpmyadmin no Browser e der 404 Not found.

    Segue a solução

    sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf

    sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

    sudo service apache2 restart

  • Leiryelton Oliveira

    Muito bom! Incrível tutorial! Melhor que achei até agora. Parabêns!

    • Bruno Bastos

      Muito Obrigado!

  • diego dias

    Bom dia Bruno!!

    Queria te agradecer pelo excelente tutorial que você desenvolveu. Muito obrigado, parabéns.

    • Bruno Bastos

      Valeu Diego!

  • antimaxbr

    Amigo estou com dificuldades na parte de Guest Additions na Versão 5.0.16 r105871. Tem como verificar? Não acho esse menu dispositivos. Abraços

  • Phelipe Galiotti

    Estou postando apenas para ajudar, quem eventualmente teve o mesmo problema que eu. Estava com problemas na configuração do webmin, ao tentar acessar o “file manager” recebia a mensagem “this module requires java to function but your browser does not support java webmin” para resolver esse problema baixei a ultima versão do java http://java.com/pt_BR/download/installed8.jsp claro que foi necessário acessar utilizando o mozila firefox ou o Edge. Enfim problema resolvido. Obrigado Bruce pelo tutorial sensacional que vc montou.

    • Bruce Bastos

      Muito obrigado pela contribuição Phelipe!

      • Phelipe Galiotti

        Pow Bruce, eu quem agradeço essa baita ajuda sua. Se não for me aproveitar muito, estou enfrentando um baita problema chato, o IP do servidor está dinâmico e a cada x horas ou minutos ele muda. Não tenho experiência com Linux, como posso proceder para resolver esse probleminha? Obrigado desde já. Abraços.

        • Bruce Bastos

          Phelipe, acredito que configurando um IP estático resolva o problema. Dá uma olhada nesse vídeo para ver se resolve: https://youtu.be/8_Pe1xLlppk

          Abraços!

          • Phelipe Galiotti

            OIá Bruce, salvando denovo! kkk
            Agora sim o IP ficou estático no 192.168.1.10 mas não consigo me conectar. Se eu dou um “sudo dhclient” ele volta e consigo me conectar, no entanto o IP volta a ser dinâmico e depois de algum tempo e muda denovo, alguma idéia? Obrigado!!!

          • Bruce Bastos

            Phelipe, quando você volta para o DHCP, qual IP ele pega? Quando você colocou IP fixo, você colocou o mesmo IP que o servidor estava pegando quando estava dinâmico?

          • Phelipe Galiotti

            Esse era o problema, eu havia trocado o IP seguindo o vídeo (192.168.1.10). Depois que mandou a mensagem, refiz a configuração, inserindo o IP que ficava quando eu voltava o DHCP. Agora deu certo, está estático e totalmente funcional kkkk Enfim o servidor funcionando certinho. Obrigado mais uma vez Bruce pelo tutorial e pela ajuda!!

          • Bruce Bastos

            Excelente. Abraços!

  • Alberto Felipe Fontes Rodrigue

    Perfeito !! Ajudando iniciantes como eu. So acrescento a unica dificuldade que tive e outros iniciantes poderão ocorrer o mesmo… sudo dpkg “–“install webmin_1.710_all.deb (Sao dois “–” negativos e nao apenas um)

  • Roberto Guimaraes

    Bruce primeiramente quero dar os parabéns, por ceder seu tempo para fazer um ótimo tutorial como este, quando comecei a usar linux tudo isso era feito na unha porém acredito que ajudará muitas pessoas. Cara meus parabéns memos esta tudo simples e bem coerente.

    • Bruce Bastos

      Roberto, fico muito feliz quando recebo este tipo de comentário. Muito obrigado!

  • Paulo GP

    Ótimo tutorial, rapaz. Não conhecia o Webmin.

    • Bruce Bastos

      Obrigado Paulo!

  • Thiago

    Grande tuto cara, meus parabéns! Já vou repassar para muita gente que pena no Linux (eu sou um deles). Esse monstrinho me pareceu “menos complicado” agora, rsrsrs.

    • Bruce Bastos

      Valeu!

  • Bruce Bastos

    Obrigado Hugo!
    O Vagrant é uma opção legal sim, mas achei importante colocar o passo a passo de instalação, especialmente para aqueles que tem interesse em aprender a instalar o Linux.

  • Hugo

    Olá Bruce, bem bacana seu post parabéns. Mas não seria bacana usar vagrant? https://www.vagrantup.com/