Mudanças entre as edições de "Instalação da versão 2.05"

De IBICT
Ir para: navegação, pesquisa
(PHP)
(Adequando)
 
(84 edições intermediárias de um usuário não apresentadas)
Linha 68: Linha 68:
  
 
{{Advert|O Software TEDE suporta até o '''PHP versão 4''', há diversos problemas de compatibilidade com a versão 5}}
 
{{Advert|O Software TEDE suporta até o '''PHP versão 4''', há diversos problemas de compatibilidade com a versão 5}}
 +
 +
==== Requisitos de Hardware ====
 +
 +
* Espaço para o armazenamento dos documentos, considerando o tamanho médio de uma tese ou dissertação é de 5Mb. Esta configuração seria suficiente para o armazenamento de 1000 teses e utilização simultânea para 100 usuários em uma conexão dedicada de 2Mb/s. Nesse cálculo levou-se em consideração os arquivos, registros e índices do banco de dados. O dimensionamento do hardware deve levar em conta a expectativa de crescimento da biblioteca digital em cada instituição.
 +
 +
 +
{| class="prettytable" border=1
 +
|-
 +
|
 +
<center>Nº de teses</center>
 +
 +
|
 +
<center>Espaço</center>
 +
 +
|-
 +
|
 +
100
 +
 +
|
 +
<center>500Mb</center>
 +
 +
|-
 +
|
 +
500
 +
 +
|
 +
<center>2.5Gb</center>
 +
 +
|-
 +
|
 +
1000
 +
 +
|
 +
<center>5Gb</center>
 +
 +
|}
  
 
=== Procedimentos para instalação dos ''softwares'' ===
 
=== Procedimentos para instalação dos ''softwares'' ===
Linha 124: Linha 160:
 
==== Apache ====
 
==== Apache ====
  
===== Obtendo o Apache =====
+
===== Bibliotecas necessárias =====
  
Site para obter o código fonte do Apache: http://archive.apache.org/dist/httpd/binaries/linux/
+
É importante que se instale algumas bibliotecas adicionais ao sistema.  Na distribuição Debian, isso pode ser feito com:
  
===== Instalando o Apache =====
+
<pre>apt-get install libapr1-dev libaprutil1-dev</pre>
  
Para Instalar o Apache em instalação Linux-Debian é necessário executar o seguinte comando:
+
===== Obtendo o Apache =====
  
<pre>apt-get install apache2</pre>
+
Site para obter o código fonte do Apache: http://ftp.unicamp.br/pub/apache/httpd/httpd-2.4.6.tar.gz
  
==== PHP ====
+
===== Instalando o Apache =====
  
===== Obtendo o PHP4 =====
 
 
O arquivo fonte do PHP4 pode ser obtido no link http://www.php.net/releases/
 
 
===== Instalando =====
 
 
Descompactando o programa:
 
Descompactando o programa:
<pre>tar -zxvf php-version.tar.gz</pre>
 
  
Mudando a permissão da pasta:
+
<pre>tar -zxvf httpd-version.tar.gz</pre>
<pre>chown -R root:root php-version</pre>
+
  
''
+
Dentro da pasta '''httpd-version''' execute a configuração da instalação:
* Configurando
+
** cd php-4.3.4
+
** ./configure --with-mysql=/usr/local/mysql --with-xml&nbsp;--enable-track-vars&nbsp;--with-apache=../apache_1.3.29&nbsp;--enable-versioning&nbsp;--enable-url-includes''
+
  
''
+
<pre>./configure \
* Compilando
+
--prefix=/usr/local/apache \
**  Make
+
--enable-shared=max \
** make install
+
--enable-module=rewrite \
**:# '''Adequando'''
+
--enable-module=so </pre>
* Copiando arquivos de configuração
+
** cp libs/libphp4.a ../apache_1.3.29/src/modules/php4/
+
** cp <nowiki>php.in</nowiki>i-recommended /etc<nowiki>/php.in</nowiki>i
+
* Alterando Arquivos
+
** vi /etc<nowiki>/php.in</nowiki>i
+
** Altere o valora das  variáveis
+
*** output_buffering = On
+
*** register_globals = On
+
*** <nowiki>session.ca</nowiki>che_limiter  = nocache
+
*** <nowiki>session.ca</nowiki>che_expire    = 180
+
*** <nowiki>session.us</nowiki>e_trans_sid = 1
+
*** '''upload_max_filesize = 25 (caso queira que os uploads permitam arquivos de até 25 megas, verifique a forma numeral que a versão do <nowiki>php.in</nowiki>i aceito. Ex: 25M; 25000000; 25; ...)'''
+
*** '''post_max_size = 25 (caso queira que os uploads via post permitam arquivos de até 25 megas, verifique a forma numeral que a versão do <nowiki>php.in</nowiki>i aceito. Ex: 25M; 25000000; 25; ...)'''
+
  
 +
Estando logado como '''root''', instale o programa:
  
 +
<pre>make && make install</pre>
  
OBS: Verifique se o <nowiki>php.in</nowiki>i que o apache está usando é realmente o <nowiki>php.in</nowiki>i que você está modificando. Caso não se tenha certeza, crie um arquivo php com o seguinte conteúdo:
+
==== PHP ====
  
&lt;? phpinfo(); ?&gt;. Abra em um Broweser e localize o item que diz a localização do <nowiki>php.in</nowiki>i
+
===== Bibliotecas necessárias =====
  
 +
É importante que se instale algumas bibliotecas adicionais ao sistema.  Na distribuição Debian, isso pode ser feito com:
  
 +
<pre>apt-get install flex zlib1g-dev libxml2-dev</pre>
  
 +
===== Obtendo o PHP4 =====
  
 +
O arquivo fonte do PHP 4.4.6 pode ser obtido no link http://museum.php.net/php4/php-4.4.6.tar.gz
  
::# '''Em servidor com PHP já instalado'''
+
===== Instalando =====
#::# '''Adequando'''
+
*Descompactando o programa:
* Copiando arquivos de configuração
+
<pre>tar -zxvf php-version.tar.gz</pre>
** cp libs/libphp4.a ../apache_1.3.29/src/modules/php4/
+
** cp <nowiki>php.in</nowiki>i-recommended /etc<nowiki>/php.in</nowiki>i
+
* Alterando Arquivos
+
** vi /etc<nowiki>/php.in</nowiki>i
+
** Altere o valora das  variáveis
+
*** output_buffering = On
+
*** register_globals = On
+
*** <nowiki>session.ca</nowiki>che_limiter  = nocache
+
*** <nowiki>session.ca</nowiki>che_expire    = 180
+
*** <nowiki>session.us</nowiki>e_trans_sid = 1
+
*** '''upload_max_filesize = 25 (caso queira que os uploads permitam arquivos de até 25 megas, verifique a forma numeral que a versão do <nowiki>php.in</nowiki>i aceito. Ex: 25M; 25000000; 25; ...)'''
+
*** '''post_max_size = 25 (caso queira que os uploads via post permitam arquivos de até 25 megas, verifique a forma numeral que a versão do <nowiki>php.in</nowiki>i aceito. Ex: 25M; 25000000; 25; ...)'''
+
  
 +
* Configurando:
 +
<pre>cd php-version</pre>
 +
<pre>./configure --with-apxs2=/usr/local/apache/bin/apxs \
 +
--disable-debug --enable-ftp --enable-inline-optimization \
 +
--enable-mm=shared --enable-safe-mode --enable-track-vars \
 +
--enable-wddx=shared --enable-xml --with-dom \
 +
--with-gettext --with-mysql=/usr/local/mysql --with-regex=system \
 +
--with-xml --with-zlib-dir=/usr/lib</pre>
  
 +
* Compilando para instalção. Estando como '''root''', execute:
 +
<pre>make && make install</pre>
  
 +
===== Adequando =====
  
 +
* Alterando arquivos:
  
OBS: Verifique se o <nowiki>php.in</nowiki>i que o apache está usando é realmente o <nowiki>php.in</nowiki>i que você está modificando. Caso não se tenha certeza, crie um arquivo php com o seguinte conteúdo:
+
<pre>cp php.ini-dist /usr/local/lib/php.ini
 +
ln -s /usr/local/lib/php.ini /etc/php.ini
 +
ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf</pre>
  
&lt;? phpinfo(); ?&gt;  Abra em um Broweser e localize o item que diz a localização do <nowiki>php.in</nowiki>i
+
* Edite o arquivo /etc/php.ini e altere o valor das variáveis:
  
# '''Requisitos de Hardware'''
+
<pre>output_buffering = On
 +
register_globals = On
 +
session.cache_limiter  = nocache
 +
session.cache_expire    = 180
 +
session.use_trans_sid = 1
 +
upload_max_filesize = 25
 +
post_max_size = 25</pre>
  
 +
* Edite o arquivo '''/etc/httpd.conf''', e insira as seguintes linhas, logo após a linha '''AddType application/x-gzip .gz .tgz''':
  
 +
<pre>AddType application/x-http-php-source .phps
 +
AddHandler application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml
 +
AddType application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml</pre>
  
O Sistema de Publicação Eletrônica e o programa que implementa o protocolo OAI ocupam cerca de 5 Mb. Os software necessários para a utilização desse&nbsp;sistema e do protocolo ocupam os seguintes espaços:
+
* Inicie o Apache:
  
 +
<pre>/usr/local/apache/bin/apachect start</pre>
  
 +
* Realize um teste para se o PHP + Apache estão funcionando. Crie um arquivo '''teste.php''' com o seguinte conteúdo, e o coloque na pasta '''/usr/local/apache/htdocs''':
  
{| class="prettytable"
+
<pre><? phpinfo(); ?></pre>  
|-
+
|
+
<center>Software</center>
+
  
|
 
<center>Espaço</center>
 
  
|-
 
|
 
Apache
 
  
|
+
Abra-o em um Browser e localize o item que diz a localização do '''php.ini'''
<center>9Mb</center>
+
  
|-
+
==== Instalação do Sistema TEDE ====
|
+
PHP
+
  
|
+
* Criando o usuário '''apache''', atalho à '''htdocs''', e dando permissões às pastas. Estando logado como '''root''':
<center>21Mb</center>
+
  
|-
+
<pre>
|
+
useradd –m apache
MySQL
+
ln -s /usr/local/apache/htdocs/ /home/apache/htdocs
 +
chown -R apache /usr/local/apache</pre>
  
|
 
<center>5Mb</center>
 
  
|-
 
|
 
Protocolo
 
  
|
+
===== Instruções gerais =====
<center>5Mb</center>
+
  
|-
 
|
 
TEDE
 
  
|
 
<center>4Mb</center>
 
  
|-
+
O arquivo fonte do TEDE pode ser obtido no endereço http://tedesite.ibict.br/tde_downloads/formularioSimplificado.php. E ele deve ser descompactado e colocado dentro do diretório '''htdocs''' do Apache. Exemplo:
|
+
<center>Total</center>
+
  
|
+
<pre>/usr/local/apache/htdocs/tede/</pre>
<center>45</center>
+
  
|}
+
===== Configurações e permissões de acesso ao sistema TEDE =====
<center>'''Tabela 1:''' Espaço necessário para armazenamento dos ''software''</center>
+
  
Total de espaço para ''software'': 45 Mb
+
{{Advert|Item muito importante e crítico seguir os passos com muita atenção}}
  
Sugere-se a seguinte configuração de ''hardware'':
+
* Permissões de pastas e arquivos: Deve ser atribuída permissão '''775''' para as seguintes pastas:
  
 +
#'''bibliotecas'''
 +
#'''tde_arquivos'''
 +
#'''tde_layout1/imagens''', '''tde_layout2/imagens''', '''tde_layout3/imagens''',...
  
 +
Verifique se o usuário do apache é o mesmo usuário de criação da pasta tede e suas subpastas. O usuário tem que ser o mesmo ou estar no mesmo grupo de permissões. Para verificar se o usuário é o mesmo:
  
Performance mínima aceitável:
+
<pre>ps –ef | grep httpd</pre>
  
''Pentium III 750 Mhz, com 512 Mb Ram ''
+
Localize o ultimo serviço '''httpd''' listado (vai ter mais de um e o primeiro sempre é '''root''')
  
 +
Após feito isso, verifique qual o nome de usuário que criou as pastas do '''tede'''. Para isso, vá no local onde a pasta '''tede''' foi criada e execute o comando abaixo:
  
 +
<pre>ls -la</pre>
  
Para o armazenamento de Teses:
+
Isso irá mostrar o nível de permissão da pasta '''tede'' e seu usuário. Caso o usuário não seja o mesmo, o sistema terá problemas na criação das pastas e alteração de arquivos de logomarca e imagens, alteração do servidor de arquivos e do e-mail geral.
 
+
Considerando o tamanho médio das teses de 5Mb.
+
 
+
 
+
 
+
{| class="prettytable"
+
|-
+
|
+
<center>Nº de teses</center>
+
 
+
|
+
<center>Espaço</center>
+
 
+
|-
+
|
+
100
+
 
+
|
+
<center>500Mb</center>
+
 
+
|-
+
|
+
500
+
 
+
|
+
<center>2.5Gb</center>
+
 
+
|-
+
|
+
1000
+
 
+
|
+
<center>5Gb</center>
+
 
+
|}
+
 
+
 
+
Esta configuração seria suficiente para o armazenamento de&nbsp;1000 teses e utilização simultânea para 100 usuários em uma conexão dedicada de 2 Mb/s. Nesse cálculo&nbsp;considerou-se o tamanho médio de 5Mb para cada tese, incluindo arquivos, registros e índices&nbsp;do banco de dados. O dimensionamento do hardware deve levar em consideração a expectativa de crescimento da biblioteca digital em cada instituição.
+
 
+
 
+
 
+
# '''Instalação do Sistema TEDE'''
+
 
+
 
+
 
+
:# '''Instruções gerais'''
+
 
+
Os arquivos do TEDE devem ser descompactados e colocados dentro do diretório ''htdocs''''' '''do Apache.
+
 
+
Exemplo: ''/usr/local/apache/htdocs/tede/.''
+
 
+
 
+
 
+
Caso deseje criar uma URL mais simples, crie um ''Alias'' ou um domínio virtual no
+
 
+
''<nowiki>httpd.co</nowiki>nf.'' Para localizar o ''<nowiki>httpd.co</nowiki>nd,'' utilize o comando:
+
 
+
''find / -name <nowiki>httpd.co</nowiki>nf''
+
 
+
 
+
 
+
Alias
+
 
+
Utilize o editor '''vi''' com o comando: ''&lt;ESC&gt;/Alias'' para localizar as linhas ''Alias''.
+
 
+
Crie uma entrada obedecendo o padrão existente no arquivo.
+
 
+
 
+
 
+
Domínio virtual
+
 
+
Para domínio virtual é necessário a criação de uma entrada no DNS da rede.
+
 
+
Para a criação de domínio virtual sega o exemplo ao final do arquivo ''<nowiki>httpd.co</nowiki>nf''
+
 
+
 
+
 
+
Pare o serviço do ''Apache'' por meio do comando ''apachectl stop ''
+
 
+
Reinicialize o ''Apache'' por meio do comando''''' '''apachectl start'''.'''''
+
 
+
 
+
 
+
:# '''Configurações e permissões de acesso ao sistema TEDE'''
+
 
+
ITEM MUITO IMPORTANTE E CRÍTICO
+
 
+
SEGUIR OS PASSOS COM MUITA ATENÇÃO
+
 
+
 
+
 
+
Permissões de pastas e arquivos
+
 
+
&nbsp;
+
 
+
Deve ser atribuída '''permissão 775''' para as seguintes pastas:
+
 
+
bibliotecas
+
 
+
tde_arquivos
+
 
+
tde_layout1/imagens, tde_layout2/imagens, tde_layout3/imagens,...
+
 
+
 
+
 
+
'''OBSERVAÇÃO IMPORTANTE'''
+
 
+
Verifique o usuário se o usuário do apache é o mesmo usuário de criação da pasta tede e suas subpastas. O usuário tem que ser o mesmo ou estar no mesmo grupo de permissões.
+
 
+
Para verificar se o usuário é o mesmo: ps –ef ou ps –aux
+
 
+
Localize o ultimo serviço httpd listado(vai ter mais de um e o primeiro sempre é root)
+
 
+
Após feito isso, verifique qual o nome de usuário que criou as pastas do tede. Para isso, vai no local onde a pasta tede foi criada e execute o comando abaixo:
+
 
+
ls -la
+
 
+
Ira mostrar o nível de permissão da pasta tede e seu usuário. Caso o usuário seja não seja o mesmo, o sistema terá problemas na criação das pastas e alteração de arquivos de logomarca e imagens, alteração do servidor de arquivos e do e-mail geral.
+
  
 
Para resolver esse problema:
 
Para resolver esse problema:
  
chown –R usuarioHTTPD:usuarioHTTPD tede
+
<pre>chown –R usuarioHTTPD:usuarioHTTPD tede</pre>
  
Verifique se as subpastas e arquivos dentro da pasta tede também alteraram o usuário. Caso negativo, aplique o mesmo comando aima para cada subpasta e arquivo.
+
Verifique se as subpastas e arquivos dentro da pasta '''tede''' também alteraram o usuário. Caso negativo, aplique o mesmo comando ainda para cada subpasta e arquivo.
  
+
Para as pastas restantes deve-se atribuir permissão '''755'''.
  
Para as pastas restantes deve-se atribuir permissão 755.
+
===== Configurações =====
 
+
+
 
+
Configurações
+
 
+
 
+
 
+
* No arquivo <nowiki>oai.bi</nowiki>b configurar as variáveis de identificação do repositório OAI.
+
 
+
 
+
 
+
$repositoryIdentifier = 'oai:<nowiki>generico.br</nowiki>';
+
  
 +
* No arquivo '''bibliotecas/oai.bib''' configurar as variáveis de identificação do repositório OAI.
  
 +
<pre>$repositoryIdentifier = 'oai:generico.br';
  
 
// Email do responsável pela administração local do TEDE e/ou protocolo
 
// Email do responsável pela administração local do TEDE e/ou protocolo
 
+
$adminEmail          = 'mailto:bdtd_oai@generico.br';
$adminEmail          = '<nowiki>mailto:bdtd_oai@generico.br</nowiki>';
+
 
+
 
+
  
 
// Nome por extenso pelo qual o repositório é reconhecido
 
// Nome por extenso pelo qual o repositório é reconhecido
 
 
$repositoryName      = 'Nome do seu repositório Genérico';
 
$repositoryName      = 'Nome do seu repositório Genérico';
 
 
  
 
// Sigla do repositório
 
// Sigla do repositório
 +
$mtdbr_sigla          = 'Generico/Tede';</pre>
  
$mtdbr_sigla          = 'Generico/Tede';
+
{{Nota|Utilize o nome abreviado do seu repositório no lugar da palavra '''genérico'''}}
 
+
 
+
 
+
&nbsp;
+
 
+
Dentro da pasta ''conexão'', efetuar as seguintes atribuições:
+
 
+
Utilize o nome abreviado do seu repositório no lugar da palavra “genérico”.
+
 
+
* No arquivo ''<nowiki>conexão.in</nowiki>c ''efetuar as alterações desejáveis. Os valores indicados abaixo são os atribuídos originalmente.
+
 
+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $usuario = "root";
+
 
+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $server = "localhost";
+
 
+
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$passwd = "";
+
 
+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;$conexao = mysql_pconnect("$server","$usuario","$passwd");
+
 
+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;$base = "TDE_SUBMISSAO"; (Obs: NÃO ALTERAR)
+
 
+
* No arquivo ''<nowiki>conexão_fim.in</nowiki>c'' efetuar as alterações desejáveis. Os valores indicados abaixo são os atribuídos originalmente.
+
 
+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $usuario_fim = "root";
+
 
+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $server_fim = "localhost";
+
 
+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $passwd_fim = "";
+
 
+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $conexao_fim = mysql_pconnect("$server_fim","$usuario_fim","$passwd_fim");
+
 
+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $base_fim = "TDE"; (Obs: NÃO ALTERAR)
+
 
+
'''
+
 
+
'''
+
 
+
# '''Consideração Final'''
+
 
+
 
+
 
+
Todos os Software necessários ao funcionamento do TEDE e o sistema TEDE podem ficar em um mesmo servidor. Algumas considerações devem ser relevantes:
+
 
+
 
+
 
+
:# '''Cuidados com a Segurança '''
+
 
+
 
+
 
+
Procedimentos de segurança devem ser efetuados no servidor onde os programas e o TEDE estão instalados. Se possível o servidor fique dedicado ao TEDE, porém caso não seja possível tomas as medidas de segurança para assegurar-se de falhas. Caso o servidor do TEDE compartilhe com outros sistemas verificar se não há incompatibilidade nas configurações dos software necessárias para o TEDE.
+
 
+
  
  
:# '''Cópias de segurança'''
+
Dentro da pasta '''conexão''', efetuar as seguintes atribuições:
  
 +
* No arquivo '''conexão.inc''' efetuar as alterações desejáveis. Os valores indicados abaixo são os atribuídos originalmente.
  
 +
<pre>$usuario = "root";
  
Sugerimos que uma cópia de segurança seja feita logo após a instalação do TEDE e dos software requeridos. Os dados do TEDE ficam armazenados em tabelas do MySQL, portanto uma estratégia de backup deve ser implantada para evitar perda de dados.
+
$server = "localhost";
  
 +
$passwd = "";
  
 +
$conexao = mysql_pconnect("$server","$usuario","$passwd");
  
:# '''Implementações Futuras do TEDE'''
+
$base = "TDE_SUBMISSAO";</pre>
  
 +
* No arquivo '''conexão_fim.inc''' efetuar as alterações desejáveis. Os valores indicados abaixo são os atribuídos originalmente.
  
 +
<pre>$usuario_fim = "root";
  
Novas versões do TEDE devem estar disponíveis conforme o seu desenvolvimento. Novas facilidades podem requerer instalações de novos software ou atualização de versão. Quando isso ocorrer novos procedimentos acompanharão a nova versão.
+
$server_fim = "localhost";
  
 +
$passwd_fim = "";
  
 +
$conexao_fim = mysql_pconnect("$server_fim","$usuario_fim","$passwd_fim");
  
:# '''Licença TEDE'''
+
$base_fim = "TDE"; </pre>
  
 +
{{Advert|Não alterar o valor dos parâmetros '''$base''' e '''$base_fim'''}}
  
 +
==== Considerações finais ====
  
O TEDE é um sistema desenvolvido pelo IBICT e é orientado a código aberto. Gostaríamos de saber sobre alterações e/ou distribuições.
+
Todos os softwares necessários ao funcionamento do TEDE e o sistema TEDE podem ficar em um mesmo servidor. Algumas considerações devem ser relevantes:
  
 +
* '''Cuidados com a segurança''': Procedimentos de segurança devem ser efetuados no servidor onde os programas e o TEDE estão instalados. Se possível, é recomendável que o servidor fique dedicado ao TEDE, porém, caso isso não ocorra algumas medidas de segurança são necessárias para se evitar a ocorrência de falhas. A questão principal neste quesito é compatibilidade dos softwares base (MySQL, PHP e Apache) com as aplicações web instaladas. É necessário lembrar que o TEDE não opera com as versões mais recentes do MySQL e PHP.
  
 +
* '''Cópias de segurança''': Sugerimos que uma cópia de segurança seja feita logo após a instalação do TEDE, e de todos os softwares base. Os dados do TEDE ficam armazenados em tabelas do MySQL, portanto uma estratégia de backup de banco deve ser implantada para se evitar perdas de dados.
  
:# '''Duvidas e sugestões'''
+
* '''Implementações futuras do TEDE''': Novas versões do TEDE devem estar disponíveis conforme o seu desenvolvimento. Novas facilidades podem requerer instalações de novos softwares ou atualização de versão. Quando isso ocorrer novos procedimentos acompanharão a nova versão.
  
Para dúvidas e sugestões, entrar em contato com: suporte_tede@<nowiki>ibict.br</nowiki>
+
* '''Licença TEDE''': O TEDE é um sistema desenvolvido pelo Ibict e é baseado em licença de código aberto. Estamos abertos a discussão sobre alterações e/ou novas distribuições.
  
Todas as dúvidas e sugestões serão bem-vindas.
+
* '''Duvidas e sugestões''': Para dúvidas e sugestões, [https://www.facebook.com/IBICTbr entre em contato conosco]. Todas as dúvidas e sugestões serão bem-vindas.

Edição atual tal como às 16h37min de 5 de agosto de 2013

Índice

Introdução

Este tutorial tem por objetivo orientar os responsáveis pela geração e manutenção do ambiente computacional necessário para a implantação do sistema de publicação eletrônica de teses e dissertações - TEDE. O IBICT distribui o TEDE – Sistema de Publicação Eletrônica de Teses e Dissertações, e para que este programa possa funcionar é necessário criar um ambiente computacional contendo vários softwares. Este manual orienta a instalação e a adequação necessária dos softwares, bem com de todo o Sistema de Publicação Eletrônica TEDE.

Visão Geral

Sistema BDTD

A Biblioteca Digital de Teses e Dissertações – BDTD tem como objetivo principal a integração das iniciativas brasileiras de publicação eletrônica e registro bibliográfico de teses e dissertações, fornecendo aos usuários finais uma visão integrada dessas iniciativas por meio de serviços e produtos de informação de valor agregado. O principal serviço atualmente disponível na BDTD é o de busca e recuperação de documentos de teses e dissertações produzidos no Brasil ou produzidos por brasileiros no exterior. Usuários interessados em encontrar teses e dissertações relevantes aos seus problemas de informação poderão, a partir de um portal único, realizar buscas nessas diversas iniciativas sem que para tal tenham que visitar cada uma delas individualmente e realizar buscas nos repositórios locais dessas instituições provedoras de dados. A BDTD trabalha com entidades cooperantes que produzem as informações. Estas entidades cooperantes são denominadas de: Provedores de Dados. Nos Provedores de Dados ocorrem as publicações Eletrônicas, que podem ser feitas no sistema distribuído pelo IBICT (Sistema de publicação Eletrônica – TEDE). Um procedimento automático denominado de Coleta (Harvesting) disparado pelo IBICT, coleta os metadados dos provedores de dados e insere da base de dados da BDTD nacional, esta contém os dados de todos os provedores de dados da rede BDTD.

Sistema TEDE

O Sistema TEDE automatiza os procedimentos de publicação eletrônica de teses e dissertações. Esse sistema tem como premissa básica o fato de que a publicação deve ser efetuada de forma cooperativa envolvendo autor, curso de pós-graduação e biblioteca.

Sua instalação necessita de Sistema Operacional baseado na plataforma UNIX/LINUX, tais como:

O sistema, em sua versão modular, na atual versão, é composto pelos seguintes módulos principais:

  • Administração
  • Pós-Graduação
  • Autor
  • Biblioteca
  • Busca

Ao receber o sistema TEDE, a instituição receptora deve customizá-lo por meio do módulo de Administração. A customização envolve o cadastro dos dados específicos da instituição receptora assim como de suas unidades, tais como programas de pós-graduação, das bibliotecas depositárias, dos operadores do sistema etc. A customização também envolve escolha de interfaces para o sistema local, inclusão do logo da instituição e habilitação dos operadores dos sistemas.

Após a customização, o sistema estará preparado para iniciar os procedimentos de publicação das teses e dissertações da IES. A publicação de uma tese ou dissertação eletrônica – TDE – deve ser iniciada no módulo da Pós-Graduação. Neste módulo, o operador habilitado para tal inclui dados do autor, título da tese, membros da banca, papel dos contribuidores etc.

Terminada esta fase, este operador cria uma conta para o autor. Somente após executar esse procedimento é que o autor tem acesso ao sistema para entrar ou alterar os dados de sua TDE e também para anexar os arquivos de texto, imagem, animação, etc. que compõem sua tese ou dissertação.

Ao final deste processo, o autor submete a TDE à pós-graduação para revisão. Caso seja detectado algum erro nos dados ou arquivos inseridos pelo autor, o operador do módulo de pós-graduação insere um texto no campo especificado para tal, indicando o erro detectado. Esta observação é encaminhada via e-mail para o autor para as devidas correções. O autor volta a operar o sistema, efetua as correções e novamente submete a tese à pós-graduação.

Esse fluxo entre pós-graduação e autor ocorre até que a pós-graduação considere os dados e arquivos da TDE corretos. Neste ponto, a pós-graduação libera a TDE para a Biblioteca.

O operador do módulo Biblioteca insere metadados bibliográficos para complementar a catalogação e faz uma revisão geral dos metadados da TDE, inseridos pela pós-graduação ou pelo autor. Caso ainda detecte erros, poderá re-encaminhar a TDE à pós-graduação para as devidas correções. Caso o registro de TDE seja considerado correto, a TDE será disponibilizada para acesso público. A figura abaixo é uma representação desse fluxo.


Fluxograma-tede.png
Figura 1: Fluxo de operação do sistema TEDE
Fonte: Southwick, Silvia. BDTD: modelo e tecnologias, 2003


No momento em que uma TDE é publicada, esta passa a estar disponível para busca, por meio do módulo correspondente. O desenvolvimento do módulo de busca, conforme as especificações descritas a seguir, é o objeto desta contratação.

Software básicos necessários para a implantação do TEDE

A seguir é apresentada uma descrição dos software básicos necessários para a implantação do Sistema de Publicação Eletrônica de Teses e Dissertações.

  • Apache: é o servidor web mais utilizado no mundo e funciona em qualquer sistema operacional. Permite que linguagens de programação sejam agregadas a ele como módulos, o que gera mais segurança, estabilidade e performance.
  • MySQL (4.0.16 <= versão <= 5.1.66): Um servidor de banco de dados SQL verdadeiramente multiusuário e multithreaded. O MySQL é uma implementação que consiste em um daemon (programa residente em memória) servidor chamado "mysqld" e diversos programas clientes e bibliotecas. Suas principais metas são velocidade, robustez e facilidade de uso. A base sob a qual o MySQL foi construído é formada por um conjunto de rotinas que foram utilizadas em ambiente de produção com alta demanda por muitos anos. Apesar do MySQL estar sempre em desenvolvimento, este sistema já oferece um conjunto de funções altamente útil e rico.

Warning.gif Atenção: O Software TEDE não suporta versões do MySql superiores à 5.1.66

  • PHP Hypertext Preprocessor (3.4 <= versão <= 4): É uma linguagem de server-side e open-source para criação de páginas web de e-commerce dinâmicas e outros aplicativos para a web. Uma página web dinâmica é aquela que apresenta conteúdo de banco de dados sob demanda.

Warning.gif Atenção: O Software TEDE suporta até o PHP versão 4, há diversos problemas de compatibilidade com a versão 5

Requisitos de Hardware

  • Espaço para o armazenamento dos documentos, considerando o tamanho médio de uma tese ou dissertação é de 5Mb. Esta configuração seria suficiente para o armazenamento de 1000 teses e utilização simultânea para 100 usuários em uma conexão dedicada de 2Mb/s. Nesse cálculo levou-se em consideração os arquivos, registros e índices do banco de dados. O dimensionamento do hardware deve levar em conta a expectativa de crescimento da biblioteca digital em cada instituição.


Nº de teses
Espaço

100

500Mb

500

2.5Gb

1000

5Gb

Procedimentos para instalação dos softwares

MySQL

Obtendo o MySQL

Site para fazer o download do banco de dados MySql:

http://dev.mysql.com/downloads/mysql/

Instalando o servidor MySql

Para instalar o MySql é preciso seguir os seguintes passos:

  • Criar um grupo e usuário de instalação do software:
groupadd mysql 
useradd –g mysql mysql
  • Descompactar o software:
tar -xvf mysql-[versão].tar.gz
  • Mover a pasta descompactada para /usr/local/mysql:
mv mysql-[versão] /usr/local/mysql
  • Mudar as permissões da pasta:
chown -R mysql:mysql /usr/local/mysql
  • Criar as tabelas iniciais do software. Estando dentro da pasta /usr/local/mysql, executar:
scripts/mysql_install_db --user=mysql
  • Modificar novamente as permissões de pasta:
chown -R root /usr/local/mysql
chown -R mysql /usr/local/mysql/data
  • Iniciar o servidor MySql:
/usr/local/mysql/bin/mysqld_safe --user=mysql &

Notepad.gif NOTA: Digite Enter para liberar o terminal


Insira a seguinte linha, dentro do arquivo /etc/rc.local antes de exit 0, para tornar a inicialização do MySql automática com o boot do sistema operacional:

/bin/sh -c 'cd /usr/local/mysql; ./bin/mysqld_safe --user=mysql &'
Criando a base de dados
  • Crie um novo banco de dados TED e TDE_SUBMISSAO. Estando logado como root:
/usr/local/mysql/bin/mysqladmin create TDE
/usr/local/mysql/bin/mysqladmin create TDE_SUBMISSAO
  • Crie as tabelas necessárias. Baixando e descompactando o arquivo bancoTEDEv201-16022005.zip, e executando a seguinte sequência:
/usr/local/mysql/bin/mysql TDE < TDE.sql
/usr/local/mysql/bin/mysql TDE_SUBMISSAO < TDE_SUBMISSAO.sql

Apache

Bibliotecas necessárias

É importante que se instale algumas bibliotecas adicionais ao sistema. Na distribuição Debian, isso pode ser feito com:

apt-get install libapr1-dev libaprutil1-dev
Obtendo o Apache

Site para obter o código fonte do Apache: http://ftp.unicamp.br/pub/apache/httpd/httpd-2.4.6.tar.gz

Instalando o Apache

Descompactando o programa:

tar -zxvf httpd-version.tar.gz

Dentro da pasta httpd-version execute a configuração da instalação:

./configure \
--prefix=/usr/local/apache \
--enable-shared=max \
--enable-module=rewrite \
--enable-module=so 

Estando logado como root, instale o programa:

make && make install

PHP

Bibliotecas necessárias

É importante que se instale algumas bibliotecas adicionais ao sistema. Na distribuição Debian, isso pode ser feito com:

apt-get install flex zlib1g-dev libxml2-dev
Obtendo o PHP4

O arquivo fonte do PHP 4.4.6 pode ser obtido no link http://museum.php.net/php4/php-4.4.6.tar.gz

Instalando
  • Descompactando o programa:
tar -zxvf php-version.tar.gz
  • Configurando:
cd php-version
./configure --with-apxs2=/usr/local/apache/bin/apxs \
--disable-debug --enable-ftp --enable-inline-optimization \
--enable-mm=shared --enable-safe-mode --enable-track-vars \
--enable-wddx=shared --enable-xml --with-dom \
--with-gettext --with-mysql=/usr/local/mysql --with-regex=system \
--with-xml --with-zlib-dir=/usr/lib
  • Compilando para instalção. Estando como root, execute:
make && make install
Adequando
  • Alterando arquivos:
cp php.ini-dist /usr/local/lib/php.ini
ln -s /usr/local/lib/php.ini /etc/php.ini
ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf
  • Edite o arquivo /etc/php.ini e altere o valor das variáveis:
output_buffering = On
register_globals = On
session.cache_limiter   = nocache
session.cache_expire    = 180
session.use_trans_sid = 1
upload_max_filesize = 25 
post_max_size = 25
  • Edite o arquivo /etc/httpd.conf, e insira as seguintes linhas, logo após a linha AddType application/x-gzip .gz .tgz:
AddType application/x-http-php-source .phps
AddHandler application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml
AddType application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml
  • Inicie o Apache:
/usr/local/apache/bin/apachect start
  • Realize um teste para se o PHP + Apache estão funcionando. Crie um arquivo teste.php com o seguinte conteúdo, e o coloque na pasta /usr/local/apache/htdocs:
<? phpinfo(); ?>


Abra-o em um Browser e localize o item que diz a localização do php.ini

Instalação do Sistema TEDE

  • Criando o usuário apache, atalho à htdocs, e dando permissões às pastas. Estando logado como root:
useradd –m apache
ln -s /usr/local/apache/htdocs/ /home/apache/htdocs
chown -R apache /usr/local/apache


Instruções gerais

O arquivo fonte do TEDE pode ser obtido no endereço http://tedesite.ibict.br/tde_downloads/formularioSimplificado.php. E ele deve ser descompactado e colocado dentro do diretório htdocs do Apache. Exemplo:

/usr/local/apache/htdocs/tede/
Configurações e permissões de acesso ao sistema TEDE

Warning.gif Atenção: Item muito importante e crítico seguir os passos com muita atenção

  • Permissões de pastas e arquivos: Deve ser atribuída permissão 775 para as seguintes pastas:
  1. bibliotecas
  2. tde_arquivos
  3. tde_layout1/imagens, tde_layout2/imagens, tde_layout3/imagens,...

Verifique se o usuário do apache é o mesmo usuário de criação da pasta tede e suas subpastas. O usuário tem que ser o mesmo ou estar no mesmo grupo de permissões. Para verificar se o usuário é o mesmo:

ps –ef | grep httpd

Localize o ultimo serviço httpd listado (vai ter mais de um e o primeiro sempre é root)

Após feito isso, verifique qual o nome de usuário que criou as pastas do tede. Para isso, vá no local onde a pasta tede foi criada e execute o comando abaixo:

ls -la

Isso irá mostrar o nível de permissão da pasta 'tede e seu usuário. Caso o usuário não seja o mesmo, o sistema terá problemas na criação das pastas e alteração de arquivos de logomarca e imagens, alteração do servidor de arquivos e do e-mail geral.

Para resolver esse problema:

chown –R usuarioHTTPD:usuarioHTTPD tede

Verifique se as subpastas e arquivos dentro da pasta tede também alteraram o usuário. Caso negativo, aplique o mesmo comando ainda para cada subpasta e arquivo.

Para as pastas restantes deve-se atribuir permissão 755.

Configurações
  • No arquivo bibliotecas/oai.bib configurar as variáveis de identificação do repositório OAI.
$repositoryIdentifier = 'oai:generico.br';

// Email do responsável pela administração local do TEDE e/ou protocolo
$adminEmail           = 'mailto:bdtd_oai@generico.br';

// Nome por extenso pelo qual o repositório é reconhecido
$repositoryName       = 'Nome do seu repositório Genérico';

// Sigla do repositório
$mtdbr_sigla          = 'Generico/Tede';

Notepad.gif NOTA: Utilize o nome abreviado do seu repositório no lugar da palavra genérico


Dentro da pasta conexão, efetuar as seguintes atribuições:

  • No arquivo conexão.inc efetuar as alterações desejáveis. Os valores indicados abaixo são os atribuídos originalmente.
$usuario = "root";

$server = "localhost";

$passwd = "";

$conexao = mysql_pconnect("$server","$usuario","$passwd");

$base = "TDE_SUBMISSAO";
  • No arquivo conexão_fim.inc efetuar as alterações desejáveis. Os valores indicados abaixo são os atribuídos originalmente.
$usuario_fim = "root";

$server_fim = "localhost";

$passwd_fim = "";

$conexao_fim = mysql_pconnect("$server_fim","$usuario_fim","$passwd_fim");

$base_fim = "TDE"; 

Warning.gif Atenção: Não alterar o valor dos parâmetros $base e $base_fim

Considerações finais

Todos os softwares necessários ao funcionamento do TEDE e o sistema TEDE podem ficar em um mesmo servidor. Algumas considerações devem ser relevantes:

  • Cuidados com a segurança: Procedimentos de segurança devem ser efetuados no servidor onde os programas e o TEDE estão instalados. Se possível, é recomendável que o servidor fique dedicado ao TEDE, porém, caso isso não ocorra algumas medidas de segurança são necessárias para se evitar a ocorrência de falhas. A questão principal neste quesito é compatibilidade dos softwares base (MySQL, PHP e Apache) com as aplicações web instaladas. É necessário lembrar que o TEDE não opera com as versões mais recentes do MySQL e PHP.
  • Cópias de segurança: Sugerimos que uma cópia de segurança seja feita logo após a instalação do TEDE, e de todos os softwares base. Os dados do TEDE ficam armazenados em tabelas do MySQL, portanto uma estratégia de backup de banco deve ser implantada para se evitar perdas de dados.
  • Implementações futuras do TEDE: Novas versões do TEDE devem estar disponíveis conforme o seu desenvolvimento. Novas facilidades podem requerer instalações de novos softwares ou atualização de versão. Quando isso ocorrer novos procedimentos acompanharão a nova versão.
  • Licença TEDE: O TEDE é um sistema desenvolvido pelo Ibict e é baseado em licença de código aberto. Estamos abertos a discussão sobre alterações e/ou novas distribuições.
  • Duvidas e sugestões: Para dúvidas e sugestões, entre em contato conosco. Todas as dúvidas e sugestões serão bem-vindas.