Mostrando postagens com marcador Apache. Mostrar todas as postagens
Mostrando postagens com marcador Apache. Mostrar todas as postagens

terça-feira, 22 de setembro de 2015

Corrigindo erro "Request exceeded the limit of 10 internal redirects" no .htaccess

Fala galera,

Peço desculpas por estar meio ausente do blog, devido a correria com alguns projetos, mas estou sempre olhando todas as perguntas e solicitações.

No post de hoje, falaremos sobre o erro Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace. no .htaccess.

Como exemplo, exibiremos abaixo um arquivo .htaccess onde ocorre o problema.

    <IfModule mod_rewrite.c>
      <IfModule mod_negotiation.c>
        Options -MultiViews
      </IfModule>

      RewriteEngine on

      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^(.*)/$ /$1 [L,R=301]

      RewriteBase /projeto/
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^ index.php [L]
    </IfModule>
  

A título de curiosidade, esse arquivo foi retirado das pasta public de um projeto em Laravel 5.1.

Para corrigir o problema, substitua o conteúdo da linha 14: RewriteRule ^ index.php [L] por RewriteRule ^(.+)$ /index.php/$1 [NC,L,QSA]

Com essa alteração, o problema deve ser corrigido. Espero ter ajudado aos que se depararam com esse erro.

Um grande abraço e até a próxima.

quarta-feira, 30 de outubro de 2013

Habilitando CGI no Virtual Host com Apache 2.4.6

Olá galera,

O primeiro passo é habilitar o módulo do CGI através de um link simbólico.

cd /etc/apache2/mods-enabled
ln -s ../mods-available/cgi.load cgi.load

O segundo é habilitar a extensão.

sudo gedit /etc/apache2/mods-enabled/mime.conf

Remova o # da linha AddHandler cgi-script .cgi e reinicie o Apache.

sudo /etc/init.d/apache restart

No seu Virtual Host, adicione a linha Include conf-available/server-cgi-bin.conf. Segue o exemplo de um arquivo.

  <VirtualHost *:80>
     ServerName aplicacao
     DocumentRoot /var/www/aplicacao/public
     <Directory /var/www/aplicacao/public>
        Options FollowSymLinks Indexes MultiViews
        AllowOverride All
        Require all granted
     </Directory>
     Include conf-available/server-cgi-bin.conf
   </VirtualHost>
  

OBS: A configuração acima foi feita no Ubuntu 13.10.

Espero que a dica tenha sido útil.
Grande abraço e até a próxima.

quinta-feira, 21 de fevereiro de 2013

Configurando o ProxyHost do Openlayers no Ubuntu 12.10

Olá galera,

Há um tempo atrás, tive a oportunidade de trabalhar em um projeto utilizando Openlayers e GeoServer. Enquanto estive consumindo as camadas WMS não tive problemas, mas eles começaram quando utilizei as WFS. Pesquisando pela internet descobri que se tratava do ProxyHost. Após muita procura me deparei com uma solução para Windows no blog do nosso saudoso Fernando Quadros.

Para configurá-lo no Ubuntu seguiremos alguns passos.

O primeiro deles é fazer o download do ProxyHost no link http://svn.openlayers.org/trunk/openlayers/examples/proxy.cgi

Altere o proxy.cgi e acrescente mais 4 parâmetros ('localhost:8080', 'localhost', '127.0.0.1:8080', '127.0.0.1') sendo que o resultado final do trecho alterado deve se parecer com o abaixo:

    allowedHosts = ['www.openlayers.org', 'openlayers.org', 'labs.metacarta.com', 'world.freemap.in', 'prototype.openmnnd.org', 'geo.openplans.org', 'sigma.openplans.org', 'demo.opengeo.org', 'www.openstreetmap.org', 'sample.azavea.com', 'v2.suite.opengeo.org', 'v-swe.uni-muenster.de:8080', 'vmap0.tiles.osgeo.org', 'www.openrouteservice.org', 'localhost:8080', 'localhost', '127.0.0.1:8080', '127.0.0.1']
  

Utilizando o terminal, acesse o diretório onde você fez o download do proxy.cgi e copie ele para a pasta cgi-bin. Além disso, vamos setar a permissão adequada.

sudo cp proxy.cgi /usr/lib/cgi-bin
sudo chmod a+x proxy.cgi

Vamos habilitar o CGI no Apache

sudo gedit /etc/apache2/mods-enabled/mime.conf

Remova o # da linha AddHandler cgi-script .cgi

Reinicie o Apache

sudo /etc/init.d/apache restart

Agora você pode setar o ProxyHost na sua aplicação web e testar.

OpenLayers.ProxyHost = "/cgi-bin/proxy.cgi?url=";

Um abraço a todos e até a próxima.

terça-feira, 5 de fevereiro de 2013

Criando Virtual Host com Apache no Ubuntu 12.10

Olá galera,

A dica de hoje é bem básica mas muito útil para quem costuma desenvolver usando o Apache como servidor web.

Supondo que estejamos usando um framework feito em PHP e que seu acesso padrão seja http://localhost/aplicacao/public. Vamos criar um Virtual Host específico para essa aplicação.

Criaremos o arquivo aplicacao dentro do diretório /etc/apache2/sites-enabled.

sudo gedit /etc/apache2/sites-enabled/aplicacao

Dentro do arquivo criado colocaremos o seguinte conteúdo:

  <VirtualHost *:80>
     ServerName aplicacao
     DocumentRoot /var/www/aplicacao/public
     <Directory /var/www/aplicacao/public>
        Options FollowSymLinks Indexes MultiViews
        AllowOverride All
     </Directory>
   </VirtualHost>
  

Próximo passo é adicionar uma entrada chamada aplicacao ao lado de localhost.

Obs: Não altere os outros parâmetros presentes no arquivo.

sudo gedit /etc/hosts

O trecho alterado no arquivo deve ter ficado similar ao código abaixo.

    127.0.0.1       localhost aplicacao
  

Reiniciaremos o Apache para que as alterações passem a funcionar.

sudo /etc/init.d/apache2 restart

Pronto! Nossa aplicação agora pode ser acessada através da url http://aplicacao.

Um abraço a todos e até a próxima.

terça-feira, 29 de janeiro de 2013

Instalando Apache 2 e PHP 5 no Ubuntu 12.10

Olá galera,

Passei alguns dias sem postar nada por estar viajando. Nesse post vou mostrar o passo a passo simples dessa instalação.

Instalação o Apache

sudo apt-get install apache2

Habilitando o mod-rewrite

sudo a2enmod rewrite

Ajustando a reescrita para URLs amigáveis

sudo vim /etc/apache2/sites-enabled/000-default

Pesquisaremos pelo bloco de código e faremos a alteração como abaixo

<Directory />
  Options FollowSymLinks
  AllowOverride All
</Directory>
<Directory /var/www/>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  allow from all
</Directory>

Instalação do PHP

sudo apt-get install php5 php5-gd php5-pgsql php5-cli php5-cgi libapache2-mod-php5

Reiniciando o Apache

sudo /etc/init.d/apache2 restart

Alteraremos a permissão da pasta web deixando-a 100% acessível. Essa alteração só deve ser feita para o ambiente de desenvolvimento.

sudo chmod -R 777 /var/www

Para testar a configuração do PHP, criaremos um arquivo info.php dentro de /var/www contendo o código abaixo:

<?php phpinfo(); ?>

Se todos os passos foram executados corretamente, ao se acessar http://localhost/info.php deverá ser exibida uma página com todas as configurações e extensões habilitadas do PHP.

Bem pessoal, espero que a dica tem sido útil. Até a próxima.