# $Id$

#
# i-Educar - Sistema de gesto escolar
#
# Copyright (C) 2006  Prefeitura Municipal de Itaja
#                     <ctima@itajai.sc.gov.br>
#
# Este programa  software livre; voc pode redistribu-lo e/ou modific-lo
# sob os termos da Licena Pblica Geral GNU conforme publicada pela Free
# Software Foundation; tanto a verso 2 da Licena, como (a seu critrio)
# qualquer verso posterior.
#
# Este programa  distribudo na expectativa de que seja til, porm, SEM
# NENHUMA GARANTIA; nem mesmo a garantia implcita de COMERCIABILIDADE OU
# ADEQUAO A UMA FINALIDADE ESPECFICA. Consulte a Licena Pblica Geral
# do GNU para mais detalhes.
#
# Voc deve ter recebido uma cpia da Licena Pblica Geral do GNU junto
# com este programa; se no, escreva para a Free Software Foundation, Inc., no
# endereo 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
#

#
# Esse arquivo tem por finalidade configurar o ambiente Apache/PHP/i-Educar,
# aplicando algumas restries de acesso para maior segurana. As
# configuraes do php.ini so sobrescritas com os valores mnimos necessrios
# para o bom funcionamento do i-Educar.
#
# Para uma melhor performance,  aconselhado colocar o contedo desse arquivo
# em um virtual host ou no apache.conf e, logo aps, configurar a diretiva
# AllowOverride do respectivo arquivo para None.
#
# Esse arquivo foi baseado no .htaccess distribudo com o Drupal CMS.
#
# @author   Eriksen Costa Paixo <eriksen.paixao_bs@cobra.com.br>
# @license  http://creativecommons.org/licenses/GPL/2.0/legalcode.pt  CC GNU GPL
# @link     http://cvs.drupal.org/viewvc.py/drupal/drupal/.htaccess?view=markup  .htaccess do Drupal CMS
# @version  $Id$
#


# Protege arquivos e diretrios de serem listados ou servidos. Arquivo info.php
# e arquivos SQL so protegidos assim como os diretrios misc, test e
# diretrios comuns a SCMs como CVS e SVN (para proteger deployments desse tipo).
<FilesMatch "\.(.*sql|ini|svn-base)$|^(misc|tests|configuration|spikes|Entries.*|Repository|Root|Tag|Template|all-wcprops|entries|format)$|^info\.php$">
  Order allow,deny
</FilesMatch>

# No mostra listagem de diretrios para URLs que mapeiam para um diretrio.
Options -Indexes

# Segue links simblicos para diretrios. De outra forma, o Apache teria um
# overhead ao ter que verificar em toda requisio se um dado arquivo 
# diretrio ou link (fazendo chamadas stat).
# @link http://www.ibm.com/developerworks/linux/library/l-tune-lamp-2.html#listing2
Options +FollowSymLinks

# Fora mensagem de erro 404 simples para requisies a favicon.ico inexistente.
<Files favicon.ico>
  # No h fecha-aspa para compatibilidade com Apache 1.3
  ErrorDocument 404 "O arquivo favicon.ico no foi encontrado.
</Files>

# Configura o handler DirectoryIndex padro.
DirectoryIndex index.php index.html index.htm

# PHP 5, Apache 1 e 2.
# error_reporting E_ERROR = 1 (recomendado para produo).
# display_errors em off. Recomenda-se configurar o PHP para fazer logging de
# erros no ambiente de produo. Para desenvolvimento, as diretivas mencionadas
# podem ser liberadas, para um debugging mais fcil.
#
# TODO: configurar short_open_tag para off quando todos os arquivos PHP estiverem
# de acordo com o CS, seguindo a conveno <?php ?>.
#
# @link http://php.net/configuration.changes
<IfModule mod_php5.c>
  php_value memory_limit                64M
  php_value error_reporting             1
  php_flag  display_errors              off
  php_flag  magic_quotes_gpc            off
  php_flag  register_globals            off
  php_flag  session.auto_start          off
  php_flag  short_open_tag              on
</IfModule>

# Desabilita acesso para qualquer arquivo caso o
<IfModule !mod_php5.c>
  Order allow,deny
  Deny from all
</IfModule>


# Configuração desabilitada (uma vez que o ambiente padrão já é production), permitindo definir o ambiente via virtual host.

# Configura o ambiente de execuo do i-Educar (production|development|testing).
# Essa varivel define qual seo de configurao do arquivo
# configuration/ieducar.ini ser carregada pelo arquivo includes/bootstrap.php

# comentado definição (uma vez que o ambiente padrão já é production), permitindo assim definir o ambiente via virtual host.
#SetEnv CORE_EXT_CONFIGURATION_ENV production
