Tutorial

Cómo configurar la autenticación con contraseña con Apache en Ubuntu 18.04 [Guía de inicio rápido]

Published on March 12, 2020
Español
Cómo configurar la autenticación con contraseña con Apache en Ubuntu 18.04  [Guía de inicio rápido]

Introducción

En este tutorial, verá los recursos de protección con contraseña en un servidor web de Apache activo en Ubuntu 18.04. Completar estos pasos le proporcionará seguridad adicional para su servidor de modo que se prohíba a usuarios no autorizados el acceso a determinadas partes de su página.

Para acceder a una versión más extensa de este tutorial, con explicaciones más detalladas de cada paso, consulte Cómo configurar la autenticación con contraseña con Apache en Ubuntu 18.04.

Requisitos previos

Para completar este tutorial, necesitará acceso a lo siguiente en un servidor de Ubuntu 18.04:

  • Un usuario sudo en su servidor

  • Un servidor web Apache2

  • Un sitio protegido con SSL

Paso 1: Instalar el paquete de utilidades de Apache

Instalaremos una utilidad llamada htpasswd, que forma parte del paquete apache2-utils para administrar los nombres de usuarios y contraseñas con acceso a contenido restringido.

  1. sudo apt-get update
  2. sudo apt-get install apache2-utils

Paso 2: Crear el archivo de contraseña

Crearemos el primer usuario de la siguiente manera (sustituya `first_username por el nombre de usuario que elija):

  1. sudo htpasswd -c /etc/apache2/.htpasswd first_username

Se le solicitará proporcionar y confirmar una contraseña para el usuario.

Deje el argumento -c para cualquier usuario que desee añadir, de modo que no deba sobreescribir el archivo:

  1. sudo htpasswd /etc/apache2/.htpasswd another_user

Paso 3: Configurar la autenticación con contraseña de Apache

En este paso, debemos configurar Apache para que verifique este archivo antes de divulgar nuestro contenido protegido. Haremos esto usando el archivo de host virtual del sitio, pero existe otra opción detallada en el tutorial más extenso si es que no tiene acceso o prefiere usar archivos .htaccess en su lugar.

Abra el archivo host virtual al que quiera añadir una restricción con un editor de texto como nano:

  1. sudo nano /etc/apache2/sites-enabled/default-ssl.conf

La autenticación se realiza por directorio. En nuestro ejemplo, restringiremos el root de todo el documento, pero puede modificar este listado para apuntar solo a un directorio específico dentro del espacio web.

En este paso, añada las siguientes líneas resaltadas en su archivo:

/etc/apache2/sites-enabled/default-ssl.conf
<VirtualHost *:80>
  ServerAdmin webmaster@localhost
  DocumentRoot /var/www/html
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined

  <Directory "/var/www/html">
      AuthType Basic
      AuthName "Restricted Content"
      AuthUserFile /etc/apache2/.htpasswd
      Require valid-user
  </Directory>
</VirtualHost>

Verifique la configuración con el siguiente comando:

Puede reiniciar el servidor para implementar su política de contraseña y luego verificar el estado de su servidor.

  1. sudo systemctl restart apache2
  2. sudo systemctl status apache2

Paso 4: Confirmar la autenticación con contraseña

Para confirmar que su contenido esté protegido, intente acceder a su contenido restringido desde un navegador web. Debería aparecer una solicitud de ingreso de nombre de usuario y contraseña:

Solicitud de contraseña de Apache2

Tutoriales relacionados

A continuación, se encuentran los enlaces para acceder a guías más detalladas relacionadas con este tutorial:

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about our products

About the authors

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Become a contributor for community

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

DigitalOcean Documentation

Full documentation for every DigitalOcean product.

Resources for startups and SMBs

The Wave has everything you need to know about building a business, from raising funding to marketing your product.

Get our newsletter

Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.

New accounts only. By submitting your email you agree to our Privacy Policy

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.