Primeiros Passos – Configurando um Droplet Ubuntu

1 – Introdução

Quando você cria pela primeira vez um novo servidor Ubuntu 16.04 ou superior, existem algumas etapas de configuração que devem ser tomadas no início como parte da configuração básica. Isso aumentará a segurança e a usabilidade do seu servidor e fornecerá uma base sólida para as ações subsequentes.

1.1 – Login do root

Para entrar no seu servidor, você precisará saber o endereço IP público do seu servidor. Você também precisará da senha ou, se tiver instalado uma chave SSH para autenticação, a chave privada da conta do usuário “root”.

1.2 – Crie um novo usuário

Uma vez que você esteja logado como root, estamos preparados para adicionar a nova conta de usuário que usaremos para efetuar login a partir de agora.

Este exemplo cria um novo usuário chamado “user”, mas você deve substituí-lo por um nome de usuário que você goste:

#adduser sammy

Será solicitado alguns parâmetros, começando com a senha da conta.

Digite uma senha forte e, opcionalmente, preencha qualquer uma das informações adicionais, se desejar. Isso não é necessário e você pode simplesmente pressionar ENTER em qualquer campo que você queira pular.

1.3 – Terceiro Passo – Privilégios Root

Agora, temos uma nova conta de usuário com privilégios regulares de conta. No entanto, às vezes podemos precisar realizar tarefas administrativas.

Para evitar ter que sair de nosso usuário normal e fazer login novamente como a conta root, podemos configurar o que é conhecido como “superusuário” ou privilégios de root para nossa conta normal. Isso permitirá que nosso usuário normal execute comandos com privilégios administrativos, colocando a palavra sudo antes de cada comando.

Para adicionar esses privilégios ao nosso novo usuário, precisamos adicionar o novo usuário ao grupo “sudo”. Por padrão, no Ubuntu 16.04, os usuários que pertencem ao grupo “sudo” podem usar o comando sudo.

Como root, execute este comando para adicionar seu novo usuário ao grupo sudo (substitua pelo seu novo usuário):

#usermod -aG sudo user

Agora seu usuário pode executar comandos com privilégios de superusuário!

2 – Instalando e configurando o Apache

2.1 – Instalação do Apache

Para dar seguimento, vamos instalar o Apache no servidor através do apt-get:

sudo apt-get update

sudo apt-get install apache2

Após a conclusão dessas etapas, podemos começar.

Para os objetivos deste guia, minha configuração fará um virtual host para example.com e outro para teste.com. Estes serão referenciados ao longo do guia, mas você deve substituir seus próprios domínios ou valores enquanto acompanha.

Iremos mostrar como editar seu arquivo hosts local posteriormente, para testar a configuração, se você estiver usando valores fictícios. Isto o permitirá testar sua configuração pelo seu computador doméstico, mesmo que seu conteúdo não esteja disponível através do nome de domínio para outros visitantes.

2.2 – Passo um – Crie a estrutura de diretórios

O primeiro passo que vamos tomar é criar uma estrutura de diretório que irá armazenar os dados do site que estará servindo aos visitantes.

Nosso document root (o diretório de nível superior que o Apache olha para encontrar o conteúdo para servir) será definido para diretórios individuais sob o diretório /var/www. Vamos criar um diretório aqui para ambos os virtual hosts que estamos planejando fazer.

Dentro de cada um desses diretórios, vamos criar o diretório public_html que irá manter nossos arquivos reais. Isto nos dá certa flexibilidade em nossa hospedagem.

Por exemplo, para nossos sites, nós vamos criar nossos diretórios assim:

sudo mkdir -p /var/www/example.com/public_html

sudo mkdir -p /var/www/test.com/public_html

substitua pelos dominios que voce está querendo servir através de nossos VPS.

ATENÇÃO: Se quiser usar outra pasta que não seja a /var/www, você terá que adicionar as permissões no arquivo  apache2.conf da seguinte forma:

<Directory /home/USUARIO>

Options Indexes FollowSymLinks

AllowOverride None

Require all granted

</Directory>

E logo depois executar:

Service apache2 restart

Isso irá evitar o erro 403: You don’t have permission to access / on this server. apache2

2.3 – Passo Dois – Conceda Permissões

Agora temos a estrutura de diretórios para nossos arquivos, mas eles são de propriedade de nosso usuário root. Se quisermos que nosso usuário regular esteja apto a modificar arquivos em nossos diretórios web, podemos alterar o proprietário fazendo isto:

sudo chown -R $USER:$USER /var/www/example.com/public_html

sudo chown -R $USER:$USER /var/www/test.com/public_html

A variável $USER terá o valor do usuário com o qual você está logado atualmente quando você pressionou “ENTER”. Fazendo isto, nosso usuário regular agora detém os sub-diretórios public_html onde estaremos armazenando nosso conteúdo.

Devemos também modificar um pouco nossas permissões para garantir que o acesso de leitura é permitido para o diretório web em geral e todos os arquivos e pastas que ele contém de modo que a páginas possam ser servidas corretamente:

sudo chmod -R 755 /var/www

Seu servidor web agora deve ter as permissões que ele precisa para servir o conteúdo, e seu usuário deve ser capaz de criar conteúdo dentro das pastas necessárias.

2.4 – Passo Três – Crie as Páginas Demo para cada Virtual Host

Temos nossa estrutura de diretório no lugar. Vamos criar algum conteúdo para servir.

Vamos fazer apenas uma demonstração, assim nossas páginas serão bastante simples. Vamos apenas fazer uma página index.html para cada site.

Vamos começar com example.com. Podemos abrir um arquivo index.html em nosso editor digitando:

nano /var/www/example.com/public_html/index.html

Neste arquivo, crie um documento HTML simples que indica o site que está conectado. Meu arquivo se parece com isso:

<html>

  <head>

    <title>Welcome to Example.com!</title>

  </head>

  <body>

    <h1>Success!  The example.com virtual host is working!</h1>

  </body>

</html>

Salve e feche o arquivo quando terminar.

Podemos copiar este arquivo para usá-lo como base para nosso segundo site digitando:

cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html

Podemos, então, abrir o arquivo e modificar as informações pertinentes:

nano /var/www/test.com/public_html/index.html

<p>

 <html>

  <head>

    <title>Welcome to Test.com!</title>

  </head>

  <body>

    <h1>Success!  The test.com virtual host is working!</h1>

  </body>

</html>

Salve e feche o arquivo também. Agora você tem as páginas necessárias para testar a configuração de virtual host.

2.5 – Passo Quatro – Crie novos arquivos de Virtual Hosts

Arquivos de virtual host são arquivos que especificam a configuração real do nosso virtual host e determina como o servidor web Apache irá responder às várias requisições de domínio.

O Apache vem com um arquivo padrão de virtual host chamado 000-default.conf que podemos usar como ponto de partida. Vamos copiá-lo para criar um arquivo de virtual host para cada um de nossos domínios.

Vamos começar com um domínio, configurá-lo, copiá-lo para nosso segundo domínio, e então fazer os pequenos ajustes necessários. A configuração padrão do Ubuntu requer que cada arquivo de virtual host termine em .conf.

Crie o primeiro arquivo de Virtual Host

Comece copiando o arquivo para o primeiro domínio:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf

Abra o novo arquivo em seu editor com privilégios de root:

sudo nano /etc/apache2/sites-available/example.com.conf

O arquivo será algo parecido com isso (eu removi os comentários aqui para tornar o arquivo mais acessível):

<VirtualHost *:80>

    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Como você pode ver, não há muito aqui. Vamos personalizar os itens aqui para nosso primeiro domínio e adicionar algumas diretivas adicionais. Esta seção de virtual host corresponde a quaisquer requisições que são feitas na porta 80, a porta padrão HTTP.

Em primeiro lugar, precisamos alterar a diretiva ServerAdmin para um e-mail que o administrador do site possa receber e-mails por ele.

ServerAdmin admin@example.com

Depois disso, precisamos adicionar duas diretivas. A primeira, chamada ServerName, estabelece o domínio de base que deve corresponder à esta definição de virtual host. Este provavelmente será o seu domínio. A segunda, chamada ServerAlias, define outros nomes que devem corresponder como se fossem o nome de base. Isto é útil para a correspondência de hosts que você definiu, como www:

ServerName example.com

ServerAlias www.example.com

A outra única coisa que precisamos mudar para o arquivo de virtual host básico é a localização do documento raiz para este domínio. Nós já criamos o diretório que precisamos, então precisamos apenas alterar a diretiva DocumentRoot para refletir o diretório que criamos:

DocumentRoot /var/www/example.com/public_html

No total, nosso arquivo de virtualhost deve ficar assim:

<VirtualHost *:80>

    ServerAdmin admin@example.com

    ServerName example.com

    ServerAlias www.example.com

    DocumentRoot /var/www/example.com/public_html

    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Salve e feche o arquivo.

Copie o primeiro Virtual Host e personalize-o para o Segundo Domínio

Agora que temos nosso primeiro arquivo de virtual host criado, podemos criar nosso segundo copiando esse arquivo e ajustando-o conforme necessário.

Comece copiando-o:

sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf

Abra o novo arquivo com privilégios de root em seu editor:

sudo nano /etc/apache2/sites-available/test.com.conf

Agora você precisa modificar todas as informações pertinentes para referenciar seu segundo domínio. Quando terminar, ele será algo parecido com isto:

<VirtualHost *:80>

    ServerAdmin admin@test.com

    ServerName test.com

    ServerAlias www.test.com

    DocumentRoot /var/www/test.com/public_html

    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Salve e feche o arquivo quando terminar.

2.6 – Passo Cinco – Ative os novos arquivos de Virtual Host

Agora que criamos nossos arquivos de virtual host, devemos ativá-los. O Apache inclui algumas ferramentas que nos permitem fazer isto.

Podemos utilizar a ferramenta a2ensite para ativar cada um de nossos sites assim:

sudo a2ensite example.com.conf

sudo a2ensite test.com.conf

Quando terminar, você precisará reiniciar o Apache para fazer com que estas alterações tenham efeito:

sudo service apache2 restart

Você provavelmente irá receber uma mensagem dizendo algo como:

* Restarting web server apache2

 AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1. Set the ‘ServerName’ directive globally to suppress this message

Esta é uma mensagem inofensiva que não afeta o nosso site.

No Próximo artigo veremos como instalar o servidor de ftp. Até a próxima.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *