manual instalacao linux 1 0 x Page History
Instalando o i-Educar
Atenção: este artigo foi migrado do antigo Portal do SPB e pode estar desatualizado, isso significa que pode ter algumas
informações que não se aplicam mais. Caso tenha alguma dúvida ou sugestão, acesse a Home desta wiki, onde tem um link
apontando para um espaço que foi reservado para isto.
- Download do software
- Criando o banco de dados
- Configurando o PHP
- Copiando os arquivos do i-Educar e configurando as permissões
- Acessando a aplicação
- 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 usará 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".
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:
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.