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.
- 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.
- 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.
- 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
- 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 - Reinicie o Apache: Após editar a configuração, reinicie o Apache para aplicar as alterações:
sudo systemctl restart apache2
- 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
- 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.
- 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:
- 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
- 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 - Salve e feche o arquivo de configuração.
- 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
.htaccess