Instalação Plone 2.5.5 com módulos customizados

Introdução

O Plone também conhecido por PZP – Python/Zope/Plone, assim chamado pela formação do ambiente, que envolve a linguagem de programação 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 segurança, possui várias funcionalidades técnicas que podem ser comparadas com outros CMS na url http://cmsmatrix.org/matrix/cms-matrix/plone.

Trata-se de uma plataforma para gerenciamento de diversos tipos de conteúdo sem que sejam necessários conhecimentos técnicos em relação a estrutura codificada estrutura a plataforma. Pode-se construir um site completo, com diversas funcionalidades, sem a necessidade da construção de códigos complexos em linguagem de programação.

O Plone abre espaço para customização de sua aparência e estrutura de navegação, além de possibilitar personalização do site através da escolha de cores, imagens e posicionamentos de diversos componentes. Em um nível mais avançado, a utilização do Plone dá conta da implementação 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 Conteúdo ou popularmente chamado pelo acrônimo em Inglês CMS – Content Management System, é um software livre e de código aberto.

Possui incorporado um sistema de workflow, diretivas de segurança e funções pré-configuradas, metadados para tipos conteúdo e suporte para múltiplos idiomas.

Além disto desenvolvedores e testadores de todo o mundo contribuem com a sua construção e melhoria.


O que pode ser feito com o Plone?

  • Criar o site facilmente;
  • Gerenciar todo o conteúdo do site através de uma interface amigável;
  • Delegar sub-tarefas em áreas especificas do sítio sem comprometer a escalabilidade e a seguraça;
  • Criar e organizar conteúdo de forma colaborativa através de um fluxo de trabalho;
  • Personalização básica do aspecto visual do site através de interface intuitiva;
  • Divulgar notícias, eventos e links;
  • Publicar fotos, arquivos e vídeos;
  • Organizar hierarquicamente seu conteúdo através de menus de navegação;

Quais recursos são oferecidos pelo Plone?

  • Criação e manutenção de conteúdo;
  • Todo gerenciamento de conteúdo realizado através do navegador Web;
  • Gerenciamento de usuários com níveis hierárquicos;
  • Fluxo de publicação colaborativa de conteúdo (workflow);
  • Geração automática de infra-estrutura de navegação;
  • Mecanismo de busca avançada;
  • Possibilidade de criação de portais de Internet ou Intranet;
  • Criação de blog corporativo;
  • Ferramentas colaborativas para groupware;
  • Repositório de conteúdos como imagens, documentos e vídeos;
  • Agendamento e divulgação de eventos;
  • Galeria de imagens;
  • Área integrada de notícias;
  • Segurança e integridade dos dados;
  • Suporte a internacionalização;

escopo

O escopo de customização 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, não será abordado instalação em outro sistema operacional neste artigo;

  • O Plone 2.5.5 é a ultima revisão estável da versão 2, e possui os seguintes pacotes incorporados e respectivas versões:
    Plone-2.5.5-UnifiedInstaller/packages/elementtree-1.2.6-20050316.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 utilização da interfaces Zope 3; a configuração baseada ZCML, dos adaptadores, das páginas do browser (incluindo skins, camadas e recursos); automatizar a adição e edição de formulários 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 gráficos.

  • Reportlab é uma biblioteca de software que permite criar documentos diretamente no formato Portable Document Format (PDF), utilizando a linguagem de programação Python. Ele também cria tabelas e gráficos de dados em bitmap e vários formatos vetoriais, além do PDF. O PDF é o padrão mundial para documentos eletrônicos, que suporta alta qualidade de impressão ainda é totalmente portável para todas as plataformas.

Instalação

Considerando que o sistema operacional esteja instalado e configurado corretamente, execute:
Debian Like sudo aptitude install build-essential;
RedHat Like sudo yum install gcc cpp gcc-c++ make;

Instalação do PZP

Baixe e descompacte primeiramente o Plone-2.5.5-UnifiedInstaller.
  1. wget https://launchpad.net/plone/2.5/2.5.5/+download/Plone-2.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. PLONE_HOME=/opt/Plone-2.5.5
    10. LOCAL_HOME=$PLONE_HOME
    11. #
    Edite a linha 10, PLONE_HOME, com o local de instalação desejado, salve e feche o arquivo ([esc] :qw);
  5. Agora execute o script de instalação:
    ./install.sh; ou
    su ; ./install.sh
    Nesta fase, será compilado um ambiente isolado do sistema operacional, no diretório escolhido para ser instalado, onde todos os componentes necessários para o ambiente, estão contidos.

Instalação 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 versão 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/Plone-2.5.5/lib/python/Products;
  4. ou somente
    sudo tar xvzf Five-1.4.4.tgz -C /tmp/Plone-2.5.5/lib/python/Products;

Instalação 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 diretório descompactado:
    cd /tmp/Imaging-1.1.7/
  4. Proceda com o comando abaixo para instalação:
    /tmp/Plone-2.5.5/Python-2.4.4/bin/python setup.py install

Instalação 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 diretório descompactado:
    cd /tmp/ReportLab_2_4/
  4. Proceda com o comando abaixo para instalação:
    /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 usuário e senha para logar na ZMI, Zope Manage Interface;
  • bin – contem os binários do framework Zope;
  • doc – contem alguns arquivos da documentação do ZOPE;
  • lib – contem as bibliotecas utilizadas pelo ambiente;
  • Python-2.4.4 – contem o python completo;
  • receipts – contem o relatório de instalação, com as informações: 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 compilação 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 configuração contém duas instancias zope client e umas zope server. O diretório zeocluster, é o diretório em evidência neste tutorial. Onde pode-se configurar as particularidades nas instancias.
drwxrwxr-x 2 plone root 4096 2011-10-17 21:56 bin drwxrwxr-x 9 plone root 4096 2011-10-17 21:55 client1 drwxrwxr-x 9 plone root 4096 2011-10-17 21:55 client2 drwxrwxr-x 45 plone staff 4096 2011-10-17 21:55 Products drwxrwxr-x 6 plone root 4096 2011-10-17 21:55 server
  • bin – scripts de controle cluster
  • client1 – configuração do zope client
  • client2 – configuração do zope client
  • Products – produtos plone, que são módulos agregadores de funções;
  • server – configuração do servidor; ZServer - Zope Server Web, ZODB - Zope Object Data Base;

Boas Práticas

As duas instancias zope client, servem para balancear as requisições; e devem ser idênticas para funcionar adequadamente. Uma forma de garantir a igualdade de funcionalidades é compartilha os mesmos módulos agregadores de funções. E a maneira mais fácil de faze-lo é utilizando links simbólicos.
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 organização, principalmente se o ambiente tiver diversos produtos plone, uma boa prática é separar os produtos originais, ou básicos; antes de instalar novos produtos.
mv Products plone; mkdir Products; cd Products; ln -s ../plone/* .

Conclusão

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 não 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 diretório /tmp/Plone-2.5.5/zeocluster/Products/, que será compartilhado entre as instâncias que seguirem as boas práticas sitadas neste tutorial. Para que se tenha efeito é sempre necessário reiniciar o ambiente.

Desvantagem

O PZP é um excelente CMS, a única desvantagem é manter a infraestrutura, que deve conter um servidor de aplicação PZP como mostrado neste artigo, e obrigatóriamente um servidor de Cache, em alguns casos acrescenta-se um servidor Web.

Atualizações

22/10/2011; 12/12/2011; 27/02/2012; 31/08/2012


Itens Relacionados

Instalação Plone 2.5.5 com módulos customizados utilizando easy_install
Referênciashttp://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
Versão PDF

Comentários