Proteger con contraseña el acceso en Apache

Bien, mi pregunta es la siguiente: ¿Cómo puedo proteger mediante una contraseña el acceso a la página web alojada en mi propio servidor web (uso Apache)?
No se si me explicado correctamente, lo que quiero es que cuando entren a mi IP le pida un usuario y contraseña.
Si no me ha entendido bien, no dude en preguntarme de nuevo.
Respuesta
1
En el directorio donde tienen los archivos para mostrar en el web debe crear el archivo .htaccess (incluido el punto) con el siguiente contenido:
?AuthUserFile /etc/apache2/passwd
AuthType Basic
AuthName "Acceso restringido"
Require valid-user acceso
La última línea dice que se debe autenticar con el usuario "acceso"
Luego debe crear el archivo /etc/apache2/passwd con el usuario y la clave, así:
htpasswd2 -c /etc/apache2/passwd acceso
Depende de la distribución y de como se instaló apache, el comando sería htpasswd2 o htpasswd.
En caso que esto no funcione, ¿por favor indicar que distribución está usando? Probablemente hay que cambiar algo en la configuración de Apache.
Hasta hay todo correcto, el contenido (los archivos de la página) ¿Tiene qué tener unos permisos específicos?
Es que tiene los permisos 755, (-rwxr-xr-x).
Están todos los archivos creados correctamente pero con el nombre al que tu llamaste acceso, yo le llame de otra manera, tanto en el archivo, como en el comando y no funciona.
Un saludo
Los permisos están bien.
En la configuración de Apache debes buscar el parámetro AllowOverride y agregar el valor AuthConfig. Luego debes reiniciar apache.
En ese parámetro viene la siguiente linea:
AccessFileName .htaccess
¿La tengo que reemplazar por AuthConfig?
Un saludo
No entendí.
AllowOverride y AccessFileName son dos parámetros diferentes y cada uno tiene su valor.
Sería mejor si pegara aquí la parte del archivo de configuración de apache donde sale eso.
#
# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives.  See also the AllowOverride
# directive.
#
AccessFileName .htaccess
## AccessFileName: The name of the file to look for in each directory# for additional configuration directives.  See also the AllowOverride# directive.#
AccessFileName .htaccess
Es lo unico que me aparece de AllowOverride.
Ah otra cos?a, al final del archivo me aparece:
# Include all the user configurations:
Include /etc/apache2/httpd.conf
Pero mi /etc/apache2/httpd.conf esta vacio. Tiene algo que ver, ¿no?
Un saludo
Debe quedar así:
AllowOverride AuthConfig
AccessFileName .htaccess
Error al arrancar el servidor:
Syntax error on line 153 of /etc/apache2/apache2.conf:
AllowOverride not allowed here
Esa linea no creo que vaya hay, porque el error es precisamente eso.
Un saludo
No puedo dedicarle mucho tiempo a una misma pregunta. Lo que te dije para hacer es lo que debe hacer para crear el acceso con clave.
Lo que te falta es buscar en la configuración de Apache el parámetro AllowOverride que debe tener como valor AuthConfig.
Muchas gracias me ha sido de mucha utilidad, había que modificar el siguiente archivo:
/etc/apache2/sites-available/default
Y cambiar dicho parámetro.
Un saludo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas