- How to Setup a Plone Intranet in Half a Day (Python Web Conf 2020)
- Characteristics of an Intranet
- Intranets and Plone
- Install Plone
- Create an AWS account
- Create a new EC2 instance using an AMI
- View your Plone site
- A Tour of Plone
- Key Points About Plone
- Viewing a Plone Site as the Public
- Log in
- The toolbar
- Plone Workflow
- Publication States
- Publication state is important!
- Advanced Control
- A folder’s workflow state affects its content
- Special Cases: Images and Files
- Looking inside workflow, permissions, and roles
- Plone workflows
- Details of Plone’s default workflow
- Plone permissions and roles
- Appendices
- EC2 instance setup
- Plone installer
- Build command history
- Extra add-ons
- buildout.cfg
Loading...
Characteristics of an Intranet
Intranets and Plone
Install Plone
Create an AWS account
Create a new EC2 instance using an AMI
View your Plone site
A Tour of Plone
Key Points About Plone
Viewing a Plone Site as the Public
Log in
The toolbar
Plone Workflow
Publication States
Advanced Control
A folder’s workflow state affects its content
Special Cases: Images and Files
Looking inside workflow, permissions, and roles
Plone workflows
Details of Plone’s default workflow
Plone permissions and roles
Appendices
EC2 instance setup
Plone installer
Build command history
[ec2-user@ip Plone-5.2.1-UnifiedInstaller-r3]$ history
1 wget https://launchpad.net/plone/5.2/5.2.1/+download/Plone-5.2.1-UnifiedInstaller-r3.tgz
2 tar xfz Plone-5.2.1-UnifiedInstaller-r3.tgz
3 cd Plone-5.2.1-UnifiedInstaller-r3/
4 python3
6 sudo yum install python3
10 sudo yum install gcc
17 sudo yum install libjpeg-devel
18 sudo yum install lib-devel
19 sudo yum install libxslt-devel
21 sudo yum install supervisord
22 cat /etc/*-release
26 sudo amazon-linux-extras install "nginx1.12"
35 sudo yum install python3-devel
37 sudo yum install patch
39 sudo yum install openldap-devel
[ec2-user@ip Plone-5.2.1-UnifiedInstaller-r3]$ sudo ./install.sh --with-python=`which python3` --password=admin standalone
Testing /usr/bin/python3 for Zope/Plone requirements....
/usr/bin/python3 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 /home/ec2-user/Plone-5.2.1-UnifiedInstaller-r3/install.log
Installing Plone 5.2.1 at /opt/plone
Using useradd and groupadd to create users and groups.
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
Creating Python virtual environment.
Using base prefix '/usr'
No LICENSE.txt / LICENSE found in source
New python executable in /opt/plone/zinstance/bin/python3
Also creating executable in /opt/plone/zinstance/bin/python
Installing setuptools, pip, wheel...
done.
Installing Python requirements in virtual environment.
Copying Plone-docs
Copying buildout skeleton
Building Zope/Plone; this takes a while...
Buildout completed
#####################################################################
###################### Installation Complete ######################
Plone successfully installed at /opt/plone
See /opt/plone/zinstance/README.html
for startup instructions.
Use the account information below to log into the Zope Management Interface
The account has full 'Manager' privileges.
Username: admin
Password: *****
This account is created when the object database is initialized. If you change
the password later (which you should!), you'll need to use the new password.
Use this account only to create Plone sites and initial users. Do not use it
for routine login or maintenance.- If you need help, ask in our forum https://community.plone.org - Live chat channels also exists at http://plone.org/support/chat - Submit feedback and report errors at https://github.com/plone/Products.CMFPlone/issues (For install problems, https://github.com/plone/Installers-UnifiedInstaller/issues)
Extra add-ons
buildout.cfg
############################################
#
# Buildout Configuration File for Plone
# -------------------------------------
#
# ALWAYS back up all Plone/Zope data and components
# before changing configuration.
#
# Running "bin/buildout" will update your installation,
# installing missing components as necessary.
#
# This will update the add-on products you've added in the eggs= lines.
# This will not, however, upgrade Plone itself (or anything else you've
# pinned with a version specification). To upgrade Plone itself, see the
# comments in "Plone Component Versions".
#
# Tutorial instructions for using zc.buildout for
# configuration management are available at:
# https://docs.plone.org/manage/installing/installing_addons.html
# Full details at http://pypi.python.org/pypi/zc.buildout
#
############################################
[buildout]
# buildout.sanitycheck makes sure you're not running buildout
# as root.
extensions =
buildout.sanitycheck
############################################
# Plone Component Versions
# ------------------------
# This version of the Unified Installer has the components of Plone 5
# preloaded so that it can install without an Internet connection.
# If you want to update, uncomment the "http://..." line below,
# edit it to point to the current version URL, comment out the
# "versions.cfg" line and run "bin/buildout" while attached to the
# Internet. Generally, you only want to do that as part of a planned migration.
# Note that if you are updating components, you should also check the versions
# section at the end of this file, since recipes or components other than
# those of Zope and Plone may need updating at the same time.
#
extends =
base.cfg
release-5.2.1-versions.cfg
# http://dist.plone.org/release/5.2.1/versions.cfg
# If you change your Plone version, you'll also need to update
# the repository link below.
find-links +=
http://dist.plone.org/release/5.2.1
# This user will own the non-data parts of the installation, and should be used to
# run buildout.
buildout-user = plone_buildout
# A flag to tell the Unified Installer whether or not to document sudo use.
need-sudo = yes
############################################
# Eggs
# ----
# Add an indented line to the eggs section for any Python
# eggs or packages you wish to include in your Plone instance.
#
# Note that versions may be specified here or in the [versions]
# section below. You should always specify versions that you know
# are compatible with the Plone release and at an acceptable
# development level.
#
# If you update to a later version of Plone, remove the hotfix.
#
eggs =
Plone
Pillow
Products.PloneHotfix20200121
collective.impersonate
collective.documentviewer
collective.sortedcontrolpanels
collective.pwexpiry
Products.PloneKeywordManager
plone.app.changeownership
collective.easyform
eea.facetednavigation
plone.app.mosaic
collective.taxonomy
plone.app.imagecropping
collective.z3cform.datagridfield
collective.collectionfilter
pas.plugins.ldap
collective.lineage
collective.venue
collective.sidebar
############################################
# ZCML Slugs
# ----------
# Some eggs need ZCML slugs to tell Zope to
# use them. This is increasingly rare.
zcml =
# plone.reload
############################################
# Development Eggs
# ----------------
# You can use paster to create "development eggs" to
# develop new products/themes. Put these in the src/
# directory.
# You will also need to add the egg names in the
# eggs section above, and may also need to add them
# to the zcml section.
#
# Provide the *paths* to the eggs you are developing here:
develop =
# src/my.package
############################################
# var Directory
# -------------
# Sets the target directory for the "var" components of the install such as
# database and log files.
#
var-dir=${buildout:directory}/var
############################################
# Backup Directory
# ----------------
# Sets the target directory for the bin/backup and bin/snapshotbackup
# commands. Default is inside this project's var directory, but ideally
# this should be on a separate volume or backup server.
#
backups-dir=${buildout:var-dir}
############################################
# Initial User
# ------------
# This is the user id and password that will be used to create the initial
# user id that will allow you to log in and create a Plone site. This only
# sets the initial password; it will not allow you to change an already
# existing password. If you change the admin password via the web interface,
# the one below will no longer be valid.
# If you find yourself locked out of your Zope/Python installation, you may
# add an emergency user via "bin/plonectl adduser".
user=admin:*****
############################################
# Debug Options
# -------------
# Start Zope/Plone instances in "fg" mode to turn on debug mode;
# this will dramatically slow Plone.
#
# Add-on developers should turn deprecation warnings on
deprecation-warnings = off
# change verbose-security to "on" for useful security errors while developing
verbose-security = off
############################################
# Parts Specification
#--------------------
# Specifies the components that should be included in the buildout.
# Most are defined in the base.cfg extension; you may add your
# own if you need them at the end of this file.
parts =
instance
repozo
backup
zopepy
unifiedinstaller
precompiler
setpermissions
############################################
# Major Parts
# ----------------------
# These common parts make use of sane base settings from
# base.cfg. To customize a part, just add whatever options
# you need. Read base.cfg for common settings.
[instance]
<= instance_base
recipe = plone.recipe.zope2instance
http-address = 8080
############################################
# Versions Specification
# ----------------------
# Version information supplied here will "pin" Python packages to a particular
# version number, even when you use the "newest" flag running buildout.
# Specifying versions for all packages is a good idea and can prevent
# accidental changes when you add new packages to your buildout.
# Note that versions specified here will override those specified earlier
# in the configuration, including those from the Plone and Zope version
# config files.
#
[versions]
buildout.sanitycheck = 1.0.2
collective.recipe.backup = 4.1.0
plone.recipe.unifiedinstaller = 5.2b1
Products.PloneHotfix20200121 = 1.1
collective.documentviewer = 6.0.0
collective.impersonate = 1.2
repoze.catalog = 0.9.0
zope.index = 5.0.0
Authomatic = 1.0.0
Products.PloneKeywordManager = 3.0.2
appy = 1.0.2
archetypes.querywidget = 1.1.3
collective.ambidexterity = 1.0
collective.collectionfilter = 3.3
collective.documentgenerator = 3.16
collective.easyform = 2.2.0
collective.eeafaceted.collectionwidget = 1.11
collective.eeafaceted.dashboard = 0.12
collective.eeafaceted.z3ctable = 2.10
collective.ifttt = 1.0.2
collective.lineage = 2.3
collective.pwexpiry = 0.15.1
collective.sidebar = 1.2.0
collective.sortedcontrolpanels = 1.0a1
collective.taxonomy = 2.0.0
collective.venue = 4.0
eea.faceted.vocabularies = 6.9
eea.facetednavigation = 13.8
eea.jquery = 11.2
imio.helpers = 0.29
imio.migrator = 1.23
node.ext.ldap = 1.0b12
node.ext.ugm = 0.9.11
pas.plugins.authomatic = 1.0b1
pas.plugins.ldap = 1.7.2
plone.app.changeownership = 1.0
plone.app.imagecropping = 2.2.2
plone.app.jquery = 1.11.2
plumber = 1.6
pyasn1 = 0.4.8
pyasn1-modules = 0.2.8
python-ldap = 3.2.0
yafowil = 2.3.3
yafowil.plone = 3.0.0
# Required by:
# collective.easyform==2.2.0
Products.validation = 2.1.2
# Required by:
# yafowil.yaml==1.3
PyYAML = 5.3.1
# Required by:
# node.ext.ldap==1.0b12
argparse = 1.4.0
# Required by:
# node.ext.ldap==1.0b12
# pas.plugins.ldap==1.7.2
bda.cache = 1.3.0
# Required by:
# collective.venue==4.0
collective.address = 1.6
# Required by:
# collective.documentgenerator==3.16
# collective.eeafaceted.collectionwidget==1.11
collective.behavior.talcondition = 0.11
# Required by:
# collective.eeafaceted.dashboard==0.12
collective.compoundcriterion = 0.4
# Required by:
# collective.documentgenerator==3.16
# collective.eeafaceted.z3ctable==2.10
collective.excelexport = 1.8.2
# Required by:
# collective.eeafaceted.dashboard==0.12
imio.prettylink = 1.16
# Required by:
# pas.plugins.ldap==1.7.2
node = 0.9.25
# Required by:
# pas.plugins.ldap==1.7.2
odict = 1.7.0
# Required by:
# node.ext.ldap==1.0b12
passlib = 1.7.2
# Required by:
# collective.documentgenerator==3.16
phonenumbers = 8.12.5
# Required by:
# archetypes.querywidget==1.1.3
plone.app.jquerytools = 1.9.5
# Required by:
# collective.address==1.6
pycountry = 19.8.18
# Required by:
# bda.cache==1.3.0
python-memcached = 1.59
# Required by:
# collective.excelexport==1.8.2
xlwt = 1.3.0
# Required by:
# pas.plugins.ldap==1.7.2
yafowil.widget.array = 1.6.1
# Required by:
# pas.plugins.ldap==1.7.2
yafowil.widget.dict = 1.7
# Required by:
# pas.plugins.ldap==1.7.2
yafowil.yaml = 1.3
# Required by:
# collective.documentgenerator==3.16
# collective.eeafaceted.z3ctable==2.10
z3c.table = 2.1.1