// $Id$

CONTEDO
--------

 * Requisitos
 * Instalao
 * Documentao
 * Suporte tcnico
 * Licena


REQUISITOS
----------

O i-Educar requer um servidor web, PHP 5.2, PostgreSQL 8.2 e a biblioteca PDFLib
(verso Lite ou Commercial). O servidor web Apache 2  recomendado mas qualquer
outro com suporte a PHP pode ser utilizado.

A biblioteca PDFLib Lite tem algumas restries em sua utilizao. Consulte a
licena da biblioteca para ver se o seu uso no cair na necessidade de adquirir
uma licena comercial:
http://www.pdflib.com/products/pdflib-family/pdflib-lite/pdflib-lite-licensing


INSTALAO
----------

1. DOWNLOAD DO SOFTWARE

   Faa o download dos arquivos do sistema antes de prosseguir. A verso atual
   pode ser encontrada em:
   http://www.softwarepublico.gov.br/dotlrn/clubs/ieducar/file-storage/index?folder_id=10855442.
   Descompacte o pacote de sua preferncia no diretrio raiz do seu servidor web
   Apache.

      $ cd /var/www
      $ mkdir ieducar; cd ieducar
      $ tar -xzvf /caminho/pacotes/ieducar-X.X.X.tar.gz


2. CRIE O BANCO DE DADOS

   Crie o banco de dados ao qual o i-Educar usar para armazenar todos os dados
   digitados atravs da interface web. Os passos descritos nessa seo iro
   criar:

      * Um usurio ieducar no servidor PostgreSQL com a senha de acesso ieducar;
      * Um banco de dados ieducar.

   Observao: voc pode usar o nome de usurio, banco de dados e senha que
   desejar. Esses so apenas nomes padres que a aplicao usa para conectar-se
   ao banco.

   Faa login no servidor de banco de dados PostgreSQL com o cliente psql:

      $ su
      # su - postgres
      # psql

   Alternativamente, com o sudo:

      $ sudo -u postgres psql

   Crie o usurio de banco de dados que ser utilizado pelo i-Educar:

      postgres=# CREATE ROLE ieducar;
      postgres=# ALTER ROLE ieducar WITH SUPERUSER INHERIT NOCREATEROLE \
         CREATEDB LOGIN PASSWORD 'ieducar';

   Crie o banco de dados:

      postgres=# CREATE DATABASE ieducar WITH TEMPLATE = template0 \
         OWNER = ieducar ENCODING = 'LATIN1';
      postgres=# \q

   Execute o arquivo ieducar.sql que vem no i-Educar. O diretrio em que esse 
   arquivo reside  o misc/database.

      $ psql -d ieducar -f misc/database/ieducar.sql

   Ateno: em algumas plataformas, o restore do banco pode acabar em um erro
   FATAL. Se isso acontecer, experimente fazer o restore no mesmo diretrio em
   que se encontra o arquivo ieducar.sql.

   Novamente no psql, execute o seguinte comando para configurar o search_path:

      $ psql ieducar
      postgres=# ALTER DATABASE ieducar SET search_path TO "$user", public, \
        portal, cadastro, acesso, alimentos, consistenciacao, historico, \
        pmiacoes, pmicontrolesis, pmidrh, pmieducar, pmiotopic, urbano;
      postgres=# \q;


3. EDITE O ARQUIVO DE CONFIGURAO E CONCEDA PERMISSES DE ESCRITA

   O i-Educar armazena algumas configuraes necessrias para a aplicao em um
   arquivo chamado ieducar.ini (em configuration/), que possui uma sintaxe bem
   simples de entender. Caso tenha criado o banco de dados, nome de usurio ou
   senha com um valor diferente de ieducar, basta editar esse arquivo para que
   corresponda as suas escolhas:

      [production]
      ; Configuraes de banco de dados
      app.database.dbname   = ieducar
      app.database.username = ieducar
      app.database.hostname = localhost
      app.database.password = ieducar
      app.database.port     = 5432

   Exemplo: caso tenha nomeado seu banco de dados com ieducar_db, o usurio com
   ieducar_user e a senha com ieducar_pass, o ieducar.ini ficaria da seguinte
   forma:

      [production]
      ; Configuraes de banco de dados
      app.database.dbname   = ieducar_db
      app.database.username = ieducar_user
      app.database.hostname = localhost
      app.database.password = ieducar_pass
      app.database.port     = 5432

   Depois, conceda permisses de escrita nos diretrios intranet/tmp e
   intranet/pdf. Uma forma prtica  dar permisso de escrita para o usurio
   dono do diretrio e para usurios de um grupo. Nesse caso, mudaremos o grupo
   desses diretrios para o grupo do usurio Apache.

      # chmod 775 intranet/tmp intranet/pdf
      # chgrp www-data intranet/tmp intranet/pdf

   Observao: www-data  o nome do grupo Apache padro em sistemas Debian.
   Em outros sistemas, esse nome pode ser httpd, apache ou _www. Substitua de
   acordo com o usado em seu sistema operacional.


4. CONFIGURE O APACHE OU CRIE UM VIRTUAL HOST

   A partir da verso 1.1.X, o i-Educar inclui, por padro, um arquivo chamado
   .htaccess no diretrio raiz da aplicao. Esse arquivo contm diretivas de
   configurao do servidor Apache que tornam o i-Educar mais seguro.
   Alm disso, esse arquivo configura o PHP corretamente para as necessidades
   da aplicao.

   Para que esse arquivo seja executado a cada requisio,  necessrio
   configurar o Apache para que este execute os arquivos .htaccess ou criar um
   Virtual Host. A primeira opo requer a edio do arquivo
   /etc/apache2/site-available/default. A nica diretiva a ser alterada 
   AllowOverride (linha 11) para All:

        9         <Directory /var/www/>
       10                 Options Indexes FollowSymLinks MultiViews
       11                 AllowOverride All
       12                 Order allow,deny
       13                 allow from all
       14         </Directory>

   Reinicie o servidor Apache:

      $ /etc/init.d/apache2 restart

   A segunda opo requer a criao de um novo arquivo em
   /etc/apache2/sites-available/. Crie um arquivo chamado ieducar.local com o
   seguinte contedo:

      <VirtualHost *:80>
        ServerName ieducar.local
        DocumentRoot /var/www/ieducar

        <Directory /var/www/ieducar>
          AllowOverride all
          Order deny,allow
          Allow from all
        </Directory>
      </VirtualHost>

   Edite o arquivo /etc/hosts (no Windows esse arquivo fica em
   C:\WINDOWS\system32\drivers\etc\hosts) e adicione a seguinte linha:

      127.0.0.1      ieducar.local

   Reinicie o servidor Apache:

      $ /etc/init.d/apache2 restart

   Pronto. Agora, acesse o endereo http://ieducar.local em seu navegador.

   Ateno: configurar o seu servidor Apache (seguindo uma das opes
   apresentadas)  importante para a segurana da aplicao. Assim, evita-se que
   arquivos importantes como o configuration/ieducar.ini e os relatrios gerados
   pela aplicao fiquem publicamente expostos para leitura atravs da Internet.


5. ACESSE A APLICAO

   Abra o navegador de sua preferncia e acesse o endereo
   http://localhost/ieducar ou http://ieducar.local (caso tenha configurado um
   Virtual Host). Faa o login na aplicao utilizando o usurio administrador.
   O login e senha para acesso so admin e admin, respectivamente.


6. CONFIGURE O PHP

   Esse passo  opcional caso tenha configurado o Apache (via AllowOverride ou
   VirtualHost). Edite o arquivo php.ini da seguinte forma:

   * memory_limit: altere para, no mnimo, 32M (devido a gerao de relatrios
   consumir bastante memria, pode ser necessrio aumentar para uma quantidade
   maior em plataformas 64 bits);
      memory_limit = 32M

   * error_reporting: altere para E_ALL & ~E_NOTICE para evitar que avisos do
   nvel E_NOTICE (comuns na verso atual), apaream nas telas quebrando o
   layout do sistema. E_ERROR  o recomendado para ambientes de produo.
      error_reporting = E_ALL & ~E_NOTICE

   * display_errors: altere para Off em produo:
      display_errors = Off

   * short_open_tag: altere para On.
      short_open_tag = On

   Observao: a localizao do arquivo php.ini  diferente entre os sistemas
   operacionais. No Debian/Ubuntu, o padro  /etc/php5/apache2/php.ini. Para
   descobrir onde o arquivo fica em seu sistema operacional, acesse o endereo
   http://localhost/ieducar/info.php e procure por Loaded Configuration File.

   Aps qualquer alterao no arquivo php.ini, reinicie seu servidor web:

      # /etc/init.d/apache2 restart


7. FONTE

   * https://svn.softwarepublico.gov.br/trac/ieducar/wiki/Documentacao/1.1.X/Instalacao


DOCUMENTAO
------------

A documentao oficial do i-Educar est disponvel em wiki:
http://svn.softwarepublico.gov.br/trac/ieducar/wiki

Problemas comuns de instalao podem ser encontrados no FAQ (perguntas
frequentes):
http://svn.softwarepublico.gov.br/trac/ieducar/wiki/Documentacao/FAQ/1.X


SUPORTE TCNICO
---------------

Suporte tcnico pode ser encontrado nos fruns da comunidade i-Educar no Portal
do Software Pblico Brasileiro (requer cadastro):
http://www.softwarepublico.gov.br/dotlrn/clubs/ieducar


LICENA
-------

O i-Educar  um Software Pblico Brasileiro (SPB), livre e licenciado pela
Creative Commons Licena Pblica Geral verso 2 traduzida (CC GNU/GPL 2). Uma
cpia da licena est incluida nesta distribuio no arquivo LICENSE-pt_BR.txt.