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

Administracao de infraestrutura_zope_plone

Embed Size (px)

Citation preview

Page 1: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

Apostila para treinamento presencial

2012

Page 2: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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]

2

Page 3: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

CONTROLE DE VERSÕES

Versão Data Autor(es) Alterações0.1 17/11/2011 ProdutivaTI Criação do documento0.8 02/01/2012 Produtiva TI Revisão pelo Instrutor1.0 05/01/2012 ProdutivaTI Liberação da versão 1.01.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.

3

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

Page 4: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

Sumário

Table of Contents

SOBRE O TREINAMENTO ........................................................................................................ 6

CAPITULO 1 ............................................................................................................................. 7

Introdução .......................................................................................................................... 7

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

PYTHON ......................................................................................................................... 12

ZOPE .............................................................................................................................. 13

PLONE ........................................................................................................................... 15

ARQUITETURA ............................................................................................................... 16

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

PACOTES NECESSÁRIOS ................................................................................................ 19

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

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

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

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

Laboratório 1 .................................................................................................................... 29

CAPITULO 2 ........................................................................................................................... 30

Introdução ........................................................................................................................ 30

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

GERENCIAMENTO DE USUÁRIOS ...................................................................................... 33

SEGURANÇA .................................................................................................................. 33

PERMISSÕES PADRÃO ................................................................................................... 35

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

4

Page 5: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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

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

PAPÉIS LOCAIS E COMPARTILHAMENTO .......................................................................... 41

CONTROLE DE ACESSO POR MEIO DE WORKFLOW ......................................................... 43

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

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

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

Laboratório 02 .................................................................................................................. 50

CAPITULO 3 .......................................................................................................................... 52

Introdução ........................................................................................................................ 52

OTIMIZAÇÃO DE DESEMPENHO ....................................................................................... 54

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

ZEO ................................................................................................................................ 56

VARNISH ........................................................................................................................ 58

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

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

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

BACKUP e RESTORE .......................................................................................................... 66

REPOZO ......................................................................................................................... 68

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

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

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

Laboratório 3 .................................................................................................................... 75

5

Page 6: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

SOBRE O TREINAMENTO

6

Page 7: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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.

7

Page 8: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

Neste Capítulo você verá

• Introdução a:

o SGC

8

Page 9: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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

9

Page 10: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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.

10

Page 11: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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.

11

Page 12: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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.

12

Page 13: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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.

13

Page 14: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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

fazem se destacar:

• 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

14

Page 15: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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.

15

Page 16: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

ARQUITETURA

16

Page 17: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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

17

Page 18: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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

18

Page 19: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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):

19

Page 20: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

$ sudo aptitude install build-essential

$ sudo apt-get install gcc g++ make

$ 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)$

20

Page 21: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

5. Criar buildout de instalação.

(virtualPy26)$ ./easy_install zopeskel == 2.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

21

Page 22: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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

(virtualPy26)$ cd ~/instancia/plone4

(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

22

Page 23: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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

23

Page 24: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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.

• 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

24

Page 25: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

REVISÃO DO CAPÍTULO 1

1) O Plone é:

a. Linguagem de programação

b. Software proprietário para desenvolvimento de sites

c. CMS

d. Servidor de Aplicações

2) O Python é:

a. Linguagem de programação

b. Software proprietário para desenvolvimento de sites

c. CMS

d. Servidor de Aplicações

3) O Zope é:

a. Linguagem de programação

b. Software proprietário para desenvolvimento de sites

c. CMS

d. Servidor de Aplicações

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

a. Windows

b. Linux

c. Mac OS

25

Page 26: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

d. iOS

5) É 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

26

Page 27: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

REVISÃO DO CAPÍTULO 1 (respostas)

1) O Plone é:

a. Linguagem de programação

b. Software proprietário para desenvolvimento de sites

c. CMS

d. Servidor de Aplicações

2) O Python é:

a. Linguagem de programação

b. Software proprietário para desenvolvimento de sites

c. CMS

d. Servidor de Aplicações

3) O Zope é:

a. Linguagem de programação

b. Software proprietário para desenvolvimento de sites

c. CMS

d. Servidor de Aplicações

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

a. Windows

b. Linux

c. Mac OS

d. iOS

27

Page 28: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

5) É 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

28

Page 29: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

EXERCÍCIOS DO CAPÍTULO 1

Laboratório 1

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

o buildout.

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

3) Adicionar novo Plone Site com o id: portal_dev

29

Page 30: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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.

30

Page 31: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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

31

Page 32: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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.

32

Page 33: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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

33

Page 34: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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

permissões.

34

Page 35: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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)

35

Page 36: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

• Owner (Dono)

• Reader (Leitor)

• Reviwer (Revisor)

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.

36

Page 37: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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 ,

37

Page 38: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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

do site podem adicionar novos usuários inicialmente.

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.

38

Page 39: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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

39

Page 40: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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

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.

40

Page 41: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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

41

Page 42: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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

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

42

Page 43: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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.

43

Page 44: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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

44

Page 45: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

NESTE CAPÍTULO VOCÊ VIU

45

Page 46: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

REVISÃO DO CAPÍTULO 2

1) É 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.

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

a. 'Member'; 'Manager'

b. 'View'; 'Modify'

c. 'Member'; 'View'

d. 'Anonymous'; 'Modify'

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

a. Member

b. View

c. Anonymous

d. Administrador

4) É 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

46

Page 47: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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

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

5) É 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.

47

Page 48: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

REVISÃO DO CAPÍTULO 2 (respostas)

1) É 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

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

a. 'Member'; 'Manager'

b. 'View'; 'Modify'

c. 'Member'; 'View'

d. 'Anonymous'; 'Modify'

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

a. Member

b. View

c. Anonymous

d. Administrador

4) É 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'

48

Page 49: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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

5) É 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.

49

Page 50: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

Laboratório 02

1) Acessar o Plone Site: portal_dev

2) Adicionar item, do tipo Pasta:

o Título: Biblioteca

3) Criar os seguintes grupos:

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

Papel de Colaborador

o Grupo da Biblioteca (grupo-biblioteca)

50

Page 51: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

Papel local de acesso à pasta biblioteca

o Grupo de Editores (grupo-Editores)

Papel de Reviewer

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

destinação.

5) 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

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

51

Page 52: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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.

52

Page 53: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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

53

Page 54: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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.

54

Page 55: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

55

Page 56: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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.

56

Page 57: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

• 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.

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).

57

Page 58: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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.

58

Page 59: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

• 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:

• 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.

59

Page 60: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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.

60

Page 61: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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.

61

Page 62: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

Os três perfis de cache padrão:

• Sem cache proxy

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.

62

Page 63: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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 ),

63

Page 64: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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:

64

Page 65: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

[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 )

65

Page 66: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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.

66

Page 67: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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.

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.

67

Page 68: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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.

68

Page 69: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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.

69

Page 70: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

REVISÃO DO CAPÍTULO 3

70

Page 71: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

EXERCÍCIOS DO CAPÍTULO 3

1) Qual desses servidores de cache é a melhor escolha para o Plone no Linux

BSD:

a. Squid

b. Varnish

c. Apache2

d. Proxy

2) 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.

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

a. Cache moderado

b. Caching forte

c. Caching fraco

d. Nenhum cache

4) É correto afirmar que :

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

velocidade e falta de segurança.

71

Page 72: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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.

72

Page 73: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

REVISÃO DO CAPÍTULO 3 (respostas)

1) Qual desses servidores de cache é a melhor escolha para o Plone no Linux

BSD:

a. Squid

b. Varnish

c. Apache2

d. Proxy

1) 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.

2) Utiliza apenas recursos estáveis, que nunca mudam sem mudar sua

URL:

a. Cache moderado

b. Caching forte

c. Caching fraco

d. Nenhum cache

3) É correto afirmar:

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

velocidade e falta de segurança.

73

Page 74: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

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.

74

Page 75: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

Laboratório 3

1) 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;

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

75

Page 76: Administracao de infraestrutura_zope_plone

Administração de infraestrutura Zope/Plone

3) Efetuar testes de acesso.

76