Home Page do Portal
Brasil, um país de todos

Instalando o i-Educar

Índice

  1. Download do software
  2. Criando o banco de dados
    1. Ajustando o search_path
  3. Configurando o PHP
  4. Copiando os arquivos do i-Educar e configurando as permissões
    1. Configurando os parâmetros de acesso ao banco
  5. Acessando a aplicação
  6. Criando um virtual host no Apache 2

Instalar o i-Educar em si é um processo bastante simples. Mas antes de instalar, é importante que os requisitos do sistema estejam satisfeitos:

  • PHP 5.2
    • ext/gd
    • ext/pgsql
    • pecl/pdflib
  • Biblioteca PDFLib
  • Servidor web Apache
  • PostgreSQL 8.2

Observações mais detalhadas destas dependências estão em Pré-requisitos.

Todo o processo de instalação deste guia foi feito no Debian Lenny mas é fácil aplicar os passos em outros sistemas operacionais.

Download do software

Faça o download dos arquivos do sistema antes de prosseguir. A versão atual da família 1.0.X (1.0.2), está disponível em pacotes ZIP e Gzip. Ao descompactar, você terá dois diretórios: intranet/ com os arquivos da aplicação e misc/, onde se encontra o script SQL para a criação do banco de dados.

Criando o banco de dados

Crie o banco de dados ao qual o i-Educar usurá para armazenar todos os dados digitados através da interface web. Os seguintes comandos irão criar:

  • Um usuário ieducaruser no servidor PostgreSQL;
  • Um banco de dados ieducardb com a senha de acesso ieducar.

Observação: você pode usar o nome de usuário, banco de dados e senha que desejar. No i-Educar existe um arquivo onde estes parâmetros de conexão são configurados. Caso decida dar outro nome ao banco de dados, comente a linha 21 do arquivo ieducar.sql com dois hífens.

Faça login no servidor de banco de dados PostgreSQL com o cliente psql:

$ su – postgres
# psql
postgres=#

Crie o usuário de banco de dados que será utilizado pelo i-Educar:

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

Crie o banco de dados:

postgres=# CREATE DATABASE ieducardb WITH TEMPLATE = template0 OWNER = ieducaruser ENCODING = 'LATIN1';

Descompacte o tar.gz do script SQL do banco de dados (dentro do diretório misc/) e faça o restore para criar as tabelas do sistema:

$ cd misc
$ tar xvzf ieducar.sql.tar.gz
$ psql -d ieducardb -f ieducar.sql

Atenção: em algumas plataformas, o restore do banco tem que ser feito no mesmo diretório em que o arquivo sql reside senão o cliente psql mostra um erro FATAL não relacionado com a operação com a tarefa.

Ajustando o search_path

Algumas instalações do i-Educar tiveram o problema de não conseguir fazer o login no sistema após a criação do banco de dados. A mensagem de erro deverá ser semelhante a essa durante o login:

Warning: pg_query() [function.pg-query]: Query failed: ERRO: relação "funcionario" não existe in /var/www/ieducar/intranet/include/clsBancoPgSql.inc.php
on line 191 SQL invalido: SELECT ref_cod_pessoa_fj FROM funcionario WHERE matricula = 'adm' 

Isso pode ter acontecido pelo fato do search_path não ter sido recuperado corretamente durante a importação do arquivo SQL. Primeiro, faça um login no PostgreSQL pelo psql com o usuário ieducaruser e verifique se o seu search_path está como o seguinte:

$ sudo -u postgres psql -U ieducaruser ieducardb
ieducardb=# SHOW search_path;
  search_path   
----------------
"$user", public, portal, cadastro, acesso, alimentos, consistenciacao, historico, pmiacoes, pmicontrolesis, pmidrh, pmieducar, pmiotopic, urbano
(1 row)

Caso não esteja, será necessário configurá-lo corretamente. Ainda no psql, dê o seguinte comando para ajustar o search_path:

$ sudo -u postgres psql -U ieducaruser ieducardb
ieducardb=# ALTER DATABASE ieducardb SET search_path TO "$user", public, portal, cadastro, acesso, alimentos, consistenciacao, historico, pmiacoes, pmicontrolesis, pmidrh, pmieducar, pmiotopic, urbano;

Configurando o PHP

O i-Educar funciona com a configuração padrão do PHP 5. Apenas alguns ajustes são necessários para evitar um mau comportamento da aplicação. Edite o arquivo php.ini ajustando as seguintes diretivas:

  • memory_limit: altere para no mínimo 32M (devido ao gerador de relatórios, em plataformas 64 bit, pode ser necessário aumentar para uma quantidade maior);
    memory_limit = 32M
    
  • error_reporting: altere para E_ALL & ~E_NOTICE para evitar que avisos do nível E_NOTICE (comuns na versão atual), apareçam nas telas quebrando o layout do sistema;
    error_reporting = E_ALL & ~E_NOTICE
    
  • display_errors: altere para Off em produção e deixe On para no seu ambiente de desenvolvimento.
    display_errors = Off
    
  • short_open_tag: altere para On.
    short_open_tag = On
    

Observação: a localização do arquivo php.ini é diferente entre os sistemas operacionais. No Debian/Ubuntu, o padrão é /etc/php[4|5]/apache[!2]/php.ini. Para descobrir onde o arquivo fica em seu sistema operacional, crie um arquivo chamado info.php no diretório raiz do seu servidor web com o seguinte do quadro a seguir, acesse o endereço http://localhost/info.php e procure pela string: "Loaded Configuration File".

<?php phpinfo(); ?>

Após qualquer alteração no arquivo php.ini, reinicie seu servidor web (no nosso caso, o apache2):

# /etc/init.d/apache2 restart

Copiando os arquivos do i-Educar e configurando as permissões

Depois do banco de dados e do PHP configurado, basta copiar os arquivos do i-Educar para o diretório raiz do seu servidor web. No Apache do Debian e Ubuntu, esse diretório geralmente é o /var/www. Descompacte o tar.gz e copie o diretório ieducar para o diretório web.

$ cd /tmp
$ tar xzvf ieducar.tar.gz
$ mv ieducar /var/www/

Existem dois diretórios em que o i-Educar pode gravar arquivos e que precisam de permissão de escrita (usuários Windows não precisam se preocupar com este passo):

  • intranet/pdf
  • intranet/tmp

Ao invés de dar uma permissão 777, mude o grupo do diretório e dê permissão de escrita para o grupo também:

# chown -R ieducar.ieducar /var/www/ieducar
# chgrp www-data /var/www/ieducar/intranet/pdf
# chgrp www-data /var/www/ieducar/intranet/tmp
# chmod 775 /var/www/ieducar/intranet/pdf
# chmod 775 /var/www/ieducar/intranet/tmp

Configurando os parâmetros de acesso ao banco

Caso o nome do seu banco de dados, do usuário de acesso ou a senha diferirem do que foi sugerido no item Criando o banco de dados, você precisa ajustar uma configuração a mais antes de tentar acessar a aplicação. Acesse o arquivo /var/www/ieducar/intranet/include/clsBanco.inc.php e altere o valor das seguintes variáveis:

/*protected*/var $strHost     = "localhost";    // IP do servidor do banco de dados (localhost para banco de dados na mesma máquina)
/*protected*/var $strBanco    = "ieducardb";    // Nome do banco de dados
/*protected*/var $strUsuario  = "ieducaruser";  // Usuário do banco de dados
/*protected*/var $strSenha    = "ieducar";      // Senha do usuário do banco de dados

Acessando a aplicação

Após realizar os passos anteriores, agora basta acessar o endereço http://localhost/ieducar e começar a navegar pela aplicação. Existem dois usuários pré-definidos para o acesso:

  • Usuário adm (senha adm): usuário com privilégios de criação de usuários;
  • Usuário ieducar (senha ieducar): usuário com privilégios de criação de usuários e de uso dos módulos Escola e Biblioteca.

Observação: se você recebeu um erro 403 Forbidden do Apache, é provável o diretório (sub-diretórios e arquivos) da aplicação esteja sem permissão de leitura. Para corrigir este problema rapidamente, execute os seguintes comandos:

// Procura por todos os sub-diretórios e aplica a permissão 755
$ find /var/www/ieducar -type d -exec chmod 755 {} \;
// Procura por todos os arquivos e aplica a permissão 644
$ find /var/www/ieducar -type f -exec chmod 644 {} \;

Criando um virtual host no Apache 2

Este passo não é necessário para o funcionamento do i-Educar mas facilita o acesso a aplicação no ambiente de desenvolvimento, ao permitir o acesso ao i-Educar através de URLs como http://ieducar e http://ieducar.local. Crie um arquivo chamado ieducar.local no diretório /etc/apache2/sites-available/ com o seguinte conteúdo:

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

  <Directory /var/www/ieducar>
    Order deny,allow
    AllowOverride 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 Apache:

# /etc/init.d/apache2 restart

Acesse o endereço http://ieducar.local. Se tudo estiver correto, a tela inicial irá aparecer.