You are here: Home / Plone 5.2 on Debian 11 with Python 3.8

Plone 5.2 on Debian 11 with Python 3.8

by Hawke Robinson last modified Oct 17, 2022 09:44 AM
Debian 11 currently comes with Python 3.9. Plone 5.2(.9) is not supported with Python 3.9. This information covers the Linux Unified Installer tarball on this platform and added Python 3.8.



apt update

apt upgrade




tar -zxvf Python-3.8.15.tgz

mv Python3.8.15 /opt/Python3.8.15


apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev -y


 do not run as root:

cd /opt/Python3.8.15/

./configure --enable-optimizations --enable-shared

make -j 4   (if have 4 cpus available to speed up compiling)

sudo make altinstall

sudo ldconfig /opt/Python3.8.15\


python3.8 –version


 mkdir -p /opt/plone/5


Optional virtualenv:

 python3.8 -m venv /opt/plone/5/plone_5_venv

cd /opt/plone/5/

source plone_5_venv/bin/activate



tar -zxvf Plone-5.2.9-UnifiedInstaller-1.0.tgz 

apt install poppler-utils

apt install wv

apt install libjpeg-dev

apt install libexpat1 libexpat1-dev

apt install libxml2 >= 2.7.8 (dev)*   libxml2 and libxml2-dev

apt install libxslt >= 1.1.26 (dev)* libxslt1.1 and libxslt1-dev


May also need to install:


install libpcre or libpcre-dev, which version? 2, 3,? or is it pcre2?

tried: pt install libpcre2-32-0 libpcre2-dev libpcre3 libpcre3-dev pcre2-utils


 Either run just vanilla ./ and answer prompts, or you can pass paramaters from the command line, similar to these:

./ --target="/opt/plone/5" --password="youtpassword" --clients=2 --build-python zeocluster

For example (NOTE THIS WILL CREATE THE VENV for you, don't run from inside venv yet):

./ zeocluster --target="/opt/plone/5/plone_5_venv" --with-python=/usr/local/bin/python3.8 --password=******** --clients=2

Should see output similar to this:

Testing /usr/local/bin/python3.8 for Zope/Plone requirements....
/usr/local/bin/python3.8 looks OK. We will use it.
Root install method chosen. Will install for use by users:
 ZEO & Client Daemons: plone_daemon
Code Resources & buildout: plone_buildout
Detailed installation log being written to /opt/downloads/Plone-5.2.9-UnifiedInstaller-1.0/install.log
Installing Plone 5.2.9 at /opt/plone/5/plone_5_venv
Using useradd and groupadd to create users and groups.
Adding user plone_daemon to group plone_group.
Adding user plone_buildout to group plone_group.
Creating Python virtual environment.
Installing Python requirements in virtual environment.
Copying Plone-docs
Create buildout: cluster



Vanilla ./ with prompts:

YES to continue

Select ZEO cluster for production, or Standalone for DEV/TST

Number of ZEO Clients? (see: I selected on this 4 CPU system: 2. Would prefer for higher traffic probably more around 4 or so. May need to increase later as traffic gets migrated to pointing to this server for more and more domains/sites.

Installation Target Directory: /opt/plone/5/plone_5_venv

Administrator password:  Used pwgen -y 12 - or can leave blank for it to autogenerate a random password for you.

Then next screen should look like this:


 If looks good to you, then select "Yes", otherwise "No".