Programación

Your web server is set up incorrectly and allows unauthorized access to sensitive files. Please contact your hosting provider Magento 2

Si te has atrevido a configurar tú mismo el web server donde alojar tu tienda en Magento 2 es posible que en el backend de la tienda, una vez instalada te encuentres un mensaje de advertencia que reza así:

Your web server is set up incorrectly and allows unauthorized access to sensitive files.
Please contact your hosting provider.

Tranquilo, a mí también me pasó la primera vez que lo intenté. Pero como bien anuncia el dicho: una y no más santo Tomás. Después de intentar las soluciones que iba encontrando en diversas páginas «del internet», os cuento paso a paso el remedio que seguí y que finalmente me funcionó.

Revisando bien el core de Magento 2, podremos ver que la clase Magento\AdminNotification\Model\System\Message\Security tiene la function getText(), la cual devuelve el siguiente mensaje: «Your web server is set up incorrectly and allows unauthorized access to sensitive files. Please contact your hosting provider».

Este mensaje se produce cuando Magento detecta que las carpetas en app/etc/* son accesibles para «visitantes» no autorizados, así como el fichero app/etc/env.php que contiene información sensible sobre la base de datos, encrypt keys varias, la URL del backend y mucho más.

(Puedes ver también el método _isFileAccessible para más información).

¿Cómo resolvemos el problema en nuestro web server?

El problema está claramente en los permisos. Lo primero que necesitamos hacer es definirlos para nuestro «webuser», que será el propietario de la carpeta y «nginx» para el grupo. Para eso corremos este comando:

chown -R webuser:nginx /path

Donde /path es la ruta donde hayamos colocado nuestro magento 2, y webuser el nombre del usuario que hayamos creado para que ocupe el puesto de usuario web.

En este punto es muy importante que este comando, así como el siguiente no los ejecutemos como el usuario root del sistema. Es decir, creamos un usuario, le asignamos el grupo nginx, y con permisos de root los ejecutamos.

Después de ese va este otro comando:

find . -type d -exec chmod 770 {} \; && find . -type f -exec chmod 660 {} \; && chmod u+x bin/magento

Fuente: Linkedin

José María

Ingeniero de formación, es un apasionado de pantallas, teclas, códigos, matemáticas y jeroglíficos varios; cuenta con un enfermizo síndrome obsesivo-compulsivo por el detalle y el trabajo bien hecho.