2. Installation & Setup

Installing Plone

Plone 4.3.x requires a working Python 2.7 and several other system tools that not every OS provides. Therefore the installation of Plone is different on every system. Here are some ways that Python can be used:

  • use a Python that comes pre-installed in your operating system (most Linuxes and Mac OS have one)
  • use the python buildout
  • building Linux-packages
  • homebrew (Mac OS X)
  • PyWin32 (Windows)

MacOS 10.8 and Ubuntu 14.04 come with a working default Python 2.7 built in. These are the lucky ones. To run a Plone version older than 4.0 you need Python 2.4. That’s not always easy to install.

Most developers use their primary system to develop Plone. For complex setups they often use Linux virtual machines.

  • OS X: Use the python buildout to compile python and homebrew for some missing Linux tools.
  • Linux: Depending on your Linux flavor you might have to build python yourself and install some tools.
  • Windows: Alan Runyan (one of Plone’s founders) uses it. A downside: Plone seems to be running much slower on Windows.

Plone offers multiple options for being installed:

  1. One-click installers for Mac and Windows
  2. Unified installers (all ‘nix, including MacOS)
  3. A vagrant/virtualbox install kit (all platforms)
  4. Use your own Buildout

You can download all of these at https://old.plone.org/products/plone/releases/4.3.4

For the training we’ll use option 3 and 4 to install and run Plone. We’ll create our own Buildout and extend it as we wish. But we will do so in a vagrant machine. For your own first experiments we recommend option 2 or 3 (if you have a Windows laptop or encounter problems). Later on you should be able to use your own Buildout (we’ll cover that later on).

Hosting Plone

If you want to host a real live Plone site yourself then running it from your laptop is not a viable option.

You can host Plone...

Production Deployment

The way we’re setting up a Plone site during this class may be adequate for a small site — or even a very large one that’s not very busy — but you’re likely to want to do much more if you’re using Plone for anything demanding.

  • Using a production web server like Apache or Nginx for URL rewriting, SSL and combining multiple, best-of-breed solutions into a single web site.
  • Reverse proxy caching with a tool like Varnish to improve site performance.
  • Load balancing to make best use of multiple core CPUs and even multiple servers.
  • Optimizing cache headers and Plone’s internal caching schemes with plone.app.caching.

And, you’ll need to learn strategies for efficient backup and log file rotation.

All these topics are introduced in Guide to deploying and installing Plone in production.