SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO DO I-
EDUCAR
Esse manual tem como objetivo final, gerar um artigo contendo o processo de instalação
otimizada do I-educar, de maneira que os erros conhecidos de instalação possam ser excluídos,
minimizando assim o tempo de instalação.
Foi utilizado como base desse manual, as informações de instalação que constam no Portal do
Software Publico Brasileiro, com contribuição de Franklin Ribeiro de Jesus e Marcus Paulo de Q.
Amorim, através de instalação e testes em vários sistemas diferentes.
Pré-requisitos
Índice
1. PHP e Apache
2. Extensões PHP
3. Biblioteca PDFLib
4. Banco de dados PostgreSQL
O i-Educar é uma aplicação web e depende de alguns outros softwares para o seu funcionamento.
 PHP (versão 5.2 e superiores) com as extensões habilitadas:
o ext/pgsql;
o ext/gd;
o pecl/pdflib.
 Biblioteca PDFLib;
 Servidor web Apache ou outro servidor web que suporte PHP. A documentação assume o uso do
Apache;
 Banco de dados PostgreSQL versão 8.2.19
As notas sobre cada uma das dependências, inclusive com dicas de instalação são explicadas em seguida.
PHP e Apache
As distribuições Linux mais atuais possuem o PHP na versão 5.2 em seus repositórios de pacotes. A
forma mais fácil de instalar o PHP em um Linux é usar o gerenciador de pacotes da distribuição (apt-get
no Debian/Ubuntu, yum no Red Hat/Fedora, entre outros), no Ubuntu 10.10.
# apt-get install php5 php5-pgsql php5-dev php-pear
Para instalar o Apache, com suporte ao PHP, o comando é:
# apt-get install libapache2-mod-php5 apache2-dev
Após instalar o Apache, verifique se a instalação foi bem sucedida ao acessar via navegador o endereço:
http://localhost.
Notas:
 Os pacotes php5-dev e php-pear são necessários para a compilação da extensão pecl/pdflib;
 O pacote apache2-dev é necessário pois o utilitário phpize usado pelo pear/pecl depende dele.
Extensões PHP
No Linux, a instalação das extensões geralmente é facilitada pelos gerenciadores de pacote da sua
distribuição favorita. Para instalar as extensões pgsql e gd no Ubuntu, seria necessário usar o seguinte
comando:
# apt-get install php5-pgsql php5-gd
Após a instalação das extensões, reinicie o Apache.
# /etc/init.d/apache2 restart
A exceção é a extensão pdflib que não faz parte das extensões padrões do PHP. Esta extensão tem
como pré-requisito a biblioteca PDFLib. O procedimento completo de instalação da extensão e da
biblioteca PDFLib podem ser visto a seguir.
Compilando a biblioteca PDFLib no UBUNTU
A biblioteca PDFLib é um dos requisitos para a instalação do I-Educar. É através desta biblioteca
que todos os arquivos em formato PDF são gerados pela aplicação.
Esta biblioteca está disponível em duas versões distintas: a commercial (denominada apenas
PDFLib) e a free software (denominada PDFLib Lite). A PDFLib Lite possui um subconjunto das
funcionalidades da PDFLib e seu código fonte é distribuído para uso nos sistemas operacionais Linux/Unix,
Windows e Mac OS X. Para as necessidades do i-Educar, as funcionalidades da PDFLib Lite são suficientes.
Para uso comercial, deve-se observar as restrições impostas pela licença da biblioteca.
Esse guia é baseado no Ubuntu. Os mesmos passos deverão funcionar em outros sistemas
baseados na distro Debian. Todos os passos devem ser realizados com o usuário root ou com o uso do
comando sudo.
Compilação
Como apenas o código fonte da biblioteca PDFLib Lite é distribuído, é necessário que este seja
compilado. Os utilitários necessários para isso são o make e o GNU C++ Compiler (g++). Para instalá-los,
use o apt-get:
# apt-get install make g++
Feito isso, faça o download do código fonte da biblioteca PDFLib Lite para Linux. Seguindo as
convenções, iremos fazer o download no diretório /usr/src:
# cd /usr/src
# wget http://www.pdflib.com/binaries/PDFlib/704/PDFlib-Lite-7.0.4p4.tar.gz
# tar -xzvf PDFlib-Lite-7.0.4p4.tar.gz
# cd PDFlib-Lite-7.0.4p4
O processo de compilação não passa do uso dos utilitários configure e make:
# ./configure --without-java --without-perl --without-py --without-ruby --without-tcl --without-
PLOP --without-PCOS --without-TET --without-CL
O sumário do comando deverá apresentar o seguinte ao final:
For your convenience, here's a summary of configure's results:
Support for shared libraries: yes
C++ language binding for PDFlib: yes
Java language binding for PDFlib: no
Perl language binding for PDFlib: no
Python language binding for PDFlib: no
Ruby language binding for PDFlib: no
Tcl language binding for PDFlib: no
PDF import library (PDI): no
Large file support: yes
Note: if you purchase the additional PDF import library (PDI)
you can also manipulate existing PDF documents with PDFlib.
The additional block feature can be used to personalize PDF.
See http://www.pdflib.com for details.
Please observe the licensing terms for commercial PDFlib usage.
PDFlib license agreement and purchase order can be found in the doc directory.
Esse comando configure, está desabilitando o suporte para os bindings Java, Perl, Python e Ruby
assim como os produtos PLOP, PCOS e TET da PDFLib Gmbh. As opções completas do configure podem ser
obtidas com ./configure --help.
Para testar o configure antes da compilação, use o make test, após isso, execute o make install:
# make
# make test
# make install
Por padrão, a biblioteca será compilada para uso compartilhado em /usr/local/lib/:
# ls -lh /usr/local/lib/
total 11M
-rw-r--r-- 1 root staff 6,5M Set 8 14:52 libpdf.a
-rw-r--r-- 1 root staff 789 Set 8 14:52 libpdf.la
lrwxrwxrwx 1 root staff 15 Set 8 14:52 libpdf.so -> libpdf.so.6.0.4
lrwxrwxrwx 1 root staff 15 Set 8 14:52 libpdf.so.6 -> libpdf.so.6.0.4
-rw-r--r-- 1 root staff 4,1M Set 8 14:52 libpdf.so.6.0.4
Integrando a biblioteca no PHP
Para integrar a biblioteca PDFLib Lite no PHP, é necessário instalar a extensão PECL (PHP Extension
Community Library) pdflib. A instalação de extensões PECL é bastante simples, pois usa-se o mesmo
sistema de empacotamento do PEAR (PHP Extension and Application Repository).
Para ter o utilitário pecl instalado, é necessário instalar o pacote php5-dev.
# cd
# pecl install pdflib
O PECL irá fazer o download do pacote e perguntará qual o local em que a biblioteca foi instalada. Informe
/usr/local:
# path to pdflib installation? : /usr/local
Ao final da compilação da extensão PECL, a seguinte mensagem aparecerá:
Build process completed successfully
Installing '/usr/lib/php5/20060613+lfs/pdf.so'
install ok: channel://pecl.php.net/pdflib-2.1.8
Pronto! A biblioteca PDFLib foi instalada e já está adicionada no seu arquivo php.ini.
Throubleshooting
Muito provavelmente, você deverá acrescentar em seu arquivo php.ini a seguinte linha:
extension=pdf.so
# nano /etc/php5/apache2/php.ini
Caso a linha não esteja no arquivo, adicione-a no final do arquivo e reinicie o Apache.
Banco de dados PostgreSQL
Compilando o PostgreSQL 8.2 no Debian Lenny
A versão 1.X do i-Educar está homologada para funcionar com o banco de dados PostgreSQL em
sua versão 8.2. Porém, as distribuições Linux mais atuais (como o Debian e o Ubuntu) não possuem mais
suporte a esta versão.
Para instalá-lo, é necessário compilá-lo ou instalar os pacotes pré-compilados de sua distribuição
(não é recomendável pois pode quebrar dependências de sistema). Este guia segue a primeira opção,
então prepare-se para a compilação.
Dependências
Para compilar o PostgreSQL, é necessário resolver algumas dependências:
$ apt-get install gcc g++ zlibc
$ apt-get install libreadline5-dev zlib1g-dev -y
Compilando o PostgreSQL
Faça o download do código fonte do banco (arquivo postgresql-8.2.19.tar.gz) no site do projeto
PostgreSQL e compile o código fonte (observe que os dois últimos comandos devem ser dados como
root). Este guia foi baseado na versão 8.2.19.
$ wget http://ftp.esat.net/mirrors/ftp.postgresql.org/pub/source/v8.2.19/postgresql-8.2.19.tar.gz
$ tar -zvxf postgresql-8.2.19.tar.gz
$ cd postgresql-8.2.19
$ ./configure --prefix=/usr/local/pgsql --without-readline
$ make
# make install
# cp /usr/local/pgsql/bin/* /usr/bin
Criando o usuário postgres e criando o cluster
Crie o usuário postgres (o super usuário do banco de dados).
# adduser postgres
Cadastre uma senha e preencha as informações do usuário. Depois confirme as informações.
Crie o diretório do cluster e dê posse para o usuário postgres recém criado:
# mkdir /usr/local/pgsql/data
# chown postgres /usr/local/pgsql/data -v
Inicie o cluster:
# su - postgres
$ cd /usr/local/pgsql/
$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
Teste se o PostgreSQL está realmente funcionando:
$ /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
Se o Postgresql estiver realmente funcionando, algo parecido com o trecho abaixo será exibido
LOG: database system was shut down at 2009-08-04 09:02:16 BRT
LOG: checkpoint record is at 0/42C424
LOG: redo record is at 0/42C424; undo record is at 0/0; shutdown TRUE
LOG: next transaction ID: 0/593; next OID: 10820
LOG: next MultiXactId: 1; next MultiXactOffset: 0
LOG: database system is ready
Para poder parar este último comando, utilize o atalho CTRL+C.
Deslogue do usuário postgres e retorne ao usuário root apenas com o comando exit.
Copie o script de inicialização do PostgreSQL (está no diretório em que você descompactou o tar.gz).
Este comando irá facilitar as ações de iniciar, parar e reiniciar o banco:
# cd postgresql-8.2.19
# cp contrib/start-scripts/linux /etc/init.d/postgresql
# chmod +x /etc/init.d/postgresql
Ative a capacidade a conexões TCP/IP no próprio script de inicialização: Escolha uma das duas
formas de editores apresentadas abaixo
Para usar o editor nano (editor via terminal)
# nano /etc/init.d/postgresql
se quiser usar o gedit (editor gráfico)
# gedit /etc/init.d/postgresql
Altere as seguintes linhas:
echo -n "Starting PostgreSQL: "
su - $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1
Para:
echo -n "Starting PostgreSQL: "
su - $PGUSER -c "$DAEMON -i -D '$PGDATA' &" >>$PGLOG 2>&1
Atencão: observe que apenas foi acrescentado o parâmetro -i antes do -D.
Para verificar se o PostgreSQL está rodando na portão padrão, utilize o comando netstat:
# netstat -avnp |grep 5432
O resultado esperado deverá ser próximo de:
netstat: no support for `AF IPX' on this system.
netstat: no support for `AF AX25' on this system.
netstat: no support for `AF X25' on this system.
netstat: no support for `AF NETROM' on this system.
Como o postgresql está sendo compilado, ele não é iniciado automaticamente ao se iniciar o sistema.
Utilizaremos os comandos abaixo para resolver esse problema.
# cd /etc/init.d
# chmod 775 postegresql
Isso dará as permissões necessárias para o arquivo ser executado.
Após ter feito isso, utilize o seguinte comando:
# update-rc.d postgresql defaults
Isso atualizará os diretórios rc.d, adicionando seu script na inicialização do sistema.
Start o postgresql:
# /etc/init.d/postgresql start
Comandos básicos do PostgreSQL
Iniciar
# /etc/init.d/postgresql start
Parar
# /etc/init.d/postgresql stop
Reiniciar
# /etc/init.d/postgresql restart
Verificar status
# /etc/init.d/postgresql status
Instalando o i-Educar
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
o ext/gd
o ext/pgsql
o pecl/pdflib
 Biblioteca PDFLib
 Servidor web Apache
 PostgreSQL 8.2.19
Download do software
Faça o download dos arquivos do sistema antes de prosseguir. A versão atual da família 1.1.0, 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.
Crie uma pasta ieducar em /var/www e dê as devidas permissões.
# chmod 777 –R /var/www
# mkdir /var/www/ieducar
# chmod 777 –R /var/www/ieducar
Faça o login no Portal do Software Público Brasileiro (www.softwarepublico.gov.br) e baixe o ieducar
na pasta /var/www/ieducar. Descompacte o arquivo baixado e depois mova todo o conteúdo da pasta
ieducar-1.1.0 que foi criada depois de descompactar para pasta /var/www/ieducar/.
# cd /var/www/ieducar
# tar –xzvf ieducar-1.1.0.tar.gz
# cd ieducar-1.1.0
# mv * /var/www/ieducar/
Também pode ser feito via terminal. Após fazer o login no site, digite no terminal:
# cd /var/www/ieducar
# wget http://softwarepublico.gov.br/file/21983010/ieducar-1.1.0.tar.gz
# tar –xzvf ieducar-1.1.0.tar.gz
# cd ieducar-1.1.0
# mv * /var/www/ieducar/
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';
postgres=#q
postgres@usuario:~$ exit
Faça o restore para criar as tabelas do sistema:
$ sudo –u postgres psql -d ieducardb -f /var/www/ieducar/misc/database/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:
ieducardb=# ALTER DATABASE ieducardb SET search_path TO "$user", public, portal, cadastro,
acesso, alimentos, consistenciacao, historico, pmiacoes, pmicontrolesis, pmidrh, pmieducar,
pmiotopic, urbano;
ieducardb=#q
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:
# nano /etc/php5/apache2/php.ini
 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
Após qualquer alteração no arquivo php.ini, reinicie seu servidor web (no nosso caso, o apache2):
# /etc/init.d/apache2 restart
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:
# 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
anteriormente, você precisa ajustar uma configuração a mais antes de tentar acessar a aplicação. Acesse
e edite o arquivo clsBanco.inc.php.
# nano /var/www/ieducar/intranet/include/clsBanco.inc.php
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
/*protected*/var $strPort = 5432; // Senha do usuário do banco de dados
Altere também o arquivo ieducar.ini.
# nano /var/www/ieducar/configuration/ieducar.ini
Altere o valor das seguintes variáveis:
app.database.dbname = ieducardb
app.database.username = ieducaruser
app.database.hostname = localhost
app.database.password = ieducar
app.database.port = 5432
Acessando a aplicação
Após realizar os passos anteriores, basta acessar o endereço http://localhost/ieducar e começar a
navegar pela aplicação.
 Usuário admin (senha admin): usuário com privilégios de criação de usuários;
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:WINDOWSsystem32driversetchosts) 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.
Em alguns casos, é provável acontecer algum erro ao cadastrar a foto do aluno.
Nesses casos, execute o procedimento abaixo:
Crie uma pasta chamada aluno dentro do diretório /var/www/ieducar/intranet/arquivos/educar.
Mova as pastas(big, original e small) que se encontram no diretório educar para a nova pasta
criada(aluno).
# cd /var/www/ieducar/intranet/arquivos/educar
# mkdir aluno
# mv small original big aluno
Esse é o caminho correto definido no código onde a imagem cadastrada será salva.
Também, e necessário modificar as permissões da pasta "aluno" sendo a pasta recem criada, a permissão
normalmente utilizada e a "775", assim pode-se ser resolvido o problema da foto do aluno.
# chmod 775 aluno
18/08/2011
Elaboração: Marcus Paulo de Q. Amorim
Contribuição: Franklim Ribeiro de Jesus
Portal do Software Público Brasileiro

Mais conteúdo relacionado

Mais procurados

Introdução aos Serviços de Rede
Introdução aos Serviços de RedeIntrodução aos Serviços de Rede
Introdução aos Serviços de RedeNatanael Simões
 
Memória Interna - Arquitetura e Organização de Computadores
Memória Interna - Arquitetura e Organização de ComputadoresMemória Interna - Arquitetura e Organização de Computadores
Memória Interna - Arquitetura e Organização de ComputadoresWellington Oliveira
 
50 questoes de informatica basica
50 questoes de informatica basica50 questoes de informatica basica
50 questoes de informatica basicaFernanda Firmino
 
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)Leinylson Fontinele
 
Informatica Basica
Informatica BasicaInformatica Basica
Informatica Basicaguestc7cb447
 
COMO ESTUDAR E SE SAIR BEM NA ESCOLA?
COMO ESTUDAR E SE SAIR BEM NA ESCOLA?COMO ESTUDAR E SE SAIR BEM NA ESCOLA?
COMO ESTUDAR E SE SAIR BEM NA ESCOLA?Isabel Aguiar
 
Inteligência Artificial
Inteligência ArtificialInteligência Artificial
Inteligência ArtificialNEO Empresarial
 
Aula 3 barramentos de placa mae
Aula 3 barramentos de placa maeAula 3 barramentos de placa mae
Aula 3 barramentos de placa maeMarcos Basilio
 
Dicas para estudar melhor
Dicas para estudar melhorDicas para estudar melhor
Dicas para estudar melhordeobarroso
 
Prova informatica - nivel c
Prova  informatica - nivel cProva  informatica - nivel c
Prova informatica - nivel cLucianoLLC
 

Mais procurados (20)

Introdução aos Serviços de Rede
Introdução aos Serviços de RedeIntrodução aos Serviços de Rede
Introdução aos Serviços de Rede
 
Memória Interna - Arquitetura e Organização de Computadores
Memória Interna - Arquitetura e Organização de ComputadoresMemória Interna - Arquitetura e Organização de Computadores
Memória Interna - Arquitetura e Organização de Computadores
 
50 questoes de informatica basica
50 questoes de informatica basica50 questoes de informatica basica
50 questoes de informatica basica
 
Aula- Virtualização
Aula- VirtualizaçãoAula- Virtualização
Aula- Virtualização
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Aula 12 - Processador
Aula 12 - ProcessadorAula 12 - Processador
Aula 12 - Processador
 
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
 
Placa mãe
Placa mãePlaca mãe
Placa mãe
 
Habitos de estudos
Habitos de estudosHabitos de estudos
Habitos de estudos
 
Informatica Basica
Informatica BasicaInformatica Basica
Informatica Basica
 
COMO ESTUDAR E SE SAIR BEM NA ESCOLA?
COMO ESTUDAR E SE SAIR BEM NA ESCOLA?COMO ESTUDAR E SE SAIR BEM NA ESCOLA?
COMO ESTUDAR E SE SAIR BEM NA ESCOLA?
 
Inteligência Artificial
Inteligência ArtificialInteligência Artificial
Inteligência Artificial
 
Internet das Coisas
Internet das CoisasInternet das Coisas
Internet das Coisas
 
Aula 3 barramentos de placa mae
Aula 3 barramentos de placa maeAula 3 barramentos de placa mae
Aula 3 barramentos de placa mae
 
Virtualização
VirtualizaçãoVirtualização
Virtualização
 
Dicas para estudar melhor
Dicas para estudar melhorDicas para estudar melhor
Dicas para estudar melhor
 
Informática Básica - Aula 03 - Hardware
Informática Básica - Aula 03 - HardwareInformática Básica - Aula 03 - Hardware
Informática Básica - Aula 03 - Hardware
 
Topologia de Redes
Topologia de RedesTopologia de Redes
Topologia de Redes
 
Slide disco rigido
Slide disco rigidoSlide disco rigido
Slide disco rigido
 
Prova informatica - nivel c
Prova  informatica - nivel cProva  informatica - nivel c
Prova informatica - nivel c
 

Semelhante a Instalação do I-Educar

Apache2+PHP5+PostgreSQL no Linux
Apache2+PHP5+PostgreSQL no LinuxApache2+PHP5+PostgreSQL no Linux
Apache2+PHP5+PostgreSQL no LinuxVictor Eloy
 
Instalação do asterisk
Instalação do asteriskInstalação do asterisk
Instalação do asteriskVicente Nobre
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizadosThiago Rodrigues
 
Instalação de Aplicativos Linux
Instalação de Aplicativos LinuxInstalação de Aplicativos Linux
Instalação de Aplicativos LinuxWellington Oliveira
 
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...Danilo Ricardo
 
Project HA
Project HAProject HA
Project HAKarpv
 
Ubuntu linux - Apt-GET
Ubuntu linux - Apt-GETUbuntu linux - Apt-GET
Ubuntu linux - Apt-GETRoney Sousa
 
Gerenciamento de Pacotes no Linux
Gerenciamento de Pacotes no LinuxGerenciamento de Pacotes no Linux
Gerenciamento de Pacotes no LinuxElexsandro Rangel
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebIsrael Messias
 
Configurando ambiente ltsp_4.2_com_mt1000_lx_ta2000lx
Configurando ambiente ltsp_4.2_com_mt1000_lx_ta2000lxConfigurando ambiente ltsp_4.2_com_mt1000_lx_ta2000lx
Configurando ambiente ltsp_4.2_com_mt1000_lx_ta2000lxjrrsouzaj
 
Lab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenvLab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenvPedro Fernandes Vieira
 
Sistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando ProgramasSistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando ProgramasLuiz Arthur
 
Segurança da Informação - Firewall OpenBSD PF
Segurança da Informação - Firewall OpenBSD PFSegurança da Informação - Firewall OpenBSD PF
Segurança da Informação - Firewall OpenBSD PFLuiz Arthur
 
Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory gigadrop
 
CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1Norivan Oliveira
 
Linux - Instalação de Programas
Linux - Instalação de ProgramasLinux - Instalação de Programas
Linux - Instalação de Programasguest407a9
 

Semelhante a Instalação do I-Educar (20)

Apache2+PHP5+PostgreSQL no Linux
Apache2+PHP5+PostgreSQL no LinuxApache2+PHP5+PostgreSQL no Linux
Apache2+PHP5+PostgreSQL no Linux
 
Instalação do asterisk
Instalação do asteriskInstalação do asterisk
Instalação do asterisk
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizados
 
Instalação de Aplicativos Linux
Instalação de Aplicativos LinuxInstalação de Aplicativos Linux
Instalação de Aplicativos Linux
 
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
 
Project HA
Project HAProject HA
Project HA
 
Pacotes
PacotesPacotes
Pacotes
 
Iptables layer7
Iptables layer7Iptables layer7
Iptables layer7
 
Ubuntu linux - Apt-GET
Ubuntu linux - Apt-GETUbuntu linux - Apt-GET
Ubuntu linux - Apt-GET
 
MigraçãO
MigraçãOMigraçãO
MigraçãO
 
Gerenciamento de Pacotes no Linux
Gerenciamento de Pacotes no LinuxGerenciamento de Pacotes no Linux
Gerenciamento de Pacotes no Linux
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente Web
 
Configurando ambiente ltsp_4.2_com_mt1000_lx_ta2000lx
Configurando ambiente ltsp_4.2_com_mt1000_lx_ta2000lxConfigurando ambiente ltsp_4.2_com_mt1000_lx_ta2000lx
Configurando ambiente ltsp_4.2_com_mt1000_lx_ta2000lx
 
Lab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenvLab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenv
 
Iniciando com django
Iniciando com djangoIniciando com django
Iniciando com django
 
Sistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando ProgramasSistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando Programas
 
Segurança da Informação - Firewall OpenBSD PF
Segurança da Informação - Firewall OpenBSD PFSegurança da Informação - Firewall OpenBSD PF
Segurança da Informação - Firewall OpenBSD PF
 
Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory
 
CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1
 
Linux - Instalação de Programas
Linux - Instalação de ProgramasLinux - Instalação de Programas
Linux - Instalação de Programas
 

Instalação do I-Educar

  • 1. MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO DO I- EDUCAR Esse manual tem como objetivo final, gerar um artigo contendo o processo de instalação otimizada do I-educar, de maneira que os erros conhecidos de instalação possam ser excluídos, minimizando assim o tempo de instalação. Foi utilizado como base desse manual, as informações de instalação que constam no Portal do Software Publico Brasileiro, com contribuição de Franklin Ribeiro de Jesus e Marcus Paulo de Q. Amorim, através de instalação e testes em vários sistemas diferentes. Pré-requisitos Índice 1. PHP e Apache 2. Extensões PHP 3. Biblioteca PDFLib 4. Banco de dados PostgreSQL O i-Educar é uma aplicação web e depende de alguns outros softwares para o seu funcionamento.  PHP (versão 5.2 e superiores) com as extensões habilitadas: o ext/pgsql; o ext/gd; o pecl/pdflib.  Biblioteca PDFLib;  Servidor web Apache ou outro servidor web que suporte PHP. A documentação assume o uso do Apache;  Banco de dados PostgreSQL versão 8.2.19 As notas sobre cada uma das dependências, inclusive com dicas de instalação são explicadas em seguida. PHP e Apache As distribuições Linux mais atuais possuem o PHP na versão 5.2 em seus repositórios de pacotes. A forma mais fácil de instalar o PHP em um Linux é usar o gerenciador de pacotes da distribuição (apt-get no Debian/Ubuntu, yum no Red Hat/Fedora, entre outros), no Ubuntu 10.10. # apt-get install php5 php5-pgsql php5-dev php-pear Para instalar o Apache, com suporte ao PHP, o comando é: # apt-get install libapache2-mod-php5 apache2-dev
  • 2. Após instalar o Apache, verifique se a instalação foi bem sucedida ao acessar via navegador o endereço: http://localhost. Notas:  Os pacotes php5-dev e php-pear são necessários para a compilação da extensão pecl/pdflib;  O pacote apache2-dev é necessário pois o utilitário phpize usado pelo pear/pecl depende dele. Extensões PHP No Linux, a instalação das extensões geralmente é facilitada pelos gerenciadores de pacote da sua distribuição favorita. Para instalar as extensões pgsql e gd no Ubuntu, seria necessário usar o seguinte comando: # apt-get install php5-pgsql php5-gd Após a instalação das extensões, reinicie o Apache. # /etc/init.d/apache2 restart A exceção é a extensão pdflib que não faz parte das extensões padrões do PHP. Esta extensão tem como pré-requisito a biblioteca PDFLib. O procedimento completo de instalação da extensão e da biblioteca PDFLib podem ser visto a seguir. Compilando a biblioteca PDFLib no UBUNTU A biblioteca PDFLib é um dos requisitos para a instalação do I-Educar. É através desta biblioteca que todos os arquivos em formato PDF são gerados pela aplicação. Esta biblioteca está disponível em duas versões distintas: a commercial (denominada apenas PDFLib) e a free software (denominada PDFLib Lite). A PDFLib Lite possui um subconjunto das funcionalidades da PDFLib e seu código fonte é distribuído para uso nos sistemas operacionais Linux/Unix, Windows e Mac OS X. Para as necessidades do i-Educar, as funcionalidades da PDFLib Lite são suficientes. Para uso comercial, deve-se observar as restrições impostas pela licença da biblioteca. Esse guia é baseado no Ubuntu. Os mesmos passos deverão funcionar em outros sistemas baseados na distro Debian. Todos os passos devem ser realizados com o usuário root ou com o uso do comando sudo. Compilação Como apenas o código fonte da biblioteca PDFLib Lite é distribuído, é necessário que este seja compilado. Os utilitários necessários para isso são o make e o GNU C++ Compiler (g++). Para instalá-los, use o apt-get: # apt-get install make g++
  • 3. Feito isso, faça o download do código fonte da biblioteca PDFLib Lite para Linux. Seguindo as convenções, iremos fazer o download no diretório /usr/src: # cd /usr/src # wget http://www.pdflib.com/binaries/PDFlib/704/PDFlib-Lite-7.0.4p4.tar.gz # tar -xzvf PDFlib-Lite-7.0.4p4.tar.gz # cd PDFlib-Lite-7.0.4p4 O processo de compilação não passa do uso dos utilitários configure e make: # ./configure --without-java --without-perl --without-py --without-ruby --without-tcl --without- PLOP --without-PCOS --without-TET --without-CL O sumário do comando deverá apresentar o seguinte ao final: For your convenience, here's a summary of configure's results: Support for shared libraries: yes C++ language binding for PDFlib: yes Java language binding for PDFlib: no Perl language binding for PDFlib: no Python language binding for PDFlib: no Ruby language binding for PDFlib: no Tcl language binding for PDFlib: no PDF import library (PDI): no Large file support: yes Note: if you purchase the additional PDF import library (PDI) you can also manipulate existing PDF documents with PDFlib. The additional block feature can be used to personalize PDF. See http://www.pdflib.com for details. Please observe the licensing terms for commercial PDFlib usage. PDFlib license agreement and purchase order can be found in the doc directory. Esse comando configure, está desabilitando o suporte para os bindings Java, Perl, Python e Ruby assim como os produtos PLOP, PCOS e TET da PDFLib Gmbh. As opções completas do configure podem ser obtidas com ./configure --help. Para testar o configure antes da compilação, use o make test, após isso, execute o make install: # make # make test # make install Por padrão, a biblioteca será compilada para uso compartilhado em /usr/local/lib/: # ls -lh /usr/local/lib/ total 11M -rw-r--r-- 1 root staff 6,5M Set 8 14:52 libpdf.a -rw-r--r-- 1 root staff 789 Set 8 14:52 libpdf.la lrwxrwxrwx 1 root staff 15 Set 8 14:52 libpdf.so -> libpdf.so.6.0.4 lrwxrwxrwx 1 root staff 15 Set 8 14:52 libpdf.so.6 -> libpdf.so.6.0.4 -rw-r--r-- 1 root staff 4,1M Set 8 14:52 libpdf.so.6.0.4 Integrando a biblioteca no PHP
  • 4. Para integrar a biblioteca PDFLib Lite no PHP, é necessário instalar a extensão PECL (PHP Extension Community Library) pdflib. A instalação de extensões PECL é bastante simples, pois usa-se o mesmo sistema de empacotamento do PEAR (PHP Extension and Application Repository). Para ter o utilitário pecl instalado, é necessário instalar o pacote php5-dev. # cd # pecl install pdflib O PECL irá fazer o download do pacote e perguntará qual o local em que a biblioteca foi instalada. Informe /usr/local: # path to pdflib installation? : /usr/local Ao final da compilação da extensão PECL, a seguinte mensagem aparecerá: Build process completed successfully Installing '/usr/lib/php5/20060613+lfs/pdf.so' install ok: channel://pecl.php.net/pdflib-2.1.8 Pronto! A biblioteca PDFLib foi instalada e já está adicionada no seu arquivo php.ini. Throubleshooting Muito provavelmente, você deverá acrescentar em seu arquivo php.ini a seguinte linha: extension=pdf.so # nano /etc/php5/apache2/php.ini Caso a linha não esteja no arquivo, adicione-a no final do arquivo e reinicie o Apache. Banco de dados PostgreSQL Compilando o PostgreSQL 8.2 no Debian Lenny A versão 1.X do i-Educar está homologada para funcionar com o banco de dados PostgreSQL em sua versão 8.2. Porém, as distribuições Linux mais atuais (como o Debian e o Ubuntu) não possuem mais suporte a esta versão. Para instalá-lo, é necessário compilá-lo ou instalar os pacotes pré-compilados de sua distribuição (não é recomendável pois pode quebrar dependências de sistema). Este guia segue a primeira opção, então prepare-se para a compilação. Dependências Para compilar o PostgreSQL, é necessário resolver algumas dependências: $ apt-get install gcc g++ zlibc $ apt-get install libreadline5-dev zlib1g-dev -y Compilando o PostgreSQL Faça o download do código fonte do banco (arquivo postgresql-8.2.19.tar.gz) no site do projeto PostgreSQL e compile o código fonte (observe que os dois últimos comandos devem ser dados como root). Este guia foi baseado na versão 8.2.19. $ wget http://ftp.esat.net/mirrors/ftp.postgresql.org/pub/source/v8.2.19/postgresql-8.2.19.tar.gz
  • 5. $ tar -zvxf postgresql-8.2.19.tar.gz $ cd postgresql-8.2.19 $ ./configure --prefix=/usr/local/pgsql --without-readline $ make # make install # cp /usr/local/pgsql/bin/* /usr/bin Criando o usuário postgres e criando o cluster Crie o usuário postgres (o super usuário do banco de dados). # adduser postgres Cadastre uma senha e preencha as informações do usuário. Depois confirme as informações. Crie o diretório do cluster e dê posse para o usuário postgres recém criado: # mkdir /usr/local/pgsql/data # chown postgres /usr/local/pgsql/data -v Inicie o cluster: # su - postgres $ cd /usr/local/pgsql/ $ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data Teste se o PostgreSQL está realmente funcionando: $ /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data Se o Postgresql estiver realmente funcionando, algo parecido com o trecho abaixo será exibido LOG: database system was shut down at 2009-08-04 09:02:16 BRT LOG: checkpoint record is at 0/42C424 LOG: redo record is at 0/42C424; undo record is at 0/0; shutdown TRUE LOG: next transaction ID: 0/593; next OID: 10820 LOG: next MultiXactId: 1; next MultiXactOffset: 0 LOG: database system is ready Para poder parar este último comando, utilize o atalho CTRL+C. Deslogue do usuário postgres e retorne ao usuário root apenas com o comando exit. Copie o script de inicialização do PostgreSQL (está no diretório em que você descompactou o tar.gz). Este comando irá facilitar as ações de iniciar, parar e reiniciar o banco: # cd postgresql-8.2.19 # cp contrib/start-scripts/linux /etc/init.d/postgresql # chmod +x /etc/init.d/postgresql Ative a capacidade a conexões TCP/IP no próprio script de inicialização: Escolha uma das duas formas de editores apresentadas abaixo Para usar o editor nano (editor via terminal) # nano /etc/init.d/postgresql se quiser usar o gedit (editor gráfico)
  • 6. # gedit /etc/init.d/postgresql Altere as seguintes linhas: echo -n "Starting PostgreSQL: " su - $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1 Para: echo -n "Starting PostgreSQL: " su - $PGUSER -c "$DAEMON -i -D '$PGDATA' &" >>$PGLOG 2>&1 Atencão: observe que apenas foi acrescentado o parâmetro -i antes do -D. Para verificar se o PostgreSQL está rodando na portão padrão, utilize o comando netstat: # netstat -avnp |grep 5432 O resultado esperado deverá ser próximo de: netstat: no support for `AF IPX' on this system. netstat: no support for `AF AX25' on this system. netstat: no support for `AF X25' on this system. netstat: no support for `AF NETROM' on this system. Como o postgresql está sendo compilado, ele não é iniciado automaticamente ao se iniciar o sistema. Utilizaremos os comandos abaixo para resolver esse problema. # cd /etc/init.d # chmod 775 postegresql Isso dará as permissões necessárias para o arquivo ser executado. Após ter feito isso, utilize o seguinte comando: # update-rc.d postgresql defaults Isso atualizará os diretórios rc.d, adicionando seu script na inicialização do sistema. Start o postgresql: # /etc/init.d/postgresql start Comandos básicos do PostgreSQL Iniciar # /etc/init.d/postgresql start Parar # /etc/init.d/postgresql stop
  • 7. Reiniciar # /etc/init.d/postgresql restart Verificar status # /etc/init.d/postgresql status Instalando o i-Educar 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 o ext/gd o ext/pgsql o pecl/pdflib  Biblioteca PDFLib  Servidor web Apache  PostgreSQL 8.2.19 Download do software Faça o download dos arquivos do sistema antes de prosseguir. A versão atual da família 1.1.0, 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. Crie uma pasta ieducar em /var/www e dê as devidas permissões. # chmod 777 –R /var/www # mkdir /var/www/ieducar # chmod 777 –R /var/www/ieducar Faça o login no Portal do Software Público Brasileiro (www.softwarepublico.gov.br) e baixe o ieducar na pasta /var/www/ieducar. Descompacte o arquivo baixado e depois mova todo o conteúdo da pasta ieducar-1.1.0 que foi criada depois de descompactar para pasta /var/www/ieducar/. # cd /var/www/ieducar # tar –xzvf ieducar-1.1.0.tar.gz # cd ieducar-1.1.0 # mv * /var/www/ieducar/ Também pode ser feito via terminal. Após fazer o login no site, digite no terminal: # cd /var/www/ieducar # wget http://softwarepublico.gov.br/file/21983010/ieducar-1.1.0.tar.gz
  • 8. # tar –xzvf ieducar-1.1.0.tar.gz # cd ieducar-1.1.0 # mv * /var/www/ieducar/ 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'; postgres=#q postgres@usuario:~$ exit Faça o restore para criar as tabelas do sistema: $ sudo –u postgres psql -d ieducardb -f /var/www/ieducar/misc/database/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'
  • 9. 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: ieducardb=# ALTER DATABASE ieducardb SET search_path TO "$user", public, portal, cadastro, acesso, alimentos, consistenciacao, historico, pmiacoes, pmicontrolesis, pmidrh, pmieducar, pmiotopic, urbano; ieducardb=#q 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: # nano /etc/php5/apache2/php.ini  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 Após qualquer alteração no arquivo php.ini, reinicie seu servidor web (no nosso caso, o apache2): # /etc/init.d/apache2 restart 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):
  • 10.  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: # 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 anteriormente, você precisa ajustar uma configuração a mais antes de tentar acessar a aplicação. Acesse e edite o arquivo clsBanco.inc.php. # nano /var/www/ieducar/intranet/include/clsBanco.inc.php 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 /*protected*/var $strPort = 5432; // Senha do usuário do banco de dados Altere também o arquivo ieducar.ini. # nano /var/www/ieducar/configuration/ieducar.ini Altere o valor das seguintes variáveis: app.database.dbname = ieducardb app.database.username = ieducaruser app.database.hostname = localhost app.database.password = ieducar app.database.port = 5432 Acessando a aplicação Após realizar os passos anteriores, basta acessar o endereço http://localhost/ieducar e começar a navegar pela aplicação.  Usuário admin (senha admin): usuário com privilégios de criação de usuários; 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:
  • 11. // 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:WINDOWSsystem32driversetchosts) 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. Em alguns casos, é provável acontecer algum erro ao cadastrar a foto do aluno. Nesses casos, execute o procedimento abaixo: Crie uma pasta chamada aluno dentro do diretório /var/www/ieducar/intranet/arquivos/educar. Mova as pastas(big, original e small) que se encontram no diretório educar para a nova pasta criada(aluno). # cd /var/www/ieducar/intranet/arquivos/educar # mkdir aluno # mv small original big aluno Esse é o caminho correto definido no código onde a imagem cadastrada será salva. Também, e necessário modificar as permissões da pasta "aluno" sendo a pasta recem criada, a permissão normalmente utilizada e a "775", assim pode-se ser resolvido o problema da foto do aluno. # chmod 775 aluno
  • 12. 18/08/2011 Elaboração: Marcus Paulo de Q. Amorim Contribuição: Franklim Ribeiro de Jesus Portal do Software Público Brasileiro