How To Install Plone CMS on Ubuntu 18.04

Plone is a free and open source content management system built on top of the Zope application server. It is written in Python language but also contains large amounts of HTML, JavaScript, and CSS. You can build any kind of website, blog, and webshop using plone. Plone supports multiple operating systems like, Linux, Mac OS X, Windows, BSD, and Solaris. It is simple, easy to use, easy to set up, maintain and modify. Plone provides lots of features including, Multi-site Management, Flexible Workflows, Enterprise Integration, Industrial Strength Security, Search Capabilities, Multi-language support and much more.

In this tutorial, we will learn how to install Plone on Ubuntu 18.04 server.

Requirements

  • Ubuntu 18.04 server installed on your system.
  • A non-root user with sudo privileges.

Getting Started

Before starting, you will need to update your system with the latest version. You can do this by running the following command:

sudo apt-get update -y
sudo apt-get upgrade -y

Next, you will need to install some required dependencies to your system. You can install all of them with the following command:

sudo apt-get install build-essential gcc libjpeg-dev wget readline-common libssl-dev libxml2-dev libxslt1-dev python2.7 python-dev python-btrees -y

Once the installation is completed, you can proceed to the next step.

Install Plone

First, you will need to download the Plone from https://launchpad.net/plone to the /tmp directory. You can also download it with the following command:

cd /tmp
wget https://launchpad.net/plone/5.1/5.1.4/+download/Plone-5.1.4-UnifiedInstaller-r1.tgz

Once the download is completed, extract the downloaded file with the following command:

tar -xvzf Plone-5.1.4-UnifiedInstaller-r1.tgz

Next, copy the extracted directory to the /opt with the following command:

sudo cp -r Plone-5.1.4-UnifiedInstaller-r1 /opt/plone

Next, change the directory to the /opt/plone and start the installation using the following command:

cd /opt/plone
sudo ./install.sh standalone --target=/opt/plone --password=password --with-python=/usr/bin/python2.7

Once the installation has been completed successfully, you should see the following output:

#####################################################################

######################  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: 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 IRC channel #plone on irc.freenode.net. - The live support channel also exists at http://plone.org/chat - You can also ask for help on https://community.plone.org - Submit feedback and report errors at https://github.com/plone/Products.CMFPlone/issues (For install problems, https://github.com/plone/Installers-UnifiedInstaller/issues)

Next, start the Plone service with the following command:

sudo /opt/plone/zinstance/bin/plonectl start

Output:

instance: . . 
daemon process started, pid=22438

You can also check the status of Plone with the following command:

sudo /opt/plone/zinstance/bin/plonectl status

Output:

instance: program running; pid=22438

Access Plone Web Interface

Plone is now up and running, it's time to access it through the web browser.

Open your web browser and type the URL http://your-server-ip:8080, in my case: http://192.168.1.100:8080, you will be redirected to the following page:

Plone CMS is up and running

Now, click on the Create a new Plone site button. You should see the following page:

Sign in as admin user

Now, provide your admin username and password (username: admin, password: password), then click on the Sign In button. You should see the following page:

Create a plone site

Now, provide all the required information and click on the Create Plone Site button. You should see the Plone dashboard in the following page:

Plone CMS dashboard

Share this page:

Suggested articles

3 Comment(s)

Add comment

Comments

By: Cormac at: 2019-05-03 11:14:24

Thanks for providing this walkthrough.

I encountered an error when I went to run the install.sh script:

Testing /usr/bin/python2.7 for Zope/Plone requirements....Failed: We need to be able to use Python.h, which is missing.You may be able to resolve this by installing the python-dev package./usr/bin/python2.7 does not meet the requirements for Zope/Plone.Please do one of the following:1) Install python2.7 as a system dev package\;2) Use --with-python=... option to point the installer to a useable python\; or3) Use the --build-python option to tell the installer to build Python.

It was solved by installing the package python-dev (as suggested by the error message).

By: Cormac at: 2019-05-03 13:08:09

 Hi Hitesh

I've run in to a problem with my Plone installation. I wanted to install the Add-On collective.easyform

I modified the buildout.cfg and added it to the eggs section.

However, when I try to run buildout I get errors:

sudo -u plone_buildout bin/buildoutUninstalling precompiler.Uninstalling zopepy.Uninstalling instance.Installing instance.Getting distribution for 'collective.easyform'.warning: no previously-included files found matching '*.sh'warning: no previously-included files found matching '.*.cfg'warning: no previously-included files found matching '.coveragerc'warning: no previously-included files found matching '.DS_Store'warning: no previously-included files found matching '.tx'warning: no previously-included files found matching '.tx/config'warning: no previously-included files found matching 'tests.cfg'warning: no previously-included files matching '*.pyc' found anywhere in distributionGot collective.easyform 2.1.0.Generated script '/opt/plone/zinstance/bin/instance'.Generated interpreter '/opt/plone/zinstance/parts/instance/bin/interpreter'.Updating repozo.Updating backup.Installing zopepy.Generated interpreter '/opt/plone/zinstance/bin/zopepy'.Updating unifiedinstaller.Installing precompiler.Compiling Python files.  File "/opt/plone/buildout-cache/eggs/zodbpickle-0.7.0-py2.7-linux-x86_64.egg/zodbpickle/pickletools_3.py", line 2049    print("%5d:" % pos, end=' ', file=out)                           ^SyntaxError: invalid syntax  File "/opt/plone/buildout-cache/eggs/zodbpickle-0.7.0-py2.7-linux-x86_64.egg/zodbpickle/pickle_3.py", line 178    def __init__(self, file, protocol=None, *, fix_imports=True):                                             ^SyntaxError: invalid syntax  File "/opt/plone/buildout-cache/eggs/zodbpickle-0.7.0-py2.7-linux-x86_64.egg/zodbpickle/tests/pickletester_3.py", line 145    class use_metaclass(object, metaclass=metaclass):                                         ^SyntaxError: invalid syntaxCompiling locale files.Error while compiling /opt/plone/buildout-cache/eggs/python_gettext-3.0-py2.7.egg/pythongettext/tests/test5.poError while compiling /opt/plone/buildout-cache/eggs/python_gettext-3.0-py2.7.egg/pythongettext/tests/test_escape.poUpdating setpermissions.setpermissions: Running # Dummy references to force this to execute after referenced partsecho /opt/plone/zinstance/var/backups yes > /dev/nullchmod 600 .installed.cfg# Make sure anything we've created in var is r/w by our groupfind /opt/plone/zinstance/var -type d -exec chmod 770 {} \; 2> /dev/nullfind /opt/plone/zinstance/var -type f -exec chmod 660 {} \; 2> /dev/nullfind /opt/plone/zinstance/var -type d -exec chmod 770 {} \; 2> /dev/nullfind /opt/plone/zinstance/var -type f -exec chmod 660 {} \; 2> /dev/nullchmod 754 /opt/plone/zinstance/bin/*chmod: changing permissions of '/opt/plone/zinstance/bin/buildout': Operation not permittedVersions had to be automatically picked.The following part definition lists the versions picked:[versions]collective.easyform = 2.1.0plone.recipe.command = 1.1plone.recipe.precompiler = 0.6

The Plone installation appears to be working, but I cannot activate the collective.easyform Add-On (it doesn't appear in Site Setup under Add-Ons).

I've spent the last while googling and cannot identify what the problem is.

Do you know what the problem is, or how to fix it, please?

Thank you,

Cormac

By: Cormac at: 2019-05-03 13:10:45

P.S. It appears that these errors can be ignored: https://community.plone.org/t/upgrade-plone-5-0-7-to-5-1-0-fails/6277/9