Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos desde el navegador web me aparecía el siguiente mensaje:
You don’t have permission to access this resource. Server unable to read htaccess file, denying access to be safe.
Hoy voy a mostrarte la solución a ese problema con servidores, Apache y el htaccess.
Al menos para mí este mensaje era nuevo, pues yo ni siquiera había editado algún archivo .htaccess. El directorio que iba a ser servido por Apache no contenía ningún .htaccess y me aseguré de que el directorio no fuera propiedad de root.
La solución fue agregar mi usuario al grupo www-data y luego hacer que el dueño del directorio completo fuera www-data. Entonces primero asegúrate de que tu usuario esté dentro del grupo www-data
y luego haz un:
sudo chown -R :www-data directorio
Y finalmente un:
sudo chmod -R 750 directorio
Aquí www-data
es el grupo y directorio
es el directorio que te da el error que dice You don’t have permission to access this resource. Server unable to read htaccess file, denying access to be safe.
Me parece que el problema era debido a que el propio Apache no podía leer el directorio, independientemente de que root no fuera el dueño del mismo. Es mejor que www-data
sea el dueño y que además nuestro usuario no root sea parte de ese grupo.
En cuanto a la causa, la desconozco, pues ya había editado y creado directorios previamente con mi usuario normal. Lo único distinto que hice fue un sudo rm -rf ./*
(no ejecutes ese comando si no sabes lo que hace) para borrar todo el contenido del directorio una vez que ya estaba dentro.