Manual de instruções



Documentos relacionados
No Fedora, instalamos os pacotes "mysql" e "mysql-server", usando o yum:

Programas desenvolvidos, testados e documentados

Servidor Apache - Instalação

Guia de instalação para ambiente de Desenvolvimento LINUX

Projeto Amadeus. Guia de Instalação Linux

Faculdade SENAC Pelotas Curso Superior de Tecnologia em Redes de Computadores Sistemas de Informação Professor Eduardo Maroñas Monks MEDIA CORE

Redes de Computadores

Manual de Instalação

MySQL. Prof. César Melo. com a ajuda de vários

Manual comandos Básicos para instalar e desinstalar Firebird em Sistema operacional Linux

Backup com Bacula. 05 de Março de Ponto de Presença da RNP no Espírito Santo. Sobre o Bacula. Comandos de console Interface Web.

TransactionCentre - Módulo Client.exe Manual de Instalação

MSN-Proxy v0.7 no Debian 5 (Atualizado)

COORDENAÇÃO DE TECNOLOGIA (COTEC) MAIO/2010

Instalando o MySQL 5.6 no Windows

Manual Banco de dados MySQL

SiGE - Sistema de Gerência de Eventos

Lazarus pelo SVN Linux/Windows

Manual de Instalação SIM/SINASC

TUTORIAL PASSO A PASSO INSTALAÇÃO SERVIDOR DE SMS PARA MKAUTH

1. TSA Inovação - TSA DT_Arquivo_de_Log_do_Integrador_Separado_por_Thread DT_Central_de_Ajuda_UX9...

LINX POSTOS AUTOSYSTEM

Manual de Instalação. Instalação via apt-get. SIGA-ADM versão 12.06

Instalação do PHP no Linux

Sensor de temperatura Parte 5 Cleiton Bueno Preparando o ambiente do Banco de dados Mysql

O essencial do comando mysqladmin, através de 18 exemplos

Manual de Instalação

Prof. Carlos Majer Aplicações Corporativas UNICID

Projeto Integrador Programação para Internet

EAI Manual do Administrador

Manual de Instalação Linux

Figura 1: Interface 3G Identech

Manual de Instalação do e.sic - Sistema Municipal de Informações ao Cidadão

Integração de livros fiscais com o Microsoft Dynamics AX 2009

Trabalho de Sistema de Informações. Instalação e configuração aplicativo Ocomon

SENADO FEDERAL Secretaria Especial do Interlegis - SINTER Subsecretaria de Tecnologia da Informação - SSTIN. Produto: ATU-PM

Guia do Usuário. idocs Content Server v

Instalação Apache + MySQL + PHPMyAdmin CentOS

INSTALANDO E CONFIGURANDO O MY SQL

Escrito por Júlio Oliveira Ter, 30 de Junho de :06 - Última atualização Seg, 17 de Agosto de :25

Visualizador de Documentos Fiscais Eletrônicos FAQ (Perguntas frequentes)

Pessoal, abaixo fiz um passo-a-passo de como configurar o DVR para acessar a internet, neste caso utilizei os seguintes itens:

Instalação do Sirius sem estações. O primeiro passo é instalar o Firebird 1.5, ele se encontra no CD de instalação do Sirius na pasta Firebird.

Nesse artigo abordaremos os principais aspectos de instalação e uso do NTOP no Fedora Core 4.

MANUAL DE INSTALAÇÃO O melhor sistema de Gestão Financeira para micro e pequenas empresas.

Redes de Computadores II

ESUS SAMU V INSTRUÇÕES PARA INSTALAÇÃO

Tutorial Instalação e configuração do Wordpress

Implementando uma Classe e Criando Objetos a partir dela

LINX POSTOS AUTOSYSTEM

Problemas básicos nos. Serviços Gladius MP

Manual de Instalação. Instalação via apt-get

BR DOT COM SISPON: MANUAL DO USUÁRIO

Roteiro de Práticas de Roteamento IGP usando Quagga

Librix. A LIBERDADE DO LINUX COM A QUALIDADE ITAUTEC Guia de referência

Autor: Hernandes Martins. Março de Zabbix 2.4 CentOS 7 Tutorial Instalação

Laboratório de Automação e Robótica (LAR)

Manual do Usuário do Produto EmiteNF-e. Manual do Usuário

Manual Rápido de Registro e Configuração do DJPDV

SENADO FEDERAL Secretaria Especial do Interlegis - SINTER Subsecretaria de Tecnologia da Informação - SSTIN. Produto: ATU-PM

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?

LABORATÓRIO UNIDADES 1 REVISÃO LINUX E COMANDOS BÁSICOS ABRINDO A MÁQUINA VIRTUAL UBUNTU SERVER PELO VIRTUALBOX

Obrigado por adquirir o Mobile Broadband modem USB E3272. Com o seu modem USB, você tem acesso à rede sem fio em alta velocidade.

Virtual Box. Guia. Instalação E Utilização. Criado por Wancleber Vieira wancleber.vieira@ibest.com.br

Guia de Instalação: TOTVS SERVICE SPED - TSS

Som, Vídeo, e Deep Zoom. José Antônio da Cunha IFRN

Manual do Usuário. Protocolo

Gerenciando Pacotes *.deb

Redes Ponto a Ponto. Os drivers das placas de rede devem estar instalados.

PHP e MySQL Autenticação de Usuários

Projeto Amadeus. Guia de Instalação Windows

MANUAL MOODLE - PROFESSORES

Instalando e Executando o Siprev em Ambiente Linux Versão SIPREV

PostgreSQL. Aula 02. Aula 02

Guia de Instalação e Configuração do Noosfero

Roteiro de instalação do jogo da Pirâmide Alimentar

Necessidades de Gerenciamento: Software de Gerenciamento:

Neste tópico, abordaremos a funcionalidade de segurança fornecida com o SAP Business One.

Configurando e Instalando o TRAC

Administração de Usuários e Privilégios no Banco de Dados

1 Instalando o VirtualBox no Windows

- Wireless e NTP - 272

Descompacte o arquivo site zip que foi baixado dentro da pasta do eclipse.

SISTEMA/MÓDULO: SYSMO S1 / CONFIGURACOES CORRUPÇÃO DE BASE DE DADOS VERSÃO: 1.01 DATA: 11/06/2007

Gestix. Instalar em Linux. Gestix.com. Instalar em Linux...2 Pré-requisitos para instalar o Gestix em Linux...2

Gestão de Desenvolvimento de Sistemas por Controle de Versão Utilizando SVN. Software para Controle de Versão SVN/Subversion

Instalação de PlaySMS E Ferramentas SMS Server 3 Server Em Debian Antes de começar

Instalação e configuração de Sistema de Informação. Sobre o Help Center Live

9.2 MySQL A instalação do MySQL trata-se de um procedimento relativamente fácil, já que iremos realizá-lo utilizando so repositórios do Linux.

2. Cadastrar Cargo de Funcionário: Gestão> Cadastro> RH> Cargo Cadastro auxiliar necessário quando for preciso cadastrar os funcionários da loja.

MINISTÉRIO DA SAÚDE. Secretária de Gestão Estratégica e Participativa da Saúde SGEP. Coordenação de Desenvolvimento dos Sistemas de Saúde - CDESS

Tutorial de Computação Programação em Python para MEC1100 v

Manual de Instalação. Sistema de Gestão e Acompanhamento de Frotas SIGAFROTA. Versão 1.0 Francisco Edilson do Nascimento

Passo a passo para cadastramento

Fiery Driver Configurator

Instituto Superior Politécnico Gaya Escola Superior de Ciência e Tecnologia

Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados. Prof. Hugo Souza

Transcrição:

RELATÓRIO DE PROJETO versão 2.1 Manual de instruções 1.Termo de Referência Esse relatório diz respeito ao edital número 46, OBJ-REL - Camada de Persistência Objeto-Relacional, publicado entre os dias 04 a 11 de maio de 2008, a ser realizado no período de maio/2008 a outubro/2008. 2.Introdução De acordo com o descrito no termo de referência desse projeto, os frameworks utilizados pelo Interlegis permitem o armazenamento de informações tanto em banco de dados relacionais (PostgreSQL e MySQL) quanto em banco de dados orientados a objetos (ZODB). De forma geral, quando trata-se de representar informações dentro do Plone (utilizando-se o framework Archetypes), a persistência dos dados costuma ser orientada a objetos (OO) e realizada diretamente no banco de dados orientado a objetos ZODB. Há algumas soluções do Interlegis como, por exemplo, o SAPL (Sistema de Apoio ao Processo Legislativo), que podem ser consideradas soluções híbridas, armazenando informações em diferentes modelos (parte das informações em banco de dados relacional e parte em banco de dados orientado a objetos). No entanto, o SAPL não utiliza o framework Archetypes e, por sua vez, não está relacionado com esse projeto. Esse relatório tratará apenas das considerações relevantes ao primeiro caso, o mapeamento de informações objeto-relacional. Nesse caso, as informações que normalmente seriam armazenadas em bancos de dados OO precisam ser mapeadas para um banco de dados relacional. Esse terceiro relatório complementa os Relatório 1 e 2 já entregues anteriormente e diz respeito a entrega do manual de instruções. Posteriormente, o relatório 4 tratará a respeito última entrega, referente aos procedimentos de transferência da tecnologia para o Interlegis. 3. Manual de Instruções Como descrito no Relatório 2, a solução de mapeamento objeto-relacional implementada recebeu o nome de interlegis.sqlalchemystorage e tem como dependência principal o módulo archetypes.sqlalchemystorage. A instalação da solução completa, assim como sua configuração, não é um processo trivial. Nesse sentido, tentou-se seguir as boas práticas de empacotamento de módulos Python, usando buildout e virtualenv, para que o processo fosse simplificado. O processo de instalação é descrito a seguir detalhadamente. 4. Instalação O primeiro passo é verificar a versão instalada do interpretador python. A instalação do interpretador python versão 2.4.4 deve ter sido feita a partir de pacotes ou, quando feita manualmente, deve incluir o suporte a biblioteca zlib (e, para isso, basta que no momento da compilação esteja instalado o pacote zlib-dev ou seu equivalente). 1

Para realizar a instalação a partir de pacotes.deb, podemos utilizar o comando a seguir (por convensão, os comandos precedidos por # devem ser executados como root ou através do sudo e os comandos precedidos por $ podem ser executados por um usuário comum): # apt-get install python2.4 python2.4-dev python2.4-imaging python2.4-mysqldb build-essential Os pacotes python2.4-imaging e python2.4-mysqldb também podem ser instalados via buildout, mas constatou-se que esse procedimento automático falha em algumas versões da distribuição Ubuntu e que pode ser útil manter as linhas referentes a instalação do PIL e do MySQLdb comentadas no buildout e é aparentemente mais simples utilizar os pacotes padrão da distribuição. O pacote build-essential, por sua vez, é necessário para a compilação do Zope (que possui partes de seu código em C e precisa do compilador gcc e do make). Para testar se o python2.4 está corretamente instalado, assim como o python2.4- imaging e python2.4-mysqldb, invocar o interpretador e tentar importar os módulos correspondentes: $ python2.4 import PIL import MySQLdb Com o interpretador python versão 2.4 instalado, devemos instalar o easy install e o virtualenv. Para isso, recomenda-se a utilização dos seguintes comandos: # wget http://peak.telecommunity.com/dist/ez_setup.py # python2.4 ez_setup.py # easy_install-2.4 virtualenv Caso o python2.4 ou o easy_install-2.4 não estejam contidos na variável de ambiente PATH, convém adicioná-los (isso geralmente é necessário apenas quando o interpretador python foi instalado manualmente). Isso pode ser feito adicionando a seguinte linha no final do arquivo /etc/profile export PATH=/PATH_DE_INSTALACAO_DO_PYTHON/bin/:$PATH O PATH_DE_INSTALACAO_DO_PYTHON costuma ser o /usr/local. Para prosseguirmos, é preciso criar o diretório base da instalação. Esse processo é realizado com o apoio de um checkout do buildout, feito a partir de um repositório SVN, seguido da criação de um ambiente virtual virtualenv, da instalação do ZopeSkel e da execução do buildout. Assim, recomenda-se a utilização dos seguintes comandos: 2

$ svn co https://dev.pytown.com/svn/interlegis.sqlalchemystorage/buildout/ interlegis-plone25 $ virtualenv interlegis-plone25 $ cd interlegis-plone25 $./bin/python bootstrap.py $./bin/easy_install ZopeSkel $./bin/buildout -vv $ mkdir -p parts/instance/var/fss_storage parts/instance/var/fss_backup Para carregar o código fonte a partir do repositório SVN via EXTERNALS.txt, utilizamos os comandos a seguir. $ cd src; svn up; cd.. O arquivo src/externals.txt define a partir de qual repositório o framework interlegis.sqlalchemystorage e sua dependência principal, o módulo archetypes.sqlalchemystorage, são atualizados. Quando houver qualquer correção ou melhoria implementada, a atualização consistirá apenas em repetir os comandos acima e reiniciar a instancia do Zope. # # Create this file: svn propget svn:externals. > EXTERNALS.txt # Apply this file: svn propset svn:externals -F EXTERNALS.txt. # archetypes.sqlalchemystorage https://svn.plone.org/svn/archetypes/ archetypes.sqlalchemystorage/branches/weimar-improvements interlegis.sqlalchemystorage https://dev.pytown.com/svn/ interlegis.sqlalchemystorage/trunk Percebe-se no arquivo de configuração acima que parte do buildout desenvolvido referente ao módulo interlegis.sqlalchemystorage está armazenada em um repositório SVN privado (dev.pytown.com), mas que o módulo archetypes.sqlalchemystorage está armazenado no repositório oficial do framework Archetypes (svn.plone.org). Durante o desenvolvimento do projeto ficou claro que seriam necessárias diversas mudanças no módulo archetypes.sqlalchemystorage e, por essa razão, as mesmas foram feiras em um branch específico. O repositório svn.plone.org é público, mas com acesso de escrita restrito. Por outro lado, o repositório dev.pytown.com tem acesso restrito tanto para escrita quanto para leitura, mas cabe ao Interlegis decidir onde será mantido o código fonte produzido; o repositório em questão foi utilizado para simples conveniência. Cabe ao Interlegis definir se os produtos desenvolvidos serão mantidos nos servidores do próprio interlegis ou mesmo liberados publicamente no repositório collective do Plone. 3

5.Configuração do MySQL Antes de iniciar o Zope é preciso iniciar o servidor MySQL, criando-se os bancos de dados de produção e teste, com as devidas permissões. Cada Plone site pode ter uma conexão para um banco de dados diferente. Existe também uma definição de conexão padrão usada pelos testes automatizados (descritos como doctests). Por convensão, adotou-se que os bancos de dados de testes e de produção usam respectivamente as seguintes strings de conexão: Desenvolvimento: "mysql://interlegis:interlegis@localhost/testinterlegis" Produção: "mysql://interlegis:interlegis@localhost/id_plone_site" Em produção, cada Plone Site pode ter um banco de dados diferente, onde o nome do banco de dados é o id do objeto Plone Site. Essa string de conexão padrão pode ser alterada em uma property na ferramenta portal_properties/site_properties. Assim, se considerarmos que o id de um Plone Site em produção seria interlegis, temos: $ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.0.51a-3ubuntu5.1 (Ubuntu) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> create database interlegis; Query OK, 1 row affected (0.12 sec) mysql> create database testinterlegis; Query OK, 1 row affected (0.00 sec) mysql> grant all on interlegis.* to interlegis@localhost identified by 'interlegis'; Query OK, 0 rows affected (0.00 sec) mysql> grant all on testinterlegis.* to interlegis@localhost identified by 'interlegis'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Após ajustar as permissões do banco de dados, é importante verificar se o engine padrão de persistência do MySQL é o InnoDB. Esse engine permite a criação de 4

tabelas com suporte transacional, com o recurso de rollback. Para isso, recomenda-se que o arquivo /etc/mysql/my.cnf contenha: [mysqld]... default-storage_engine = innodb 6.Configuração do Zope Após configurar as permissões e o engine padrão de persistência no servidor MySQL, podemos testar a inicialização do servidor Zope. Para isso, podemos iniciar o Zope em modo foreground com o seguinte comando: $./bin/instance fg Se durante a primeira tentativa de inicializar a instancia do Zope ocorrer o seguinte erro: /opt/zope/interlegis-plone25/parts/instance/bin/runzope -X debug-mode=on 2008-10-15 12:50:58 INFO ZServer HTTP server started at Wed Oct 15 12:50:58 2008 Hostname: 0.0.0.0 Port: 8090 2008-10-15 12:50:58 CRITICAL Zope A user was not specified to setuid to; fix this to start as root (change the effective-user directive in zope.conf) Traceback (most recent call last): File "/opt/zope/interlegis-plone25/parts/zope2/lib/python/zope2/startup/run.py", line 56, in? run() File "/opt/zope/interlegis-plone25/parts/zope2/lib/python/zope2/startup/run.py", line 21, in run starter.prepare() File "/opt/zope/interlegis-plone25/parts/zope2/lib/python/zope2/startup/ init.py", line 94, in prepare self.dropprivileges() File "/opt/zope/interlegis-plone25/parts/zope2/lib/python/zope2/startup/ init.py", line 213, in dropprivileges return dropprivileges(self.cfg) File "/opt/zope/interlegis-plone25/parts/zope2/lib/python/zope2/startup/ init.py", line 382, in dropprivileges raise ZConfig.ConfigurationError(msg) ZConfig.ConfigurationError: A user was not specified to setuid to; fix this to start as root (change the effective-user directive in zope.conf) significa que a instancia não pode ser inicializada com o usuário (geralmente o usuário root ou outro usuário que não tenha permissão de escrita no diretório parts/instance/var). Para corrigir isso, pode-se alterar a diretiva effective-user do etc/zope.conf ou efetuar ajustes nas permissões usando o comando chmod. 5

7.Testes Automatizados Para executar os testes automatizados que cobrem a implementação, interrompe-se a execução do Zope (pressionando-se ctrl-c caso ele esteja rodando em modo foreground ou usando o comando $./bin/instance stop caso ele esteja rodando em modo background) e em seguida edita-se o arquivo de configuração config.py, como demonstrado a seguir: $ vim src/interlegis.sqlalchemystorage/interlegis/sqlalchemystorage/config.py TEST_MODE = True CLEAN_DB = True E então executa-se os testes automatizados:./bin/instance test -p "interlegis.sqlalchemystorage" Durante a execução dos testes não deve ser reportada nenhuma falha ou erro. Se isso ocorrer, é possível que o suporte ao engine InnoDB do MySQL não esteja funcionando e, por sua vez, a integridade transacional entre o Zope e o MySQL esteja sendo afetada. Para voltar a executar o Zope usando o banco de dados de produção, deve-se alterar novamente o arquivo config.py para: TEST_MODE = False CLEAN_DB = False 8.Rodando o Zope Depois de rodar os testes automatizados e verificar que tudo funciona como esperado, podemos inicializar o servidor Zope (com o comando $./bin/instance stop ), abrir um navegador e acessar o seguinte endereço: url: http://ip_servidor:8090/manage usuario: admin senha: admin A porta 8090 assim como o usuário e senha admin são definidos como padrão pelo buildout. 6