Administração de infraestrutura Zope/Plone

66
Administração de infraestrutura Zope/Plone Apostila para treinamento presencial 2012

Transcript of Administração de infraestrutura Zope/Plone

Page 1: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

Apostila para treinamento presencial

2012

Page 2: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

1

Este material é de livre uso e divulgação desde que preservada as citações de suas fontes.

As autorizações devem ser solicitadas para: [email protected]

Apostila de Treinamento ZOPE /Plone

Apostila de treinamento presencial de Zope e Plone – nível 200

Apostila Curso de Zope/Plone

Versão 1.1

Março de 2012

Palavras chave: Zope, Python, Plone, curso, treinamento, instalação

Page 3: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

2

CONTROLE DE VERSÕES

Versão Data Autor(es) Alterações

0.1 17/11/2011 ProdutivaTI Criação do documento

0.8 02/01/2012 Produtiva TI Revisão pelo Instrutor

1.0 05/01/2012 ProdutivaTI Liberação da versão 1.0

1.1 29/03/2012 Produtiva TI Revisão e ajuste do material

Agradecimentos:

Lucas Aquino

Tania Moreira

Douglas Soares de Andrade, autor da palestra Otimizando Portais Plone

A comunidade Plone que nos ajudou a produzir este material.

Page 4: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

3

Sumário

SOBRE O TREINAMENTO ........................................................................................................ 5

CAPITULO 1 ............................................................................................................................ 6

Introdução .......................................................................................................................... 6

CONCEITOS BÁSICOS DO ZOPE/PLONE .......................................................................... 8

PYTHON ........................................................................................................................ 10

ZOPE .............................................................................................................................. 11

PLONE ........................................................................................................................... 13

ARQUITETURA .............................................................................................................. 14

REQUISITOS PARA INSTALAÇÃO DO PLONE 4 .............................................................. 15

PACOTES NECESSÁRIOS ................................................................................................ 17

NESTE CAPÍTULO VOCÊ VIU .......................................................................................... 21

REVISÃO DO CAPÍTULO 1 ................................................................................................. 23

REVISÃO DO CAPÍTULO 1 (respostas) .............................................................................. 24

EXERCÍCIOS DO CAPÍTULO 1 ............................................................................................. 25

Laboratório 1 .................................................................................................................... 25

CAPITULO 2 .......................................................................................................................... 26

Introdução ........................................................................................................................ 26

INTRODUÇÃO A SEGURANÇA DA INFORMAÇÃO EM ZOPE/PLONE ............................. 28

GERENCIAMENTO DE USUÁRIOS ..................................................................................... 29

SEGURANÇA .................................................................................................................. 29

PERMISSÕES PADRÃO................................................................................................... 31

INTERFACE DE GERENCIAMENTO ZOPE (ZMI) .............................................................. 33

COMO CRIAR UM NOVO USUÁRIO/GRUPO ..................................................................... 35

POLÍTICA PARA CRIAÇÃO E MANUTENÇÃO .................................................................. 35

Page 5: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

4

PAPÉIS LOCAIS E COMPARTILHAMENTO ......................................................................... 37

CONTROLE DE ACESSO POR MEIO DE WORKFLOW ......................................................... 38

NESTE CAPÍTULO VOCÊ VIU .......................................................................................... 40

REVISÃO DO CAPÍTULO 2 ................................................................................................. 41

REVISÃO DO CAPÍTULO 2 (respostas) .............................................................................. 42

Laboratório 02 .................................................................................................................. 43

CAPITULO 3 .......................................................................................................................... 45

Introdução ........................................................................................................................ 45

OTIMIZAÇÃO DE DESEMPENHO ....................................................................................... 47

PARÂMETROS QUE PODEM SER AJUSTADOS ............................................................... 47

ZEO ................................................................................................................................ 49

VARNISH ....................................................................................................................... 51

plone.app.caching - Políticas de cache ............................................................................ 53

DESCRIÇÃO DAS POLÍTICAS DE CACHE ......................................................................... 53

QUANDO APLICAR CADA TIPO DE POLÍTICA................................................................. 55

BACKUP e RESTORE .......................................................................................................... 58

REPOZO ......................................................................................................................... 60

REVISÃO DO CAPÍTULO 3 ................................................................................................. 62

EXERCÍCIOS DO CAPÍTULO 3 ............................................................................................. 63

REVISÃO DO CAPÍTULO 3 (respostas) .............................................................................. 64

Laboratório 3 .................................................................................................................... 65

Page 6: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

5

SOBRE O TREINAMENTO

Page 7: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

6

CAPITULO 1

Introdução

Vamos conceituar todas as ferramentas que serão usadas nesse curso.

Plone, um Sistema Gerenciador de Conteúdo (CMS - Content Management System) livre e

de código aberto, escrito em Python e que roda utilizando o servidor de aplicações Zope.

Seu principal objetivo é facilitar a criação, edição, publicação e distribuição de

informação. Focado no usuário com pouco conhecimento técnico, apresenta uma

plataforma intuitiva.

Zope, um ambiente para a construção e gerenciamento de aplicações Web com foco no

seu conteúdo. Ele interpreta os fragmentos de códigos ZPT e DTML em seus templates e

gera uma saída HTML compreensível para qualquer navegador Web

Python, uma linguagem de programação de alto nível, interpretada, imperativa, orientada

a objetos, de tipagem dinâmica e forte. Atualmente possui um modelo de

desenvolvimento comunitário, aberto e gerenciado pela organização sem fins lucrativos

Python Software Foundation

Além de especificações de instalação, pré-requisitos e sistema operacionais. Sabendo que

para instalar os produtos necessita ter acesso como usuário root e internet.

Page 8: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

7

Neste Capítulo você verá

Introdução a:

o SGC

o Zope

o Plone

o Python

o Arquitetura

Requisitos de instalação do Plone 4

o Sistema Operacional

o Hardware

o Pacotes necessários

o Atualizações

Page 9: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

8

CONCEITOS BÁSICOS DO ZOPE/PLONE

Sistema de Gestão de Conteúdo (SGC) - do inglês Content Management Systems (CMS) é

um sistema gestor de websites, e intranets que integra ferramentas necessárias para gerir

(inserir, editar e excluir) conteúdos on line sem a necessidade de programação de código,

cujo objetivo é estruturar e facilitar a criação, administração, distribuição, publicação e

disponibilidade da informação. Uma boa vantagem em usar o Plone é a grande

quantidade de funções presentes através de complementos (galerias de fotos,

gerenciadores de enquetes, gerenciadores de formulários) que podem ser agregados ao

SGC.

Um CMS é semelhante a um framework (um esqueleto) de website pré-estruturado, com

recursos básicos de: usuabilidade, visualização e administração já prontamente

disponíveis. É um sistema que permite a criação, armazenamento e administração de

conteúdos de forma dinâmica, através de uma interface de acesso via Internet.

Page 10: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

9

Um CMS permite que a empresa tenha total autonomia sobre o conteúdo e evolução da

sua presença na internet e dispense a assistência de terceiros ou empresas especializadas

para manutenções de rotina. Nem mesmo é preciso um funcionário dedicado

(webmaster), pois cada membro da equipe poderá gerir seu próprio conteúdo,

diminuindo os custos com recursos humanos. A habilidade necessária para trabalhar com

um CMS não vai muito além dos conhecimentos necessários para um usuário de um

simples editor de texto.

Com soluções prontas e totalmente customizáveis reduz o tempo de implementação,

porque permite que o esforço se concentre em soluções específicas e na produção do

layout. É possível construir um site completo, com diversas funcionalidades, sem a

necessidade de desenvolver códigos complexos em linguagem de programação.

Outra facilidade é que possui sistema de workflow, segurança e funções pré-configuradas

e suporte a várias línguas, permitindo que a sua administração seja desmistificada.

Com uma comunidade numerosa, recebe em construção e manutenção, a contribuição de

desenvolvedores em todo o mundo.

Um aspecto importante, é que mesmo sendo uma ferramenta muito intuitiva, o Plone

ainda abre espaço para uma grande customização de sua aparência e estrutura de

navegação. Há a possibilidade de personalizar o site através da escolha de cores, imagens

e posicionamentos de diversos componentes. Ainda, num 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.

Page 11: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

10

PYTHON

Python é uma linguagem de programação de alto nível, interpretada, imperativa,

orientada a objetos, de tipagem dinâmica e forte. Foi lançada por Guido van Rossum em

1991. Atualmente possui um modelo de desenvolvimento comunitário, aberto e

gerenciado pela organização sem fins lucrativos Python Software Foundation. Apesar de

várias partes da linguagem possuírem padrões e especificações formais, a linguagem

como um todo não é formalmente especificada. O padrão de fato é a implementação

CPython.

A linguagem foi projetada com a filosofia de enfatizar a importância do esforço do

programador sobre o esforço computacional. Prioriza a legibilidade do código sobre a

velocidade ou expressividade. Combina uma sintaxe concisa e clara com os recursos

poderosos de sua biblioteca padrão e por módulos e frameworks desenvolvidos por

terceiros.

Page 12: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

11

ZOPE

Zope é um ambiente para a construção e gerenciamento de aplicações Web com foco no

seu conteúdo. Ele interpreta os fragmentos de códigos ZPT e DTML em seus templates e

gera uma saída HTML compreensível para qualquer navegador Web. Ou seja, as páginas

de um servidor Zope são geradas dinamicamente, no momento em que o servidor recebe

o pedido do browser, mesclando esses dois componentes.

O Zope CMF (Content Management Framework) prevê uma plataforma poderosa e

customizavel para construção de aplicações de ger ência de conteúdo com o Zope.

Os objetos que o Zope publica na Web são escritos em linguagem Python e armazenados

em seu banco de dados, orientado a objetos, o ZODB (Zope Object Database).Dessa

forma, tudo o que aparece em um site Zope, como por exemplo, páginas web, imagens,

links ou arquivos, são objetos e armazenados por padrão em banco de dados.

O Zope é um ambiente bastante amigável e tem características muito importantes que o

fazem se destacar:

Page 13: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

12

Mapeia e acessa objetos passados na URL do navegador, respeitando as

permissões de segurança e de acesso;

Armazena as versões antigas de um objeto, o que permite desfazer alterações,

controlar versões de documentos colaborativos e revisões.

O Zope só interpreta códigos escritos em DTML ou ZPT. O que não estiver nesses

padrões é repassado para o navegador. Isso permite que estruturas escritas em

Javascript, CSS, etc, passam ser utilizadas normalmente.

Pode ser usado em todas as plataformas: Unix, Linux, Mac OS e em todas as

versões do Window

Page 14: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

13

PLONE

O Plone é um Sistema Gerenciador de Conteúdo (CMS - Content Management System)

livre e de código aberto, escrito em Python e que roda utilizando o servidor de aplicações

Zope. Seu principal objetivo é facilitar a criação, edição, publicação e distribuição de

informação. Focado no usuário com pouco conhecimento técnico, apresenta uma

plataforma intuitiva.

Page 15: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

14

ARQUITETURA

Page 16: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

15

REQUISITOS PARA INSTALAÇÃO DO PLONE 4

O Plone 4 possui uma instalação automática que já inclui tudo o que é necessário para

que ele seja executado. O instalador está acessível para download em

http://plone.org/products/plone/releases/ e disponível para os seguintes sistemas

operacionais:

Linux

BSD

Windows

Page 17: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

16

OS X

É necessário que o servidor onde vai ocorrer a instalação tenha acesso a internet e que o

usuário possua credenciais de administrador na máquina, ou ao menos as seguintes

permissões:

Acesso ao console de comando

Permissão para executar serviços e processos no servidor

Permissão para habilitar portas no servidor

Os requisitos de hardware dependem da quantidade de sites que compõem o portal,

previsão de acessos simultâneos e da infraestrutura de segurança, entretanto para um

portal com 100 acessos simultâneos é necessário que o servidor possua ao menos:

Processos de 2 núcleos com no mínimo 1.2 GHZ.

500 GB de espaço em HD.

2 GB de memória RAM

Page 18: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

17

PACOTES NECESSÁRIOS

Seu ambiente deve estar com o acesso à internet configurado.

[Os comandos a seguir foram criados para o Ubuntu. Pequenas adaptações podem ser

necessárias para outros ambientes]

Para executar os comandos abaixo você precisará ter acesso a privilégios de root.

1. Atualizar a lista de pacotes:

$ sudo aptitude update

2. Instalar as bibliotecas padrões para compilação (gcc e outros, que serão

necessários mais adiante):

$ sudo aptitude install build-essential

$ sudo apt-get install gcc g++ make

Page 19: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

18

$ sudo apt-get install subversion git

$ sudo apt-get install zlib1g-dev

$ sudo apt-get install python-setuptools

$ sudo apt-get install libjpeg libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev

$ python -vv -c "import _imaging"

3. Instalar virtualenv

$ git clone https://github.com/collective/buildout.python OU baixar ZIP no mesmo

endereco

$ cd buildout.python

$ python bootstrap.py

$ bin/buildout -vv

4. Criar o ambiente env(virtualenv)

$ ~/buildout.python/bin/virtualenv26 ~/virtualPy26 --no-site-packages

$ cd ~/virtualPy26/bin

Ativando o virtualenv:

$ source ./activate

(virtualPy26)$

5. Criar buildout de instalação.

(virtualPy26)$ ./easy_install zopeskel == 2.19

Page 20: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

19

(virtualPy26)$ sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib

(virtualPy26)$ sudo ln -s /usr/lib/i386-linux-gnu/libfreetype.so /usr/lib

(virtualPy26)$ sudo ln -s /usr/lib/i386-linux-gnu/libz.so /usr/lib

(virtualPy26)$ ./pip install -U PIL

note :: http://collective-docs.readthedocs.org/en/latest/tutorials/paste.html

(virtualPy26)$ ./paster create --list-templates

(virtualPy26)$ ./paster create -t plone4_buildout plone4

Versão do Plone 4.1.3

(virtualPy26)$ mkdir ~/instancias

(virtualPy26)$ mv plone4 ~/instancias

6. Instalação do Plone 4

Criar um backup do buildout:

(virtualPy26)$ mkdir ~/bkp

(virtualPy26)$ cp -r ~/instancia/plone4 ~/bkp

Acessar o buildout de instalação do Plone 4:

(virtualPy26)$ cd ~/instancia/plone4

Page 21: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

20

(virtualPy26)$ python bootstrap.py

(virtualPy26)$ bin/buildout -vv

Após processo de baixar e instalar os pacotes, iniciar o servico do Zope:

(virtualPy26)$ ~/instancia/plone4/bin/instance fg

note :: Caso não funcione a imagem

(virtualPy26)$ wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz

(virtualPy26)$ tar -zxvf Imaging-1.1.7.tar.gz

(virtualPy26)$ cd Imaging-1.1.7

(virtualPy26)$ python setup.py install

Page 22: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

21

NESTE CAPÍTULO VOCÊ VIU

Introdução a:

o Zope e Plone

O Plone é um Sistema Gerenciador de Conteúdo (CMS - Content Management System)

livre e de código aberto, escrito em Python e que roda utilizando o servidor de aplicações

Zope.

o Python

Python é uma linguagem de programação de alto nível, interpretada, imperativa,

orientada a objetos, de tipagem dinâmica e forte. Foi lançada por Guido van Rossum em

1991.

o Arquitetura

O Plone é um gerenciador de conteúdo, escrito em Python, que roda sob o servidor de

aplicações Zope, utilizando o framework CMF – Content Management Framework.

Page 23: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

22

Requisitos de instalação do Plone 4

o Sistema Operacional

Linux, Windows e MacOS.

o Hardware

1.2GHz, 2GB RAM e 500GB de HD.

o Pacotes necessários e Atualizações

Bibliotecas padrões para compilação

Virtualenv

PIL

Zopeskel

Page 24: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

23

REVISÃO DO CAPÍTULO 1

01) O Plone é:

a. Linguagem de programação

b. Software proprietário para desenvolvimento de sites

c. CMS

d. Servidor de Aplicações

02) O Python é:

a. Linguagem de programação

b. Software proprietário para desenvolvimento de sites

c. CMS

d. Servidor de Aplicações

03) O Zope é:

a. Linguagem de programação

b. Software proprietário para desenvolvimento de sites

c. CMS

d. Servidor de Aplicações

04) O Plone pode ser instalado em (selecione todas as corretas)

a. Windows

b. Linux

c. Mac OS

d. iOS

05) É correto afirmar que:

a. O Plone é uma linguagem de programação de fácil aprendizagem.

b. O Python é utilizado para fazer gestão de conteúdo

c. O Zope nada mais é do que um framework para desenvolvimento de

sistemas

d. O Zope tem CMF

Page 25: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

24

REVISÃO DO CAPÍTULO 1 (respostas)

01) O Plone é:

a. Linguagem de programação

b. Software proprietário para desenvolvimento de sites

c. CMS

d. Servidor de Aplicações

02) O Python é:

a. Linguagem de programação

b. Software proprietário para desenvolvimento de sites

c. CMS

d. Servidor de Aplicações

03) O Zope é:

a. Linguagem de programação

b. Software proprietário para desenvolvimento de sites

c. CMS

d. Servidor de Aplicações

04) O Plone pode ser instalado em (selecione todas as corretas)

a. Windows

b. Linux

c. Mac OS

d. iOS

05) É correto afirmar que:

a. O Plone é uma linguagem de programação de fácil aprendizagem.

b. O Python é utilizado para fazer gestão de conteúdo

c. O Zope nada mais é do que um framework para desenvolvimento de

sistemas

d. O Zope tem CMF

Page 26: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

25

EXERCÍCIOS DO CAPÍTULO 1

Laboratório 1

01) Criar uma nova instalação da instância do Plone 4, utilizando o virtualenv e o

buildout.

02) Altere o acesso da porta padrão 8080 de acesso HTTP para a porta 8484.

03) Adicionar novo Plone Site com o id: portal_dev

Page 27: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

26

CAPITULO 2

Introdução

Mostraremos algumas maneiras possíveis para melhorar a segurança do seu Plone site,

além dos tipos de usuários possíveis, adicionando papéis e permissões. Criando grupos e

workflows.

A segurança do Zope/Plone se dá com um bom gerenciamento dos papéis atribuídos,

sendo posto de forma correta para não fugir do controle o manuseio dos conteúdos do

seu Plone site.

O administrador do Plone site deve seguir uma forma melhor distribuída dos seus papéis

e permissões, também criando grupos que são formas convenientes de administrar

papéis (assim como permissões) para uma grande quantidade de usuários

simultaneamente.

Os papéis padrões são: “Member”, “Manager” e “Reviewer”. Existem também alguns

papéis nativos, como “Owner” e “Anonymous” e “Authenticated”.

As permissões mais comuns são “View”, “Modify portal content”, “Access contents

information” e “List folder contents”.

Workflows servem para dois propósitos - representar a evolução de um pedaço de

conteúdo, desde a criação, através dos ciclos de revisão, até o estado final, e para

controlar as permissões para o conteúdo em cada estado.

Page 28: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

27

Neste Capítulo você verá

Introdução a:

o Segurança da Informação em Zope/Plone

Gerenciamento de Usuários:

o Permissões Padrão

o Criar Usuários

o Criar Grupos

o Papéis locais e Compartilhamento

o Controle de acesso por meio de Workflow

Page 29: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

28

INTRODUÇÃO A SEGURANÇA DA INFORMAÇÃO EM ZOPE/PLONE

O Plone utiliza uma combinação de permissões de baixo nível, papéis, papéis locais e

fluxos de trabalho (sistema de workflow) para gerenciar as permissões dos objetos.

Entender isso ajudará a gerenciar como e por quem seu site Plone é acessado.

Page 30: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

29

GERENCIAMENTO DE USUÁRIOS

SEGURANÇA

O Plone utiliza uma combinação de permissões de baixo nível, papéis, papéis locais,

grupos e fluxos de trabalho (sistema de workflow) para gerenciar as permissões dos

objetos. Entender isso ajudará a gerenciar como e por quem o seu site Plone é acessado.

Permissões são objetos de baixo nível - elas especificam o que um usuário A pode fazer

exatamente, mas não B em um determinado contexto. Permissões são usadas como

guardas no acesso a métodos, scripts, templates, transições de workflow e algumas vezes

em componentes individuas na página.

A segurança do Zope/Plone se da com um bom gerenciamento dos papéis atribuídos,

sendo posto de forma correta para não fugir do controle o manuseio do conteúdo do

Page 31: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

30

portal. O administrador do portal deve seguir uma forma melhor distribuída das

permissões.

Page 32: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

31

PERMISSÕES PADRÃO

Permissões são atribuídas a papéis de usuários (user roles), não a usuários

individualmente. Logo, costuma-se dizer que, na pasta X, qualquer usuário com

'RandomRole' tem permissão para modificar o conteúdo do portal. Os papéis padrões

são:

Anonymous (anônimo)

Autehticated (autenticado)

Contributor (Colaborador)

Editor

Manager (Administrador)

Member (Membro)

Owner (Dono)

Reader (Leitor)

Reviwer (Revisor)

Page 33: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

32

Algumas deles são nativos, como Owner , Anonymous e Authenticated.

O papel ANONYMOUS é atribuído a todo usuário que não está autenticado.

A maioria dos membros de um portal possui o papel de MEMBER, mas isso não é

garantido.

OWNER somente se aplica quando o atual usuário é o dono de um determinado

conteúdo.

As permissões mais comuns são:

View

Modify portal content

Access contents information

List folder contents

Conhecidas como as "CMF Core permissions", localizadas no arquivo

'Products.CMFCore.permissions.py’ em variáveis como 'View' e 'ModifyPortalContent'.

Em geral, a maioria dos tipos de conteúdo usam essas permissões para acessar e

modificar dados.

Page 34: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

33

INTERFACE DE GERENCIAMENTO ZOPE (ZMI)

Na Interface de Gerenciamento do Zope (ZMI), quase todos os objetos possuem uma aba

'Security', nela podemos verificar uma longa listagem de permissões atribuídas a papéis.

A maioria delas está marcada com 'Acquire permission settings', significando que as

permissões concedidas a estes papéis são as mesmas do objeto pai. Definições de

segurança no Zope são aditivas, logo se você mantiver a opção 'Acquire' marcada e

adicionar outros papéis, você obterá os papéis configurados para os níveis superiores

(objeto pai) somados aos papéis configurados neste nível. Você pode parar essa aquisição

hereditária de regras desmarcando a opção 'Acquire'.

Na maioria dos casos, você não irá modificar permissões dessa forma, exceto ao

configurar padrões globais para permissões diferentes das permissões centrais acima. O

auto-registro , ou seja , a permissão para que os próprios usuários se registrem no site ,

não vem mais habilitada como em versões anteriores do Plone . Logo , só administradores

do site podem adicionar novos usuários inicialmente.

Page 35: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

34

Você pode livremente adicionar papéis conforme sua necessidade. Como membros

podem possuir mais de um papel simultaneamente, você provavelmente só precisa se

preocupar com um subconjunto de permissões quando se trata de atribui-las para um

novo papel. Use o formulário na parte inferior da guia 'Security' na raiz do portal para

adicionar e remover papéis.

Usuários podem ser associados a papéis manualmente usando a pasta de usuários

'acl_users' / 'portal_role_manager' na raiz de sua instância Plone. Entretanto, é mais

comum e indicado atribuir papéis a grupos e então adicionar usuários nos grupos, como

descrito na próxima seção.

Page 36: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

35

COMO CRIAR UM NOVO USUÁRIO/GRUPO

POLÍTICA PARA CRIAÇÃO E MANUTENÇÃO

O Plone adiciona o conceito de um grupo de usuários ao modelo básico de segurança do

Zope. Grupos são formas convenientes de administrar papéis (assim como permissões)

para uma grande quantidade de usuários simultaneamente.

Usuários podem estar em grupos - gerenciados por meio da tela de administração de

usuários e grupos nas Configurações do Site. Papéis podem ser atribuídos a grupos de

acordo com a necessidade - todos os usuários neste grupo receberão o papel atribuído ao

grupo.

É bastante incomum que somente um usuário receba determinado papel. É mais provável

que grupos de usuários possuam os mesmos papéis no portal - e mesmo quando existe

apenas um usuário (por exemplo, apenas um gestor do site), é valido criar um grupo para

atender a possibilidade de haver mais usuários no futuro. Como os usuário podem estar

Page 37: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

36

em vários grupos ao mesmo tempo, você pdoe ter um controle preciso sobre as

permissões e classificações de usuários que utilizam esse mecanismo.

Por padrão o Plone vem com dois grupos administrators e reviewers e na criação de um

novo usuário já vem a opção de adicioná-los nestes grupos.

No capítulo anterior mostramos como criar novos papéis no portal. Utilizando a

ferramenta de administração de usuários e grupos nas Configurações do Site, você pode

facilmente associar papéis a grupos – simplesmente marque as caixas relevantes e salve.

Para associar usuários ao grupo, clique no grupo pesquise, marque os usuários relevantes

e clique no botão adicionar. Uma vez dentro de um grupo, o usuário ganhará todos os

papéis atribuídos para aquele grupo além de quaisquer papéis atribuídos apenas para

aquele usuário.

Page 38: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

37

PAPÉIS LOCAIS E COMPARTILHAMENTO

Frequentemente você necessitará dar permissões específicas a um usuário ou grupo em

uma área peculiar do seu site, mas não em todo ele.

A aba 'Compartilhamento' em um conteúdo padrão do Plone é o que dá a você diferentes

permissões em diferentes áreas. Se ela não é exibida, você pode localizá-la adicionando

'@@sharing' ao final da URL.

No formulário de papéis locais, você pode pesquisar por outros usuários ou grupos e

associar-lhes papéis, além de poder isolar as permissões locais desmarcando a herança

de níveis superiores .

Atualmente os papéis locais podem ser adicionados em um nível mais baixo na árvore de

aquisição, mas não poderão ser retirados. Significa que, se você dá a um usuário

permissões de gerente (um papel global) em '/stuff', não há como previni-lo de ter

permissões de gerente em '/stuff/documents'.

Page 39: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

38

CONTROLE DE ACESSO POR MEIO DE WORKFLOW

Na maioria dos casos, workflows, geridos através da ferramenta portal_workflow, são a

forma correta de gerenciamento de permissões em seu conteúdo.

Estados do Workflow são exibidos em objetos contidos no menu drop-down – “Estado”

no canto superior-direito, na aba visão de um conteúdo que você possua permissão para

editar. A lista deste menu são as transições que você pode utilizar entre os estados do

workflow. Por exemplo, para mover de private (estado padrão) para o published você

utiliza a transição publish. Todo tipo de conteúdo ou não possui workflow (raro) ou possui

exatamente um associado a ele. Isso é configurado através da ferramenta

portal_workflow. A aba de conteúdo desta ferramenta na ZMI exibe os workflows

instalados atualmente. Você pode adicionar ou modificar workflows através dessa GUI.

Lembre-se de configurar o estado padrão, transições e permitir transições entre os

estados.

Page 40: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

39

O mecanismo do workflow irá gerenciar certo número de permissões e configurá-las

corretamente quando o estado de um objeto é mudado.

É importante atualizar as configurações de segurança clicando em Update security

settings na base da aba Workflows dentro de portal_workflow na ZMI.

Desta forma, workflows servem para dois propósitos - representar a evolução de um

pedaço de conteúdo, desde a criação, através dos ciclos de revisão, até o estado final, e

para controlar as permissões para o conteúdo em cada estado. Se você tem necessidades

particulares, você deve criar um novo, configurar os estados e transições necessárias,

fazer o workflow gerenciar um certo conjunto de permissões e configurar o mapeamento

de papéis-permissões para cada estado no workflow. Você pode controlar quem tem a

liberdade de alterar as permissões

Page 41: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

40

NESTE CAPÍTULO VOCÊ VIU

Page 42: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

41

REVISÃO DO CAPÍTULO 2

01) É uma das maneiras de manter a Segurança do Zope/Plone:

a. Manter poucos usuários

b. Não permitir criação de grupos

c. Bom gerenciamento dos papéis atribuídos, sendo posto de forma correta

para não fugir do controle o manuseio dos conteúdos.

02) São "papéis" padrão:

a. 'Member'; 'Manager'

b. 'View'; 'Modify'

c. 'Member'; 'View'

d. 'Anonymous'; 'Modify'

03) Quando criamos um novo usuário, por padrão qual papel ele recebe:

a. Member

b. View

c. Anonymous

d. Administrador

04) É correto afirmar que:

a. Quando dentro de um grupo, o usuário ganhará todos os papéis atribuídos

para aquele grupo além de quaisquer papéis atribuídos apenas para aquele

usuário.

b. Não conseguimos administrar papéis por Grupos

c. As permissões mais comuns são 'View', 'Anonymous'

d. Você não pode adicionar papéis apenas por necessidade

05) É incorreto afirmar que:

a. Grupos são formas convenientes de administrar papéis

b. workflows, geridos através da ferramenta portal_workflow, são a forma

correta de gerenciamento de permissões em seu conteúdo.

c. É bastante incomum que somente um usuário receba determinado papel

d. Todo tipo de conteúdo ou não possui workflow (raro) ou possui um ou

mais associado(s) a ele.

Page 43: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

42

REVISÃO DO CAPÍTULO 2 (respostas)

01) É uma das maneiras de manter a Segurança do Zope/Plone:

a. Manter poucos usuários

b. Não permitir criação de grupos

c. Bom gerenciamento dos papéis atribuídos, sendo posto de forma correta

para não fugir do controle o manuseio dos conteúdos

02) São "papéis" padrão:

a. 'Member'; 'Manager'

b. 'View'; 'Modify'

c. 'Member'; 'View'

d. 'Anonymous'; 'Modify'

03) Quando criamos um novo usuário, por padrão qual papel ele recebe:

a. Member

b. View

c. Anonymous

d. Administrador

04) É correto afirmar que:

a. Quando dentro de um grupo, o usuário ganhará todos os papéis

atribuídos para aquele grupo além de quaisquer papéis atribuídos apenas

para aquele usuário.

b. Não conseguimos administrar papéis por Grupos

c. As permissões mais comuns são 'View', 'Anonymous'

d. Você não pode adicionar papéis apenas por necessidade

05) É incorreto afirmar que:

a. Grupos são formas convenientes de administrar papéis

b. workflows, geridos através da ferramenta portal_workflow, são a forma

correta de gerenciamento de permissões em seu conteúdo.

c. É bastante incomum que somente um usuário receba determinado papel

d. Todo tipo de conteúdo ou não possui workflow (raro) ou possui um ou

mais associado(s) a ele.

Page 44: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

43

Laboratório 02

01) Acessar o Plone Site: portal_dev

02) Adicionar item, do tipo Pasta:

o Título: Biblioteca

03) Criar os seguintes grupos:

o Grupo de Gestores de conteúdos (grupo-gestores)

Papel de Colaborador

o Grupo da Biblioteca (grupo-biblioteca)

Papel local de acesso à pasta biblioteca

o Grupo de Editores (grupo-Editores)

Papel de Reviewer

Page 45: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

44

04) Atribua os papéis e permissões corretos a cada grupo, de acordo com sua

destinação.

05) Crie os usuários e os inclua nos respectivos grupos:

o João – não o inclua em nenhum grupo

o José e Maria – Grupo de Gestores de conteúdos

o Catatau e Zé Colmeia – Grupo da Biblioteca

o William e Fatima - Grupo de Editores

06) Acesse o site com cada um dos usuários e verifique o resultado.

Page 46: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

45

CAPITULO 3

Introdução

Vamos mostrar como otimizar o desempenho do seu Plone site, utilizando um servidor de

cache (Varnish). Neste capítulo também explicaremos o que são Políticas de cache.

O conteúdo deste treinamento tem como premissa que as otimizações relativas a

hardware, como arquitetura de disco, paginação de memória, entre outras, sistema

operacional, banco de dados e rede foram realizadas e estão operando em seu estado

ótimo. Apenas questões relativas ao desempenho do Plone serão tratadas neste capítulo.

Page 47: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

46

Neste Capítulo você verá

Otimização de desempenho:

o Parâmetros ajustáveis

o Varnish

Políticas de Cache:

o Descrição das políticas de Cache

o Quando aplicar cada tipo de política

Procedimento de backup

Page 48: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

47

OTIMIZAÇÃO DE DESEMPENHO

PARÂMETROS QUE PODEM SER AJUSTADOS

Instâncias da solução instaladas no “Front-End”, devem utilizar um servidor de cache. Os

servidores ZOPE podem ser escalados horizontalmente através da inclusão de um

balanceamento de cargas e o acesso aos arquivos organizado, com maior desempenho e

redundância com o uso de um servidor destinado a este fim.

Page 49: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

48

SERVIDOR DE CACHE- SQUID- VANISH

BALANCEAMENTO DE CARGA- Pound- Hardware

ZOPE

Servidor ZEO

Page 50: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

49

ZEO

Arquivos e imagens no ZODB: configurar o BLOB (Binary Large Objects) padrão no

Plone 4, para armazenar os arquivos e as imagens no sistema de arquivos do

servidor ou em um ponto de rede.

Códigos: utilizar getObject apenas em último caso, em todos os outros casos,

utilize as informações que já estão disponíveis no catálogo ou crie novos índices.

Cuidado com a “mega ultra power” resolução de um problema. Não reinvente a

roda, utilize a forma de resolver um problema e/ou código do próprio Zope/Plone.

Otimizar a infraestrutura de rede e dos servidores, em especial os subsistemas de

disco para aqueles sistemas com uso intensivo de dados dinâmicos.

Zope: utilizar um core do processador por instância. Para utilizar melhor a

capacidade do processador é necessário utilizar um servidor ZEO (Zope Enterprise

Objects) com várias instâncias e deixar o kernel determinar pra onde cada

processo vai.

Desabilitar o profiler (debug) quando o portal for para produção.

Page 51: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

50

O ZEO (Zope Enterprise Objects)é um sistema de balanceamento de carga utilizado pelo

ZOPE. O servidor ZEO é um servidor de armazenamento que permite a múltiplas

instâncias do ZOPE conectarem a uma única base de dados, por padrão, o ZODB.(Zope

Object Data Base).

Page 52: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

51

VARNISH

É uma solução open source, distribuída sob a licença BSD. Ele é um acelerador HTTP

projetado para websites com conteúdo dinâmico com alto volume de informações.

Ele serve como:

Ferramenta de apoio e gerenciamento do sistema de cache.

Ganho de performance para resposta do site

O Varnish foi desenvolvido para servir como proxy reverso para sistemas de

gerenciamento de conteúdo lentos.

Foco 100% em performance.

Capacidade de trabalhar em 32 ou 64 bits aproveitando ao máximo cada operação

do processador

Roda em Linux e BSD

O desempenho pode ser acelerado com o Vanish:

Page 53: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

52

A fim de evitar chamadas para gravação em disco desnecessárias, todo o

gerenciamento de log é feito em memória.

Controle sobre cada resposta às requisições.

Podemos sobrescrever o TTL dos pacotes, adicionar ou remover cabeçalho remover

cookies, reescrever urls e invalidar objetos no cache.

Suporte a balanceamento de carga inclusive com checagem da saúde dos

servidores.

Controle sobre o que deverá ser cacheado.

Implementa parcialmente ESI, a qual permite se definir, no código da aplicação,

como deverá funcionar o cache para as diversas partes de uma página Web. Com

isso é possível definir propriedades de cache diferentes para partes diferentes de

uma mesma página.

Ferramentas de apoio e gerenciamento do sistema de cache.

Interface telnet para gerenciamento da aplicação CLI (Command Line Interface).

Ferramentas de gerenciamento de administração em modo texto (console)

VarnishHist, VarnishLog, VarnishCsa, VarnishStat, VarnishTest, VarnishSizes e

Varnishtop

Log centralizado em memória.

Para evitar chamadas de gravação em disco desnecessárias, todo o gerenciamento

do log é feito em memória. VarnishLog e VarnishCsa para uma análise mais

profunda. Possibilidades de armazenagem de logs no padrão Apache por exemplo.

NOTA:

Para instalações do Plone em servidores Windows (IIS) pode-se utilizar o Enfold

Proxy, uma vez que o Varnish não opera nestas soluções.

Page 54: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

53

plone.app.caching - Políticas de cache

DESCRIÇÃO DAS POLÍTICAS DE CACHE

Políticas de cache são, geralmente um compromisso entre velocidade e atualização do

conteúdo da resposta. Caches mais agressivos, muitas vezes , vem à custa de aumento do

risco de respostas obsoletas. Caches mais lentos trazem respostas mais precisas,

sacrificando a velocidade.

Personalização do cache também pode ser necessária se produtos de terceiros que estão

instalados requerem tratamento especial. Examine os cabeçalhos de resposta HTTP para

determinar se o produto de terceiros requer tratamento especial. Um Caso mais simples,

provavelmente, pode ser resolvido adicionando o tipo de conteúdo ou modelo para o

mapeamento apropriado. Casos mais complicados podem exigir operações de cache

personalizado.

Os três perfis de cache padrão:

Sem cache proxy

Page 55: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

54

Definições úteis para configurações sem um proxy cache.

Com o cache de proxy

Definições úteis para configurações com um proxy cache, como Squid ou verniz. A

única diferença do "sem cache proxy" perfil de algumas configurações para

habilitar o cache de proxy de arquivos, imagens no espaço de conteúdo e feeds de

conteúdo.

Com proxy cache (e dividir-view caching)

Um perfil de exemplo para uma configuração de proxy cache com split-view

caching habilitado. Este exemplo requer uma configuração de proxy especial.

Page 56: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

55

QUANDO APLICAR CADA TIPO DE POLÍTICA

Caching forte ( plone.app.caching.strongCaching )

Cache no browser e proxy (default: 24 horas). Utilize apenas recursos estáveis, que nunca

mudam sem mudar sua URL, ou recursos para os quais staleness temporária não é crítica.

Nos perfis de cache sem-cache-proxy e com o cache proxy, esta operação é mapeada

para o rulesets plone.resource e plone.stableResource, o que provoca os seguintes

cabeçalhos para ser em adicionados à resposta:

Last-Modified: <last-modified-date>

Cache-Control: max-age = <segundos>, proxy-revalidação, pública

Cache moderado ( plone.app.caching.moderateCaching ),

Page 57: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

56

Cache no browser, mas expirar imediatamente (o mesmo que caching fraco), e cache de

proxy (default: 24 horas). Use um proxy reverso purgable caching para melhores

resultados. Se o proxy não pode ser removidos de forma confiável, então as respostas

obsoletas podem ser vistas até a entrada em cache expirar. Se o proxy não pode ser

configurado para caching disallow em outros proxies intermediários que possam existir

entre os proxies locais e do navegador.

No perfil de cache com o cache proxy, esta operação é mapeada para o

rulesetsplone.content.feed e plone.content.file, o que provoca os seguintes cabeçalhos

para serem adicionados à resposta:

[Plone.content.feed]

ETag: <etag-value

Control: max-age = 0, s-maxage = <segundos>, deve-revalidar

[Plone.content.file]

Last-Modified: <last-modified-date>

Cache-Control: max-age = 0, s-maxage = <segundos>, deve-revaliar

Caching fraco ( plone.app.caching.weakCaching )

Se a última modificação do cabeçalho é insuficiente para garantir a atualização, ativar a

verificação ETag listando cada componente ETag que deve ser usado para construir o

cabeçalho ETag. Para cache de respostas públicas na memória Zope, defina o cache de

RAM parâmetro para True.

No perfil de cache sem cache-proxy, esta operação é mapeada para o

rulesetsplone.content.itemView, plone.content.folderView, plone.content.feed

eplone.content.file , o que provoca os seguintes cabeçalhos a serem adicionados com a

resposta:

Page 58: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

57

[Plone.content.itemView, plone.content.folderView, plone.content.feed]

ETag: <etag-value>

Cache-Control: max-age = 0, deve-revalidar, privado

[Plone.content.file]

Last-Modified: <last-modified-date>

Cache-Control: max-age = 0, deve-revalidar, privado

Nenhum cache ( plone.app.caching.noCaching )

Cadeia ( plone.caching.operations.chain )

Page 59: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

58

BACKUP e RESTORE

O que fazer backup?

1) Conteúdo – normalmente armazenado no arquivo de dados Data.fs no diretório var

da instância ZOPE. Se você estiver usando o armazenamento de BLOB (padrão no

Plone 4 para imagens e arquivos), você terá que fazer backup também dos objetos

binários. Eles são armazenados por padrão na pasta var/blobstorage.

2) Customizações realizadas nos arquivos do sistema operacional.

3) Todos os produtos instalados.

4) Métodos externos (External Methods) no diretório Extensions.

5) Arquivos de configuração do ZOPE – buildout

6) Arquivos Traduzidos (.po)

7) Os produtos em desenvolvimento no diretório/src instância do Zope.

Page 60: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

59

Você não precisa necessariamente fazer backup dos produtos, você pode restaurar a

partir de arquivos na Internet (tais como Plone's SVN). No entanto, quando você precisar

restaurar a partir de um backup, serão exigidas as mesmas versões dos produtos que são

usados em seus sites. Fazer o backup dos produtos é à prova de falhas e não depende de

arquivos externos.

Page 61: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

60

REPOZO

Utilização do Zope repozo.py script é a forma recomendada de backup pela comunidade.

Desta forma você pode executar um processo de backup seguro e automatizado,

enquanto o Plone estiver sendo executado, sem efeitos colaterais em seus dados. É

geralmente considerada a melhor prática para fazer backup de Zope/Ploneem um

ambiente de produção.

Repozo pode ser usado para criar um backup integral do banco de dados. Como o Plone

armazena seus dados em um único arquivo binário grande, criar um backup completo

diário pode consumir muitos recursos de disco e rede. Nesse caso, você também pode

usar Repozo para criar um hot backup incremental do banco de dados. O repozo.py script

pode ser encontrado no diretório bin de sua instalação de software Zope. Ele contém uma

docstring, informativa sobre suas opções de linha de comando.

Page 62: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

61

Collective.recipe.backup é uma boa maneira para configurar e gerenciar repozo

diretamente do seu arquivo buildout. Inclui opções para fazer backup tanto do seu

arquivo Data.fs quanto do armazenamento do Blob do Plone 4.

Shutdown do Zope para backup do banco de dados

A maneira mais fácil segura para o backup do banco de dados, é parar (shutdown) o Zope,

copiar o arquivos Data.fs e reiniciar o Zope. Isto é simples e seguro, mas tem a

desvantagem de que seus sites não estarão operacionais durante o processo de backup.

Pack do banco de dados e faça backup da cópia pré-pack

Outra forma segura de se fazer backup do Data.fs, sem derrubar seus sites é realizar o

pack do banco de dados no Zope Management Interface (ZMI): Painel de Controle>

Gerenciamento de Banco de Dados> Principal> Pack. Isso deixa um arquivo Data.fs.old

com o conteúdo anterior do banco de dados. Como o Plone não escreve mais neste

arquivo após o empacotamento é seguro fazer a cópia do Data.fs.old. É importante ter

atenção para que não se faça backup do Data.fs, ao invés da versão empacotada

Data.fs.old.

Empacotar o banco de dados significa reduzir seu tamanho, eliminando versões

arquivadas de objetos armazenados, com mais de uma determinada idade. Após o

empacotamento, você vai deixar de ser capaz de reverter as transações para estas

versões antigas.

Page 63: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

62

REVISÃO DO CAPÍTULO 3

Page 64: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

63

EXERCÍCIOS DO CAPÍTULO 3

01) Qual desses servidores de cache é a melhor escolha para o Plone no Linux BSD:

a. Squid

b. Varnish

c. Apache2

d. Proxy

02) Marque a incorreta sobre o Varnish:

a. Não roda no Windows.

b. É uma ferramentas de apoio e gerenciamento do sistema de cache.

c. Log centralizado em memória.

d. Suporta SSL.

03) Utiliza apenas recursos estáveis, que nunca mudam sem mudar sua URL:

a. Cache moderado

b. Caching forte

c. Caching fraco

d. Nenhum cache

04) É correto afirmar que :

a. Políticas de cache são, muitas vezes um compromisso entre velocidade e

falta de segurança.

b. No ZODB, utilizar o Blob para armazenar os arquivos e as imagens no

sistema de arquivos do servidor ou em um ponto de rede.

c. Habilitar o profiler quando o portal for para produção

d. Varnish open source, distribuído sob a licença BSD, um acelerador HTTP

projetado para sites web estáticos.

Page 65: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

64

REVISÃO DO CAPÍTULO 3 (respostas)

01) Qual desses servidores de cache é a melhor escolha para o Plone no Linux BSD:

a. Squid

b. Varnish

c. Apache2

d. Proxy

01) Marque a incorreta sobre o Varnish:

a. Não roda no Windows.

b. É uma ferramentas de apoio e gerenciamento do sistema de cache.

c. Log centralizado em memória.

d. Suporta SSL.

02) Utiliza apenas recursos estáveis, que nunca mudam sem mudar sua URL:

a. Cache moderado

b. Caching forte

c. Caching fraco

d. Nenhum cache

03) É correto afirmar:

a. Políticas de cache são, muitas vezes um compromisso entre velocidade

e falta de segurança.

b. No ZODB, utilizar o produto FileSystemStorage para armazenar os

arquivos no sistema de arquivos do servidor ou em um ponto de rede.

c. Habilitar o profiler quando o portal for para produção

d. Varnish open source, distribuído sob a licença BSD, é um acelerador

HTTP projetado para sites web estáticos.

Page 66: Administração de infraestrutura Zope/Plone

Administração de infraestrutura Zope/Plone

65

Laboratório 3

01) Criar uma nova instalação da instância do Plone 4:

a. Utilizando virtualenv;

b. Utilizando o buildout;

c. Modo ZEO Cluster;

d. Instalar Varnish Cache;

e. Instalar Pound;

02) Definir políticas de cache utilizando o plone.app.caching;

03) Efetuar testes de acesso.