Skip to content

Instantly share code, notes, and snippets.

@thiago-vieira
Last active July 11, 2022 18:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save thiago-vieira/89ea1fb65b04ffef6e43fc7a72735cdd to your computer and use it in GitHub Desktop.
Save thiago-vieira/89ea1fb65b04ffef6e43fc7a72735cdd to your computer and use it in GitHub Desktop.
Instalação de hotfix no Plone 4
Instalação de hotfix no Plone
A página a seguir lista todos os hotfixes disponíveis para cada versão
do Plone: https://plone.org/security/hotfixes
Basta seguir as instruções contidas nas páginas de cada hotfix.
Caso encontre o erro SSLV3_ALERT_HANDSHAKE_FAILURE ou
CERTIFICATE_VERIFY_FAILED ao executar o buildout e o download do produto
(hotfix) não seja concluído, é possível que o Plone esteja rodando com
uma versão descontinuada do Python. Atualmente, apenas as versões 3.x do
Python estão recebendo atualizações de segurança.
Alguns hotfixes necessitam obrigatoriamente da execução de um buildout
para a instalação. Porém, em versões antigas do Plone, que estejam
rodando com versões antigas do Python (exemplo: Plone 4.3.6 com Python
2.7), será necessário preparam um ambiente Python mais atual para
conseguir executar o buildout.
Se este for o seu caso, ao invés de executar bin/buildout, será
necessário executar o arquivo buildout do ambiente mais atual, a partir
da pasta onde se encontra o arquivo buildout.cfg.
Caso este ambiente mais atual ainda não exista, siga os passos abaixo
para prepará-lo.
Instale a última versão do Miniconda -
https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html
Recomenda-se não instalar na pasta /root, pois caso o buildout-user do
seu Plone seja o plone_buildout, após a instalação do Miniconda, será
necessário dar permissão de leitura e execução para o usuário
plone_buildout.
Exemplo:
# cria um grupo miniconda
sudo groupadd miniconda
# inclui o usuário plone_buildout no grupo miniconda
usermod -a -G miniconda plone_buildout
# muda o grupo da pasta do Miniconda
chown -R root:miniconda /opt/miniconda3/
# conceder permissão de leitura, escrita e execução para o grupo
chmod -R g+rwx /opt/miniconda3
Execute o comando abaixo para que o ambiente base do Miniconda não seja
carregado automaticamente.
conda config --set auto_activate_base false
Crie um ambiente Python da mesma versão do Python que está sendo
utilizado no Plone.
Exemplo: conda create --name python-27 python=2.7
Ative o ambiente criado anteriormente.
Exemplo: conda activate python-27
Execute pip --list para verificar se as seguinte dependências estão
instaladas:
certifi==2020.6.20
zc.buildout==2.13.3
Caso seja necessário, instale estas dependências, conforme abaixo:
pip install certifi==2020.6.20
pip install zc.buildout==2.13.3
Talvez seja necessário fazer um downgrade da versão do setuptools para
evitar um outro erro ao fazer o download dos produtos (hotfixes).
Exemplo: pip install setuptools==38.7.0
Caso ainda não exista, inclua a linha abaixo na seção buildout do
arquivo buildout.cfg.
index = https://pypi.org/simple/
Pronto. Agora deve ser possível executar o buildout a partir do ambiente
criado com o Miniconda
Exemplo:
cd /opt/plone/zeocluster
sudo -E -u plone_buildout /opt/miniconda3/envs/python-27/bin/buildout -Nv
Se tudo der certo, mesmo que a mensagem CERTIFICATE_VERIFY_FAILED
apareça, o download e instalação dos hotfix será concluída com sucesso.
Logo após executar o buildout pelo ambiente do Miniconda, é possível que
os scripts zeoserver, client1, etc. (utilizados para iniciar e parar o
servidor e os clientes) não estejam funcionando corretamente.
Se isto ocorrer, basta executar o buildout da pasta ./zeocluster/bin do
Plone. Como os produtos (hotfixes) já foram baixados anteriormente, este
último comando será apenas para reconstruir os scripts citados.
Exemplo:
cd /opt/plone/zeocluster
sudo -E -u plone_buildout bin/buildout -Nv
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment