Teste suas habilidades em todos os nossos serviços de hospedagem e ganhe 15% de desconto!

Utilizar o código no ato da compra:

Skills
09.12.2024

Como configurar a autenticação Apache htpasswd no Ubuntu

Bloqueie seu site com o Apache htpasswd no VPS Ubuntu da AlexHost

Por que usar o htpasswd? O htpasswd do Apache é o seu bilhete rápido para proteger diretórios da Web – pense em painéis de administração ou sites de desenvolvimento – com uma simples porta de nome de usuário/senha. Ele é leve, perfeito para controle de acesso básico e fácil de configurar em um VPS Ubuntu da AlexHost com Apache. Este guia o orienta a adicionar essa vibração de cadeado e chave ao seu site, mantendo as áreas confidenciais seguras sem esforço.

Pré-requisitos

  • Um servidor executando o Ubuntu com o Apache2 instalado.
  • Acesso de rotina ou sudo ao servidor.
  • Conhecimento básico de uso da linha de comando.

Etapa 1: Instalar o Apache (se ainda não estiver instalado)

Se o Apache não estiver instalado em seu servidor Ubuntu, você poderá instalá-lo com o seguinte comando:

sudo apt update

sudo apt install apache2

Etapa 2: Ativar o utilitário htpasswd

O utilitário htpasswd é fornecido pelo pacote apache2-utils, que geralmente é instalado com o Apache. Se ele não estiver instalado, você poderá instalá-lo executando:

sudo apt install apache2-utils

Esse comando instala as ferramentas de gerenciamento de senhas necessárias para os arquivos de autenticação htpasswd.

Etapa 3: criar o arquivo .htpasswd

O arquivo .htpasswd é usado para armazenar nomes de usuário e senhas de autenticação criptografadas.

  1. Para criar um novo arquivo .htpasswd e adicionar um usuário, execute o seguinte comando:
    sudo htpasswd -c /etc/apache2/.htpasswd your_username

    Substitua your_username pelo nome de usuário que deseja criar.

    • A opção -c cria um novo arquivo .htpasswd . Se o arquivo já existir e você usar a opção -c, ele será substituído, portanto, use-a somente quando for criar o arquivo pela primeira vez.
  2. Digite e confirme a senha: depois de executar o comando, será solicitado que você digite e confirme uma senha para o usuário. Um arquivo /etc/apache2/.htpasswd será criado com a senha criptografada para your_name.
  3. Adicione outros usuários (opcional): Para adicionar mais usuários sem substituir o arquivo .htpasswd existente, execute:
    sudo htpasswd /etc/apache2/.htpasswd another_username

    Substitua another_username pelo novo nome de usuário. Esse comando adiciona o novo usuário ao arquivo .htpasswd existente.

Etapa 4: configurar o Apache para proteção por senha

Você precisa especificar o diretório ou local que deseja proteger com senha. Isso é feito por meio de um arquivo .htaccess ou editando diretamente o arquivo de configuração do Apache.

Opção 1: Usar o arquivo .htaccess

  1. Ativação de arquivos .htaccess: Se quiser usar arquivos .htaccess para configurar a proteção por senha, certifique-se de que a diretiva AllowOverride esteja definida como All para o diretório que deseja proteger. Edite o arquivo de configuração apropriado do Apache (por exemplo, /etc/apache2/sites-available/000-default.conf):
    sudo nano /etc/apache2/sites-available/000-default.conf

    Localize a seção da raiz da Web (por exemplo, /var/www/html) e defina AllowOverride como All:


    AllowOverride All

  2. Reinicie o Apache: Após editar a configuração, reinicie o Apache para aplicar as alterações:
    sudo systemctl restart apache2
  3. Criar um arquivo .htaccess: Dentro do diretório que você deseja proteger (por exemplo, /var/www/html), crie ou edite um arquivo .htaccess:
    sudo nano /var/www/html/.htaccess
  4. Adicione as seguintes diretivas: Adicione as seguintes linhas ao arquivo .htaccess:
    AuthType Basic
    AuthName “Restricted Content” (Conteúdo restrito)
    AuthUserFile /etc/apache2/.htpasswd
    Exigir valid-user
    • AuthType Basic: Especifica a autenticação básica.
    • AuthName: Mensagem que será exibida na mensagem de autenticação.
    • AuthUserFile: o caminho para o seu arquivo .htpasswd.
    • Require Valid User (Exigir usuário válido): restringe o acesso aos usuários listados no arquivo .htpasswd.
  5. Salve e feche o arquivo.

Opção 2: uso direto do arquivo de configuração do Apache

Se você preferir gerenciar a autenticação diretamente nos arquivos de configuração do Apache em vez de usar o .htaccess, siga estas etapas:

  1. Edite a configuração do host virtual: Abra o arquivo de configuração do Apache para o site que você deseja proteger (por exemplo, /etc/apache2/sites-available/000-default.conf):
    sudo nano /etc/apache2/sites-available/000-default.conf
  2. Adicione as diretivas de autenticação: Dentro do bloco ou do bloco que corresponde ao diretório que você deseja proteger, adicione o seguinte:
    <Directory "/var/www/html">
    AuthType Basic
    AuthName "Restricted Content"
    AuthUserFile /etc/apache2/.htpasswd
    Require valid-user

  3. Salve e feche o arquivo de configuração.
  4. Reinicie o Apache: Depois de fazer as alterações, reinicie o Apache:
    sudo systemctl restart apache2

Etapa 5: testar a autenticação

Agora, acesse o URL do diretório seguro usando seu navegador da Web (por exemplo, http://your_server_ip_or_domain). Você deverá ver um prompt de login solicitando um nome de usuário e uma senha.

  • Digite o nome de usuário e a senha que você criou com o comando htpasswd.
  • Se as credenciais estiverem corretas, você terá acesso ao diretório; caso contrário, o acesso será negado.

Etapa 6: proteger o arquivo .htpasswd

Por motivos de segurança, certifique-se de que o arquivo .htpasswd esteja armazenado fora da raiz da Web (por exemplo, /etc/apache2/.htpasswd) para que não possa ser acessado diretamente por um navegador da Web.

Certifique-se de que o arquivo .htpasswd tenha as permissões corretas:

sudo chmod 640 /etc/apache2/.htpasswd

sudo chown www-data:www-data /etc/apache2/.htpasswd

Isso garante que somente o usuário do Apache (www-data) e o root tenham acesso de leitura ao arquivo .htpasswd.

Conclusão: Proteja seu site com facilidade

O Apache htpasswd é a solução rápida para bloquear os diretórios da Web em seu VPS Ubuntu da AlexHost. Instale as ferramentas, crie o

.htpasswd
, configure o
.htaccess
para o Apache e teste-o, a zona privada está pronta. Proteja esse arquivo, adicione SSL por segurança e pronto. Precisa de ajuda? O suporte da AlexHost está a um ticket de distância. Proteja-se e continue programando!

Teste suas habilidades em todos os nossos serviços de hospedagem e ganhe 15% de desconto!

Utilizar o código no ato da compra:

Skills