GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo configurar la autenticación de contraseña con Apache en Ubuntu 18.04

El servidor web Apache es gratuito, de código abierto y uno de los servidores web más utilizados en el mundo. Le permite servir el contenido en la web.

Cualquier usuario puede acceder a su aplicación a través de Internet cuando está alojada en un servidor web Apache. En algunos casos, es posible que deba proteger su aplicación para que solo los usuarios autenticados puedan acceder a la aplicación. Puede proteger su aplicación a nivel de servidor utilizando Apache htpasswd. Esta utilidad le permite limitar el acceso a un sitio web específico a la persona limitada que solo tiene los datos de inicio de sesión.

En este tutorial, le mostraremos cómo configurar la autenticación de contraseña con Apache en Ubuntu 18.04.

Requisitos

  • Un Ubuntu 18.04 VPS nuevo en Atlantic.net Cloud Platform.
  • Una contraseña raíz configurada en su servidor.

Paso 1:crear el servidor en la nube de Atlantic.Net

Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo Ubuntu 18.04 como sistema operativo con al menos 1 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.

Una vez que haya iniciado sesión en su servidor Ubuntu 18.04, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.

apt-get update -y

Paso 2:instalar el servidor web Apache

apt-get install apache2 apache2-utils -y

Una vez instalado, inicie el servicio Apache y habilítelo para que se inicie después de reiniciar el sistema con el siguiente comando:

systemctl start apache2
systemctl enable apache2

Ahora, abra su navegador web y navegue hasta la URL http://your-server-ip. Debería ver su página web predeterminada de Apache en la siguiente pantalla:

Paso 3:crear un archivo de contraseñas de Apache

Primero, deberá crear un archivo de contraseña que Apache pueda usar para autenticar a los usuarios. Puede crear un archivo .htpasswd oculto dentro del directorio /etc/apache2 para un usuario llamado usuario1 usando la utilidad htpasswd:

htpasswd -c /etc/apache2/.htpasswd user1

Proporcione su contraseña deseada, como se muestra a continuación:

New password:
Re-type new password:
Adding password for user user1

El comando anterior creará un archivo .htpasswd con las credenciales de usuario. Deberá usar estas credenciales para acceder a su sitio web.

Paso 4:cree un sitio web de muestra

En esta sección, crearemos una estructura de directorios de muestra y un archivo index.html con fines de prueba.

Primero, crea un directorio para tu sitio web con el siguiente comando:

mkdir /var/www/html/example.com

A continuación, cree un archivo index.html dentro de su directorio web con el siguiente comando:

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

Agregue los siguientes contenidos:

<html>
<title>Password Protected Apache Website.</title>
<h1>This website is password protected.</h1>
</html>

Guarde y cierre el archivo cuando haya terminado. Luego, cambie la propiedad de su directorio web a www-data:

chown -R www-data:www-data /var/www/html/example.com

Paso 5:configurar la autenticación básica de Apache

A continuación, deberá crear un archivo de configuración de host virtual de Apache para su sitio web y definir la autenticación básica.

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

Agregue las siguientes líneas:

<VirtualHost *:80>
  ServerAdmin [email protected]
  ServerName  example.com
  DocumentRoot /var/www/html/example.com
  DirectoryIndex index.html
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
  <Directory "/var/www/html/example.com">
      AuthType Basic
      AuthName "Restricted Content"
      AuthUserFile /etc/apache2/.htpasswd
      Require valid-user
  </Directory>
</VirtualHost>

Guarde y cierre el archivo cuando haya terminado.

A continuación se especifica una breve explicación de cada directiva:

  • Administrador del servidor :dirección de correo electrónico del administrador del servidor.
  • Nombre del servidor :Nombre de dominio que utiliza el servidor para identificarse.
  • Raíz del documento :especifique la ruta de su aplicación.
  • Índice de directorio :especifique una página predeterminada para mostrar cuando se acceda a un directorio.
  • Tipo de autenticación :Tipo de autenticación.
  • Nombre de autenticación :especifique el mensaje que aparecerá en la página de contraseña.
  • AuthUserFile :especifique la ubicación del archivo de credenciales de usuario.
  • Requerir :especifique los usuarios que pueden acceder a esta región del servidor.

A continuación, compruebe Apache en busca de errores de sintaxis con el siguiente comando:

apachectl -t

Deberías obtener el siguiente resultado:

Syntax OK

A continuación, habilite el archivo de host virtual de Apache para su sitio web con el siguiente comando:

a2ensite example.conf

A continuación, reinicie el servicio Apache para implementar los cambios:

systemctl restart apache2

Paso 6:verificar la autenticación de contraseña de Apache

En este punto, su sitio web está protegido con la autenticación básica de Apache.

Para verificarlo, abra su navegador web y escriba la URL http://example.com. Se le pedirá que proporcione un nombre de usuario y una contraseña para acceder a su sitio web, como se muestra a continuación:

Proporcione su nombre de usuario y contraseña y haga clic en Iniciar sesión botón. Debería ver la página predeterminada de su sitio web en la siguiente pantalla:

Conclusión

En la guía anterior, aprendimos cómo crear un sitio web protegido con contraseña con Apache en Ubuntu 18.04. Ahora puede proteger fácilmente con contraseña su sitio web con Apache:¡pruébelo hoy con un plan de alojamiento VPS de Atlantic.Net! Para obtener más información, puede visitar la documentación oficial de Apache en Apache Auth.


Linux
  1. Cómo configurar un servidor FTP con VSFTPD en Ubuntu 20.04

  2. Cómo configurar un servidor FTP con VSFTPD en Ubuntu 18.04

  3. Cómo configurar un servidor de correo electrónico con Mail-in-a-Box en Ubuntu

  4. Cómo instalar un servidor de correo con PostfixAdmin en Ubuntu 20.04

  5. ¿Cómo configurar la autenticación de contraseña de Apache en Ubuntu 18.08?

Cómo instalar InvoiceNinja en un servidor Ubuntu 18.04 con Apache/Nginx

Cómo instalar InvoiceNinja en un servidor Ubuntu 20.04 con Apache/Nginx

Cómo instalar phpMyAdmin con Apache en Ubuntu 22.04 LTS

Cómo instalar Drupal en un servidor Ubuntu 20.04 con Apache

Cómo:Configuración inicial del servidor Ubuntu 15.04

Configuración inicial del servidor con Ubuntu 18.04