Magento 2 mais seguro com o webroot correto
Esse é um requerimento de segurança que normalmente não é revisado, mas é muito importante, webroot nada mais é do que a pasta pública raiz do seu servidor, caso esteja utilizando a pasta errada vou te mostrar como corrigir.
![Magento 2 mais seguro com o webroot correto](/content/images/size/w2000/2020/07/Magento-2-Webroot.jpg)
Essa verificação leva apenas 1 minuto e a correção é muito rápida também, isso pode te poupar muita dor de cabeça, além de dar mais liberdade para os desenvolvedores manipularem arquivos na raiz do projeto.
Risco causados
Quando você utiliza a pasta raiz do seu Magento 2 como webroot você acaba expondo mais arquivos e pastas que o necessário, isso por si só já traz mais riscos para a sua loja, fora que tem vários devs que deixam arquivos na raiz da instalação como por exemplo:
- Arquivos executáveis
- Backups
- Link simbólicos
Como verificar
1º passo
Clique com o botão direito na página da sua loja e clique em ver código fonte.
![](https://mageflix.com/content/images/2020/07/Screen-Shot-2020-07-17-at-6.47.26-PM.png)
2º passo
Busque por /pub/
![](https://mageflix.com/content/images/2020/07/Screen-Shot-2020-07-17-at-6.45.33-PM.png)
Se o resultado for zero, a sua loja está com o webroot correto, parabéns! ?
Como corrigir?
Você primeiro precisa corrigir o apontamento da webroot no seu servidor, caso você utilize uma hospedagem Paas como Cloudways, você consegue alterar facilmente via painel:
![](https://mageflix.com/content/images/2020/07/Screen-Shot-2020-07-17-at-6.58.34-PM.png)
NGINX
Se você utiliza NGINX, você pode usar esse exemplo para fazer a modificação em seu servidor.
# /etc/nginx/sites-available/magento
upstream fastcgi_backend {
server unix:/run/php/php7.4-fpm.sock;
}
server {
listen 80;
server_name 192.168.33.10;
set $MAGE_ROOT /var/www/html/magento2ce;
include /var/www/html/magento2ce/nginx.conf.sample;
}
Apache
Se você utiliza Apache, pode fazer dessa maneira.
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/magento2ce/pub
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/var/www/html">
AllowOverride all
</Directory>
</VirtualHost>
Não se esqueça de reiniciar o NGINX ou Apache!
env.php
Verifique se você configurou corretamente seu arquivo app/etc/env.php, ele deve conter esse parâmetro:
'directories' => [
'document_root_is_pub' => true
]
Finalizando
Com tudo configurado você só precisa recompilar a loja, limpar os caches e tentar acessar um das pastas da raiz do Magento como por exemplo a pasta setup, se você receber erro 404 ou erro de permissão, então está tudo certo! ?
![](https://mageflix.com/content/images/2020/07/image-1.png)