Tutorial setup Servidor Linux Ubuntu Local com VirtualBox

Objetivos:

  • Entender o que é um servidor
  • Ser apresentado sobre o software Virtual Box
  • Saber o que significa um servidor local
  • Ficar ciente das vantagens de um servidor local
  • Passo a passo para configurar um servidor local em máquina virtual no virtualbox

O que é um servidor?

Um servidor, no âmbito de computação, pode ser entendido como um computador, ou conjunto de computadores que provê alguma funcionalidade ou serviço. Em caso geral, servidores são conectados a internet ou uma rede local e podem prover serviços a diversos usuários. Alguns exemplos de serviços:

  • Servidor de arquivos: provê acesso a arquivos para usuários ligados em rede
  • Servidor de páginas ou servidor http: provê acesso a sites
  • Servidor de email: provê serviço de envio e recebimento de email
  • Combinação de serviços: arquivos, sites, mídia,  email, etc.

Então, como explicado, o servidor tem 2 aspectos: hardware e software:

  • Na visão de hardware, ele é um computador; possui recursos como memória, processamento, armazenamento, etc.
  • Na visão de software, ele é um serviço; podendo servir arquivos, páginas de websites, email, vídeos, banco de dados, etc.

O que é o Virtual Box?

É um software de computador que permite a criação de máquinas virtuais ou computadores virtuais. É uma abstração de todo hardware de um computador em um formato de software. É um software multiplataforma, ou seja, está disponível para diversos tipos de sistemas operacionais: Microsoft Windows, Apple Mac OS, Linux, Oracle Solaris.

O que é um servidor local?

Segue a mesma definição de servidor mostrada acima, com a particularidade deste servidor só prover serviços dentro de uma rede local (LAN). Ou seja, seu servidor local pode prover serviços para os computadores, celulares, smart TV’s que estiverem conectados no seu roteador da sua rede dentro da sua casa ou sua empresa. Com o auxílio do virtualbox, podemos passar por todas as etapas de configuração de uma máquina virtual, para deixá-la disponível para se tornar um servidor local.

Qual a vantagem de ter um servidor local?

Não seria melhor já ter um servidor na internet/cloud ao invés de um servidor local? Um servidor local pode ser vantajoso em prover serviços restritos a sua rede local, garantindo mais segurança e melhor desempenho de transferência de arquivos, pois a rede local tem velocidade de conexão maior. Outra vantagem é o aprendizado com baixo custo. É possível aprender todas as etapas de setup do servidor de forma local e posteriormente estar mais capacitado e confiante em ter seu próprio servidor em cloud/internet.

Quais os passos para configurar um servidor local com Virtualbox?

Passo 1

Abra o aplicativo virtualbox, previamente instalado. Caso ainda não tenha instalado, acesse este tutorial de instalação do virtualbox.

Software Virtualbox

Passo 2

Na tela principal do virtualbox, clique no ícone de “novo”.

Criar nova máquina virtual

Passo 3

Nesta tela selecione o nome para sua máquina virtual, a pasta onde irá salvar os arquivos da máquina virtual, o tipo do sistema operacional e se o sistema operacional será de 32 ou 64 bits. Neste exemplo vamos seguir com o seguinte setup:

  • Nome: VPS
  • Pasta: (pasta padrão selecionada pelo virtualbox)
  • Sistema Operacional: Linux (Ubuntu Server ou Ubuntu minimal installation)
  • Versão: 64 bits

Neste tutorial utilizamos a versão minimal installation do ubuntu (mini.iso):

http://archive.ubuntu.com/ubuntu/dists/focal/main/installer-amd64/current/legacy-images/netboot/

Nome e Sistema Operacional Máquina Virtual

Passo 4

Nesta etapa vamos selecionar a quantidade de memória ram que desejamos compartilhar com a máquina virtual. É interessante ter pelo menos 1GB de memória ram, para que o servidor possa funcionar sem a necessidade de paginação na unidade de armazenamento e garantir um desempenho satisfatório.
Caso seu computador tenha uma unidade de SSD e tenha apenas 4GB de ram no total, é possível diminuir a memória ram da máquina virtual para 512MB e ainda assim garantir um desempenho mínimo satisfatório.

Definir ram e cpu compartilhada virtualbox

Passo 5

Nesta etapa é necessário definir a unidade de armazenamento para a máquina virtual.  A vantagem de pré-alocar o tamanho do disco virtual é garantir aquele espaço no disco real. É importante criar um disco virtual com pelo menos 10GB de espaço, para utilizar o servidor de forma didática, para ter pelo menos ~2GB de espaço livre para arquivos pessoais, arquivos de sites, etc.

Criar unidade de armazenamento virtualbox

Passo 6

Este é um resumo dos dados da máquina virtual. Revise se está tudo correto e finalize o setup.

Virtuabol resumo criação máquina virtual

Passo 7

Nesta etapa já temos a máquina virtual criada e voltamos então para a tela inicial do virtualbox.

Virtualbox - máquina virtual criada

Passo 8

Na tela inicial do Virtualbox agora selecione a máquina virtual e depois clique no ícone de Iniciar.

Iniciar Máquina Virtual Virtualbox

Passo 9

Com a máquina virtual em execução, a imagem do Sistema Operacional será iniciada. Escolha a opção de iniciar a instalação: Install

Tela inicial instalação ubuntu

Passo 10

Nesta etapa escolha o idioma desejado e dependendo do idioma pode receber uma mensagem que este o setup de instalação pode não estar totalmente traduzido. Clique em continuar caso aconteça.

Escolha idioma instalação ubuntu
Instalação ubuntu - talvez instalados não esteja totalmente traduzido

Passo 11

Escolha o país e território onde você está. Esta localidade é interessante para que o fuso horário seja configurado corretamente.

Instalação ubuntu - escolher sua localidade

Passo 12

Esta é uma etapa importante, para que o instalador detecte o layout do seu teclado. Siga as opções corretamente.

Instalador Ubuntu detectar layout do tecladoInstalador Ubuntu - layout do teclado identificado

Passo 13

Nesta etapa você poderá escolher um nome para o seu servidor. Particularmente gosto de utilizar o mesmo nome que coloco na minha máquina virtual. Mas pode escolher a opção que mais agradar. Uma opção é manter o nome padrão, que é ubuntu.

Escolher nome para computador na instalação do ubuntu

Passo 14

Nesta etapa é preciso informar em qual país está, ou qual país tem preferência que seja escolhido o espelho de download dos pacotes adicionais de instalação do sistema operacional. Após escolher o país, e na tela seguinte aparecer o espelho de download, tecle em continuar.

Escolher o país onde o espelho de download do respositório está mais próximoUbuntu - confirmando espelho de repositório para download

Passo 15

Caso utilize um proxy em sua conexão de rede, informe nesta etapa, caso contrário deixe em branco e selecione continuar.

Ubuntu - setup de conexão proxy, caso utilize

Passo 16

Esta etapa é referente a identificação do usuário administrador do servidor. Não é um nome para ser feito de login, e sim realmente identificar o responsável. Seu nome completo pode ser uma opção, mas para um servidor em produção, revelar seu nome completo pode não ser uma boa opção de segurança.

Ubuntu - definir o nome do administrador do servidor

Passo 17

Nesta etapa é necessário criar um nome de usuário para ter privilégios de root para administrar o servidor. É uma etapa importante, anote o nome de usuário criado nesta etapa, pois este será necessário para login.

Ubuntu escolher nome de login

Passo 18

Agora é necessário definir uma senha para seu usuário de login e em seguida confirmar novamente a senha. Etapa importante, anote a senha para não esquecer no momento de login.

Ubuntu - escolher senha par aloginUbuntu - confirmar senha de loginUbuntu - confirmar senha fraca

Passo 19

Nesta etapa é necessário confirmar o fuso horário (time zone), o instalador tenta configurar automaticamente, mas se estiver incorreto, é possível escolher o fuso de uma lista. Se estiver correto, basta continuar com a instalação.

Ubuntu - escolher fuso horário do servidor - timezone

Passo 20

Esta etapa é referente às partições para instalação do sistema operacional na unidade de armazenamento. Para um setup customizado, é possível selecionar a forma manual e definir um caminho específico para cada pasta do sistema em uma partição distinta, ou até mesmo dividir em várias unidades de disco virtuais. Mas neste exemplo de instalação, vamos utilizar a primeira opção, com o modelo assistido, utilizando todo o disco.

Ubuntu - escolher layout de partções

Passo 21

Selecione agora o disco a ser utilizado, só configuramos um, então só terá uma opção.

Ubuntu - confirmando unidade de armazenamento a ser utilizada

Passo 22

Agora confirme a divisão do disco nas partições que foram automaticamente criadas.

Ubuntu - confirmando layout particoes

Passo 23

Nesta etapa é interessante desativarmos as atualizações automáticas, para que seja possível realizar os updates e upgrades de forma manual, acompanhar o processo e entender como funciona. Posteriormente é possível ativá-las.

Ubuntu - opção de atualizações automáticas

Passo 24

Podemos também escolher softwares adicionais para já serem instalados no sistema. Para uma instalação limpa, recomendo somente a instalação do OpenSSH server.

Ubuntu - escolhendo instalação openssh server

Passo 25

Como esta instalação possui apenas um sistema operacional na unidade de disco da máquina virtual, podemos instalar sem problemas o GRUB. Caso tivesse outro sistemas operacionais instalados, seria necessário configurar corretamente o GRUB para identificar todos os sistemas e prover opção de escolher em qual unidade de disco e partição gostaria de iniciar o sistema operacional, caso presente.

Ubuntu - configurar GRUB

Passo 26

Recomendado configurar o relógio no padrão de fuso UTC.

Ubuntu - confirmando fuso horário no padrão UTC

Passo 27

Instalação realizada com sucesso. Igual em um computador físico, o instalador pede para remover o “CD-ROM” do drive de disco óptico.

Ubuntu - instalação completa - remover imagem de disco de boot de cdrom

Passo 28

Antes da máquina virtual realizar o boot novamente, feche a janela da máquina virtual e selecione desligar a máquina virtual e clique em OK.

Virtualbox - desligar máquina virtual

Passo 29

Agora é necessário remover o disco óptico virtual (mini.iso) da máquina virtual. Na tela inicial do virtual box, clique uma vez na máquina virtual com o botão esquerdo do mouse e depois clique no ícone configurações. Na tela de configurações, selecione a opção armazenamento no menu lateral.

Virtulbox - configuraçõesVirtualbox - configurações - armazenamento

Passo 30

Com a opção armazenamento selecionada no menu lateral, clique com o botão esquerdo em cima da imagem do CD (mini.iso) e em seguida clique no CD que fica a direita da janela e selecione remover Disco do Drive Virtual. E aperte “OK” para fechar a janela de configurações.

Virtualbox - remover mídia optica

Passo 31

Na tela inicial do virtualbox, selecione a máquina virtual e clique no ícone de Iniciar.

Virtualbox - iniciar maquina virtual

Passo 32

Agora digite o login e senha que foram definidos na etapa de instalação da máquina virtual.

Ubuntu login screen

Passo 33

Tudo certo! Máquina virtual criada e sistema operacional instalado. Login com usuário e senha no ubuntu realizado com sucesso!

Virtualbox - login máquina virtual realizado

Passo 34

Para verificar o ip da sua máquina virtual digite o comando:

ip a

Caso tenha instalado uma versão mais antiga do Ubuntu, utilize o comando:

ifconfig

Como é possível reparar, seu IP da máquina virtual não é um IP no mesmo padrão do seu computador ou da sua rede pessoal. Se este for o caso, a sua máquina virtual está configurada para compartilhar a conexão de internet do hospedeiro por NAT. Mas o ideal é a máquina virtual ter um IP próprio vindo do seu roteador, para que outros computadores da rede possam se conectar a ela sem problemas. Desta forma é necessário que sua máquina virtual faça uma ponte “bridge” da sua placa de rede física para conseguir um IP diretamente do roteador (no caso de DHCP configurado).

Virtualbox - ip a NAT

Passo 35

Então, antes de mudar as características do adaptador de rede da máquina virtual, precisamos desligar a máquina. Desta vez, vamos desligar ela pela linha de comando, utilizando:

sudo shutdown now

Virtualbox - sudo shutdown now

Passo 36

De volta na tela inicial do virtualbox, selecione a máquina virtual e depois clique no ícone de Configurações.

Virtulbox - configuraçõesVirtualbox - configurações - selecionar rede

Passo 37

Na tela de configurações, escolha a opção rede no menu lateral, em seguida selecione o adaptador 1. Repare que a placa de rede está conectado a NAT.

Virtualbox - configuração de rede

Passo 38

Ainda no menu de configurações de rede, mude a conexão de NAT para bridge. E aperte OK para voltar novamente para a tela inicial do virtualbox.

Placa de rede em bridge

Passo 39

Inicie novamente a máquina virtual, clicando no ícone de iniciar.

Virtualbox - iniciar maquina virtual

Passo 40

Realize o login novamente.

Ubuntu login screen

Passo 41

Para verificar o ip da sua máquina virtual digite o comando:

ip a

Caso tenha instalado uma versão mais antiga do Ubuntu, utilize o comando:

ifconfig

Se os passos forem executados de forma correta, sua máquina virtual agora conseguiu pegar um IP por DHCP do seu roteador na sua rede local.

Virtualbox ip a modo bridge

Passo 42

Agora digite o comando:

exit

Este comando realiza o logout do seu usuário.

Ubuntu exit command

Passo 43

Agora no seu computador pessoal, execute o prompt de comando.

Windows - prompt de comando

Passo 44

Temos então que testar a conexão ssh com seu servidor. Para realizar essa conexão, é necessário saber o login, senha e ip do servidor. Sendo então, como exemplo, o usuário = seunome, o IP = 192.168.1.104; utilize o comando no prompt:

 ssh seunome@192.168.1.104

Na primeira vez que realizar a conexão, será necessário aceitar o fingerprint.

Conectar servidor por SSH

Passo 45

Caso os passos tenham sido realizados corretamente, agora você deverá estar conectado por SSH no servidor na máquina virtual.

Conexão SSH servidor bem sucedida

Passo 46

Um passo interessante agora é verificar os updates disponíveis com o comando

sudo apt update

e posteriormente realizar o download e instalar os updates disponíveis com o comando:

sudo apt upgrade

sudo apt updateSudo apt upgrade

Passo 47

Uma etapa final muito importante é verificar se há alguma versão mais atualizada do sistema operacional. Utilize o comando

sudo do-release-upgrade

É recomendado realizar o upgrade do sistema operacional, mas não por conexão SSH. Como temos acesso ao console da máquina virtual, é interessante realizar o processo de upgrade por lá, pois assim evitamos problemas de conexão de rede que podem acontecer durante a instalação. Então cancele o comando e vamos voltar para a janela da máquina virtual no virtualbox.

Prompt do-release-upgrade

Passo 48

No console da máquina virtual do virtualbox, realize o login novamente, caso esteja deslogado. Após realizar o login, utilize o comando:

sudo do-release-upgrade

Ubuntu login screenVirtualbox do-release-upgrade

Aceite (Continuar) e comece a atualização do sistema.

Passo 49

Janelas sucessivas pedindo confirmação para reiniciar serviços, remover pacotes obsoletos e reiniciar o servidor vão aparecer. Aceite todas. Aguarde que a máquina realize o boot, caso demore muito tempo e esteja desconfiado que algo deu errado, pode fechar a janela da máquina virtual e iniciar novamente. Mas aguarde pelo menos 5 minutos para o boot, antes de forçar a máquina virtual a reiniciar.

Ubuntu release upgrade - reiniciar servicos
Ubuntu release upgrade - remover pacotes obsoletos
Ubuntu release upgrade - reiniciar sistema operacional

Passo 50

Após o reinicialização (boot do sistema) bem sucedida, sua máquina virtual está atualizada e pronta para o uso como servidor.

Conclusão

Após o término deste tutorial, você terá um servidor virtual (visão de hardware) configurado com o sistema operacional Ubuntu atualizado para última versão disponível. Para este servidor prover serviços (visão de software) é necessário instalar os softwares para cada funcionalidade. Este servidor está configurado para funcionar em uma máquina virtual dentro do Virtualbox, sendo um servidor para sua rede local.