Você está na página 1de 7

Instalao Plone 2.5.

5 com mdulos customizados


Ricardo Brito do Nascimento
http://brito.blog.incolume.com.br/2011/10/instalacao-plone-255-com-modulos.html 18 de outubro de 2011 Resumo O Plone o CMS com menos falhas de segurana, software livre, gratuito e totalmente customizvel; que pode atender diversas necessidades com portais e stios web.

Introduo
O Plone tambm conhecido por PZP Python/Zope/Plone, assim chamado pela formao do ambiente, que envolve a linguagem de programao interpretada Python, o framework para desenvolvimento web Zope e o CMS Content Management System Plone. O Plone est entre os CMS com menor ndice de falhas de segurana, possui vrias funcionalidades tcnicas que podem ser comparadas com outros CMS na url http://cmsmatrix.org/matrix/cmsmatrix/plone. Trata-se de uma plataforma para gerenciamento de diversos tipos de contedo sem que sejam necessrios conhecimentos tcnicos em relao a estrutura codificada estrutura a plataforma. Pode-se construir um site completo, com diversas funcionalidades, sem a necessidade da construo de cdigos complexos em linguagem de programao. O Plone abre espao para customizao de sua aparncia e estrutura de navegao, alm de possibilitar personalizao do site atravs da escolha de cores, imagens e posicionamentos de diversos componentes. Em um nvel mais avanado, a utilizao do Plone d conta da implementao de novas funcionalidades por parte de desenvolvedores de software, que podem ser agregadas a estrutura j existente, como AD/LDAP, Samba, e outros recurso.

O que o Plone?
O Plone, classificado como um Sistema Gerenciador de Contedo ou popularmente chamado pelo acrnimo em Ingls CMS Content Management System, um software livre e de cdigo aberto. Possui incorporado um sistema de workflow, diretivas de segurana e funes pr-configuradas, metadados para tipos contedo e suporte para mltiplos idiomas. Alm disto desenvolvedores e testadores de todo o mundo contribuem com a sua construo e melhoria.

O que pode ser feito com o Plone?


Criar o site facilmente; Gerenciar todo o contedo do site atravs de uma interface amigvel;

Delegar sub-tarefas em reas especificas do stio sem comprometer a escalabilidade e a seguraa; Criar e organizar contedo de forma colaborativa atravs de um fluxo de trabalho; Personalizao bsica do aspecto visual do site atravs de interface intuitiva; Divulgar notcias, eventos e links; Publicar fotos, arquivos e vdeos; Organizar hierarquicamente seu contedo atravs de menus de navegao;

Quais recursos so oferecidos pelo Plone?


Criao e manuteno de contedo; Todo gerenciamento de contedo realizado atravs do navegador Web; Gerenciamento de usurios com nveis hierrquicos; Fluxo de publicao colaborativa de contedo (workflow); Gerao automtica de infra-estrutura de navegao; Mecanismo de busca avanada; Possibilidade de criao de portais de Internet ou Intranet; Criao de blog corporativo; Ferramentas colaborativas para groupware; Repositrio de contedos como imagens, documentos e vdeos; Agendamento e divulgao de eventos; Galeria de imagens; rea integrada de notcias; Segurana e integridade dos dados; Suporte a internacionalizao;

escopo
O escopo de customizao est limitado ao seguinte Ambiente: Sistema Operacional Linux
http://distrowatch.com/

Plone-2.5.5-UnifiedInstaller
https://launchpad.net/plone/2.5/2.5.5/+download/Plone-2.5.5-UnifiedInstaller.tgz

Five-1.4.4
http://codespeak.net/z3/five/release/Five-1.4.4.tgz

Imaging-1.1.7(PIL)
http://effbot.org/downloads/Imaging-1.1.7.tar.gz

reportlab-2.4
http://www.reportlab.com/ftp/reportlab-2.4.tar.gz

O sistema Operacional poder ser qualquer um Linux, no ser abordado instalao em outro sistema operacional neste artigo; O Plone 2.5.5 a ultima reviso estvel da verso 2, e possui os seguintes pacotes incorporados e respectivas verses:
Plone-2.5.5-UnifiedInstaller/packages/elementtree-1.2.620050316.tar.gz Plone-2.5.5-UnifiedInstaller/packages/HelperScripts.tgz Plone-2.5.5-UnifiedInstaller/packages/Imaging-1.1.6.tar.bz2 Plone-2.5.5-UnifiedInstaller/packages/jpeg-6b.tar.bz2

Plone-2.5.5-UnifiedInstaller/packages/libxml2-2.6.30.tar.bz2 Plone-2.5.5-UnifiedInstaller/packages/libxml2-python-2.6.21.tar.bz2 Plone-2.5.5-UnifiedInstaller/packages/libxslt-1.1.22.tar.bz2 Plone-2.5.5-UnifiedInstaller/packages/Plone-2.5.5.tar.bz2 Plone-2.5.5-UnifiedInstaller/packages/Python-2.4.4.tar.bz2 Plone-2.5.5-UnifiedInstaller/packages/python-openid-2.0.1.tar.bz2 Plone-2.5.5-UnifiedInstaller/packages/PyXML-0.8.4.tar.bz2 Plone-2.5.5-UnifiedInstaller/packages/reportlab_2_0.tar.bz2 Plone-2.5.5-UnifiedInstaller/packages/setuptools-0.6c7-py2.4.tgz Plone-2.5.5-UnifiedInstaller/packages/TextIndexNG-3.1.16.tar.bz2 Plone-2.5.5-UnifiedInstaller/packages/zlib-1.2.3.tar.bz2 Plone-2.5.5-UnifiedInstaller/packages/Zope-2.9.8-final.tar.bz2

o Five um produto Zope 2 que atualmente permite integrar tecnologias Zope 3 no Zope 2. Entre outros, ele permite: a utilizao da interfaces Zope 3; a configurao baseada ZCML, dos adaptadores, das pginas do browser (incluindo skins, camadas e recursos); automatizar a adio e edio de formulrios baseados em esquemas, eventos de objeto; utilizar o estilo i18n para Zope 3 de mensagem catalogadas. Imaging ou Python Imaging Library (PIL) adiciona capacidades de processamento de imagem para o interpretador Python. Esta biblioteca suporta muitos formatos de arquivo, e fornece um poderoso processamento de imagem e recursos grficos. Reportlab uma biblioteca de software que permite criar documentos diretamente no formato Portable Document Format (PDF), utilizando a linguagem de programao Python. Ele tambm cria tabelas e grficos de dados em bitmap e vrios formatos vetoriais, alm do PDF. O PDF o padro mundial para documentos eletrnicos, que suporta alta qualidade de impresso ainda totalmente portvel para todas as plataformas.

Instalao
Considerando que o sistema operacional esteja instalado e configurado corretamente, execute: Debian Like sudo aptitude install build-essential; RedHat Like sudo yum install gcc gpp cpp libc-dev libc6-dev make;

Instalao do PZP
Baixe e descompacte primeiramente o Plone-2.5.5-UnifiedInstaller. 1.wget https://launchpad.net/plone/2.5/2.5.5/+download/Plone2.5.5-UnifiedInstaller.tgz 2.tar xvzf Plone-2.5.5-UnifiedInstaller.tgz -C /tmp 3.cd /tmp/Plone-2.5.5-UnifiedInstaller 4.vim install.sh

1.#!/bin/sh 2.# 3.# Unified Plone installer build script 4.# Author: Kamal Gill (kamalgill at mac.com) 5.# 6.# Note: this script must be run as root 7.# 8.# Configure Plone installation options 9.# 10.PLONE_HOME=/opt/Plone-2.5.5 11.LOCAL_HOME=$PLONE_HOME 12.# Edite a linha 10, PLONE_HOME, com o local de instalao desejado, salve e feche o arquivo ([esc] :qw); 5. Agora execute o script de instalao: ./install.sh; ou su ; ./install.sh Nesta fase, ser compilado um ambiente isolado do sistema operacional, no diretrio escolhido para ser instalado, onde todos os componentes necessrios para o ambiente, esto contidos.

Instalao do Five
1. Baixe o pacote wget http://codespeak.net/z3/five/release/Five-1.4.4.tgz 2. Localize onde o Five est instalado na estrutura; find /tmp/Plone-2.5.5 -name "*Five*" O resultado dever ser semelhante a este: /tmp/Plone-2.5.5/lib/python/Products/Five 3. e substitua-o pela verso proposta; com estes comandos: sudo rm /tmp/Plone-2.5.5/lib/python/Products/Five; sudo tar xvzf Five-1.4.4.tgz -C /tmp/Plone2.5.5/lib/python/Products; 4. ou somente sudo tar xvzf Five-1.4.4.tgz -C /tmp/Plone2.5.5/lib/python/Products;

Instalao do PIL
1. Baixe o pacote wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz 2. Descompacte-o: tar xvzf Imaging-1.1.7.tar.gz -C /tmp/ 3. Acesse o diretrio descompactado: cd /tmp/Imaging-1.1.7/ 4. Proceda com o comando abaixo para instalao: /tmp/Plone-2.5.5/Python-2.4.4/bin/python setup.py install

Instalao do Reportlab
1. Baixe o pacote wget http://www.reportlab.com/ftp/reportlab-2.4.tar.gz 2. Descompacte-o: tar xvzf reportlab-2.4.tar.gz -C /tmp/ 3. Acesse o diretrio descompactado: cd /tmp/ReportLab_2_4/ 4. Proceda com o comando abaixo para instalao: /tmp/Plone-2.5.5/Python-2.4.4/bin/python setup.py install

Entendendo a Estrutura PZP


ll /tmp/Plone-2.5.5 total 32 -rw-rw---- 1 plone root 710 2011-10-17 21:56 adminPassword.txt drwxrwxr-x 2 plone root 4096 2011-10-17 21:55 bin drwxrwxr-x 2 plone root 4096 2011-10-17 21:55 doc drwxrwxr-x 3 plone root 4096 2011-10-17 21:55 lib drwxrwxr-x 6 plone root 4096 2011-10-17 21:52 Python-2.4.4 drwxr-xr-x 2 root root 4096 2011-10-17 21:56 receipts drwxrwxr-x 10 plone root 4096 2011-10-17 21:55 skel drwxrwxr-x 7 plone root 4096 2011-10-17 21:56 zeocluster

adminPassword.txt contem usurio e senha para logar na ZMI, Zope Manage Interface; bin contem os binrios do framework Zope; doc contem alguns arquivos da documentao do ZOPE; lib contem as bibliotecas utilizadas pelo ambiente; Python-2.4.4 contem o python completo; receipts contem o relatrio de instalao, com as informaes: Plone 2.5.5 install completed on Seg Out 17 21:56:06 BRST 2011; skel contem o esqueleto modelo para uma instancia zope; zeocluster contem as instancias client e server do zope;

Nesta compilao foi criado um ambiente de cluster de processamento. Cada instancia do PZP, quando iniciada ser executada em um processador, caso o host seja multiprocessado; e a configurao contm duas instancias zope client e umas zope server. O diretrio zeocluster, o diretrio em evidncia neste tutorial. Onde pode-se configurar as particularidades nas instancias. drwxrwxr-x drwxrwxr-x drwxrwxr-x drwxrwxr-x drwxrwxr-x 2 plone root 4096 2011-10-17 21:56 bin 9 plone root 4096 2011-10-17 21:55 client1 9 plone root 4096 2011-10-17 21:55 client2 45 plone staff 4096 2011-10-17 21:55 Products 6 plone root 4096 2011-10-17 21:55 server

bin scripts de controle cluster client1 configurao do zope client client2 configurao do zope client Products produtos plone, que so mdulos agregadores de funes; server configurao do servidor; ZServer - Zope Server Web, ZODB - Zope Object Data Base;

Boas Prticas
As duas instancias zope client, servem para balancear as requisies; e devem ser idnticas para funcionar adequadamente. Uma forma de garantir a igualdade de funcionalidades compartilha os mesmos mdulos agregadores de funes. E a maneira mais fcil de faze-lo utilizando links simblicos. cd /tmp/Plone-2.5.5/zeocluster/client1 ln -sf ../Products . cd /tmp/Plone-2.5.5/zeocluster/client2 ln -sf ../Products .

Para efeito de organizao, principalmente se o ambiente tiver diversos produtos plone, uma boa prtica separar os produtos originais, ou bsicos; antes de instalar novos produtos.

mv Product plone; mkdir Product; cd Product; ln -s ../plone/* .

Concluso
Agora o ambiente esta pronto para ser iniciado. Basta executar: sudo /tmp/Plone-2.5.5/zeocluster/bin/startcluster.sh Verificar portas ativas: netstat -nlt Se as portas no foram alteradas, 8100 escultar zope server, 8080 zope client1 e 8081 zope client2. Acessando a ZMI No navegador digite a url: http://localhost:8080/manage Reiniciar: sudo /tmp/Plone-2.5.5/zeocluster/bin/restartcluster.sh Encerrar: sudo /tmp/Plone-2.5.5/zeocluster/bin/restartcluster.sh Para instalar novos produtos plone, instale-os no diretrio /tmp/Plone2.5.5/zeocluster/Products/, que ser compartilhado entre as instncias que seguirem as boas prticas sitadas neste tutorial. Para que se tenha efeito sempre necessrio reiniciar o ambiente.

Desvantagem
O PZP um excelente CMS, a nica desvantagem manter a infraestrutura, que deve conter um servidor de aplicao PZP como mostrado neste artigo, e obrigatriamente um servidor de Cache, em alguns casos acrescenta-se um servidor Web.

Referncias
http://paginas.ufrgs.br/tutorial/dicas-iniciais/sobre-o-plone http://plone.org http://svn.plone.org http://cmsmatrix.org/matrix/cms-matrix/plone http://codespeak.net/z3/five/ http://www.pythonware.com/products/pil/ http://www.reportlab.com/docs/reportlab-userguide.pdf