Escolha uma Página

Neste tutorial veremos como podemos deixar o Magento em manutenção para qualquer visitante e ainda poder editar a loja sem precisar instalar nenhum modulo, veja como é simples:

Arquvio maintenance.flag

No Magento para deixar em manutenção e completamente inacessível, basta criar um arquivo vazio chamado maintenance.flag na raiz de sua instalação, isso porque o magento sempre procura este arquivo toda vez que uma página é visualizada. Este arquivo maintenance.flag pode também aparecer quando utilizamos o Magento Connect para instalar algum módulo, normalmente o próprio sistema remove este arquio, mas caso não o faça você pode deletar este arquivo sem medo. Por padrão a loja vicará com a seguinte tela simulando um erro 503:

Tornando a loja visível somente pra você

Vamos alterar o arquivo index.php na raiz da instalação do Magento pra acrescentar uma nova regra que vai deixar a loja em manutenção exceto para o IP indicado, isso fará com que a loja fique visível somente para você e assim poder realisar reparos de emergência sem deixar que outros visitantes usem a loja.

Abra o arquivo index.php, próximo a linha 47 encontraremos:

$mageFilename = MAGENTO_ROOT . '/app/Mage.php';
$maintenanceFile = 'maintenance.flag';

if (!file_exists($mageFilename)) {
    if (is_dir('downloader')) {
        header("Location: downloader");
    } else {
        echo $mageFilename." was not found";
    }
    exit;
}

if (file_exists($maintenanceFile)) {
    include_once dirname(__FILE__) . '/errors/503.php';
    exit;
}

Antes de todo esse código acrescentaremos duas variáveis:

$ip = $_SERVER['REMOTE_ADDR']; #IP de quem está acessando a loja
$permitido = array('200.149.132.123','2.2.2.2'); #seu IP ou IPs permitidos a acessar a loja em manutencao

Na linha do segundo if (provavelmente linha 61) acrescentaremos mais uma verificação

if (file_exists($maintenanceFile) && !in_array($ip, $permitido)) {

Assim o Magento também vai verificar seu IP antes de bloquear o site, o código fica assim:

$ip = $_SERVER['REMOTE_ADDR']; #IP de quem está acessando a loja
$permitido = array('200.149.132.123','2.2.2.2'); #seu IP ou IPs permitidos a acessar a loja em manutencao
$mageFilename = MAGENTO_ROOT . '/app/Mage.php';
$maintenanceFile = 'maintenance.flag';

if (!file_exists($mageFilename)) {
    if (is_dir('downloader')) {
        header("Location: downloader");
    } else {
        echo $mageFilename." was not found";
    }
    exit;
}

if (file_exists($maintenanceFile) && !in_array($ip, $permitido)) {
    include_once dirname(__FILE__) . '/errors/503.php';
    exit;
}

Pronto com isso a loja estará em manutenção para visitantes, mas não para você e para personalizar a tela de manutenção basta editar o arquivo [raiz do magento]/errors/503.php ou alterar o endereço na linha 62.

Espero que este tutorial seja de grande ajuda um forte abraço e até a próxima.