Suporte » Desenvolvendo com WordPress » Usando porta alternativa para acesso ao WP

  • Resolvido utikawa

    (@utikawa)


    Olá a todos!

    Temos aqui na empresa uma intranet funcionando com o WordPress. Está muito bom o resultado até o momento e com recursos muito interessantes.
    O problema é que eu quero que os funcionários tenham acesso à nossa intranet também externamente.
    Mas como aqui o acesso é pelo Virtua, conexões externas na porta 80 são bloqueadas e assim foi criada uma nat: para acessar o nosso webserver interno, é preciso usar a porta 8080.
    Acesso interno (rede local) é feito pela própria porta 80.
    Porém o wordpress escreve a url completa nos links, desprezando a porta utilizada no browser. Ou seja: ao acessar por http://intranet.meudominio.com.br:8080/ , o wordpress gera todos os links para http://intranet.meudominio.com.br/
    Assim só funciona localmente. acesso externo dá erro!
    Eu não posso mudar na configuração do wordpress (endereço do site ou endereço do wordpress) para usar a porta 8080 pois senão o acesso interno é que vai ter problema.
    Assim, o que eu precisava é que o wordpress deixasse de ignorar a porta utilizada, mantendo-a nos links. Alguém sabe se isso é possível?

Visualizando 11 respostas - 1 até 11 (de um total de 11)
  • Bom dia!!
    Eu acho que o mais viável e mais simples de se fazer seria sua Intranet rodar online, na web mesmo só que neste caso apenas os seus funcionários com login e senha poderiam acessar.

    Seria seudominio.com e os usuários precisariam apenas logar para acessar o sistema. Eu já fiz isso uma vez e ficou muito bom.
    Seria como acessar um site na internet, normal alias seria realmente um site na web só que com acesso apenas a seus funcionários.

    Se precisar de mais dicas é só postar aqui no fórum ou pelo meu Email mesmo: lucianobragagroairas[@][gmail].com

    Criador do tópico utikawa

    (@utikawa)

    Obrigado pela resposta!
    Realmente seria uma alternativa… O único problema é que vai tornar o acesso um pouco mais lento e gerando um certo tráfego já que esta é a página inicial de todos os micros (temos cerca de 60 máquinas na empresa).
    Vou pesquisar sobre como poderia ser feito o acesso apenas com login e senha.
    De qualquer forma, se fosse possível que o WP não ignorasse a porta ou existisse um forma simples de redirecionar os links para o endereço correto alterando-se o código do WP seria mais interessante…
    Obs.: Desculpem por não ter postado na categoria avançado. Eu não sabia que era uma questão avançada!

    Oi, não entendo muito de redes de computador, configuração de servidores, etc, mas uma vez vi em algum fórum, alguém recomendando o seguinte:

    define(‘WP_HOME’,’http://example.com:1980′);
    define(‘WP_SITEURL’,’http://example.com:1980/wordpress’);

    Não sei se realmente funcionaria no seu caso. É questão de testar.
    Coloque estas duas linhas no arquivo wp-config.php =)

    Beijokas
    Drika

    Criador do tópico utikawa

    (@utikawa)

    Obrigado pela resposta!

    Essa realmente seria uma solução se eu acessasse o site apenas externamente. Porém, se eu fizer essa configuração, o site não será mais acessível internamente pois ele tentaria usar a porta alternativa. Na rede interna o acesso é feito pela porta 80 mesmo. Eu não gostaria de fazer funcionar pela porta alternativa internamente pois existem sistemas que já dependem de outros serviços do mesmo webserver, além de ficar mais complicado para quem quiser entrar no site.
    Eu inclusive já conectei por VPN de casa para a empresa e mesmo assim a intranet não funciona, apesar de nesse caso já começar a mostrar alguma coisa…

    Qualquer novidade ou solução que eu encontre será postado aqui!

    Abraços,
    Marcelo Utikawa da Fonseca

    Bom dia!

    Que pena! Se tivesse uma forma de verificar da onde vem o acesso, podia-se fazer algo assim:

    if( ACESSO EXTERNO ){
       define('WP_HOME','http://example.com:1980');
       define('WP_SITEURL','http://example.com:1980/wordpress');
    } else {
       define('WP_HOME','http://example.com:80');
       define('WP_SITEURL','http://example.com:80/wordpress');
    }

    Será que dá pra verificar? Vou continuar pesquisando. Se eu achar algo posto aqui.

    Andei vendo que com $_SERVER['REMOTE_ADDR'] a gente obtem o IP de quem está acessando… De repente, se o teu servidor da intranet tiver um IP fixo, você pode verificar se o IP que está acessando é externo ou não …

    Criador do tópico utikawa

    (@utikawa)

    Excelente! Muito obrigado pela ajuda.
    Realmente essa seria a melhor solução sem dúvida alguma!
    Vou testar essa alteração e posto quando tiver o resultado!

    Criador do tópico utikawa

    (@utikawa)

    Eu fiz alguns testes e cheguei ao código abaixo. Ele foi inserido em wp-config.php:

    function cidr_match($ip, $range)
    {
    list ($subnet, $bits) = split(‘/’, $range);
    $ip = ip2long($ip);
    $subnet = ip2long($subnet);
    $mask = -1 << (32 – $bits);
    $subnet &= $mask;
    return ($ip & $mask) == $subnet;
    }

    if (cidr_match($_SERVER[‘REMOTE_ADDR’],’192.168.0.0/24′) == true) {
    define(‘WP_HOME’ ,’http://intranet.meudominio.com.br&#8217;);
    define(‘WP_SITEURL’,’http://intranet.meudominio.com.br&#8217;);
    } else {
    define(‘WP_HOME’ ,’http://intranet.meudominio.com.br:8080&#8242;);
    define(‘WP_SITEURL’,’http://intranet.meudominio.com.br:8080&#8242;);
    }

    Assim quase funcionou. Agora internamente funciona porém externamente eu recebo uma mensagem de erro 404 mas do próprio wordpress. Eu imagino que é devido ao problema de o wordpress ter sido configurado para trabalhar no site original (intranet.meudominio.com.br) e não o com a porta.
    Vou continuar pesquisando sobre isso e se eu conseguir contornar esse novo problema eu aviso aqui novamente.

    Criador do tópico utikawa

    (@utikawa)

    Olá a todos!

    Resolvido o problema… Este último (erro 404) ocorreu por uma falha minha. O código citado acima foi o suficiente para resolver o problema.
    Assunto resolvido e muito obrigado pela ajuda!

    Abraços,
    Marcelo Utikawa da Fonseca

    Que bom que conseguiu!!! Fico contente. Precisando estou sempre as ordens!

    =)

    Cara eu não to conseguindo usar esse codigo que você passou, coloquei exatamente, antes de eu por o teu código ele funciona direito em localhost, e acessando de outro computador dentro da mesma rede o CSS sai todo quebrado, acho que nem chega a carregar.

    Alguma ideia?

Visualizando 11 respostas - 1 até 11 (de um total de 11)
  • O tópico ‘Usando porta alternativa para acesso ao WP’ está fechado para novas respostas.