How to Install Plone CMS on Ubuntu 24.04

The article outlines the installation process of Plone CMS on Ubuntu 24.04. It covers required packages, Node.js setup, and project generation using Cookieplone. The user-friendly interface and customizable options enhance content management. Plone’s scalability and security make it suitable for organizations, supported by an active community for long-term use.

This article explains how to install Plone CMS on Ubuntu 24.04.

Plone CMS is an open-source content management system (CMS) built on Python. It is ideal for organizations, enterprises, and governments that require a scalable and secure platform for managing websites, intranets, and digital content.

Ubuntu’s extensive package repositories and dependency management (via apt) simplify installing Plone’s prerequisites, such as Python, build tools, and databases (PostgreSQL).

Ubuntu’s reliability, security, and alignment with Python make it a natural fit for deploying Plone CMS, particularly for organizations prioritizing ease of maintenance, compliance, and long-term scalability.

Install required packages

There are multiple ways to install Plone on Ubuntu. Using the Cookieplone template is the recommended way to install and start a new Plone project using the Volto frontend.

To get started, install these recommended packages on Ubuntu.

sudo apt update
sudo apt install zlib1g-dev libjpeg8-dev pipx make git curl build-essential python-dev-is-python3 libjpeg-dev

Install and set up NVM

Next, install the nvm package, which will be used to install Node.js.

First, create your shell profile using the command below if it does not exist.

touch ~/.bash_profile

Then, download and run the nvm install and update script and pipe it into bash.

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.39.5/install.sh | bash

Source your profile.

source ~/.bash_profile

You may have to close the terminal session and open a new one to use the nvm command.

Run the command below to verify if nvm is installed and ready to use.

nvm --version

It should output a version number of nvm.

Install Node.js

Next, install or update the supported LTS versions of Node.js, then activate the version supported in Volto.

nvm install --lts
nvm use --lts

Once Node.js is installed, you can verify its version by running the command below.

node -v

It should output the Node.js version.

Next, enable and install the latest corepack so that Node.js will install pnpm as a package manager by running the command below.

corepack enable
npm install --global corepack@latest

Generate the project

Now, you are ready to generate your Plone CMS project.

Run the command below to begin.

pipx run cookieplone project

You will be presented with a series of prompts. You can accept the default values in square brackets ([default-option]) by hitting the Enter key or enter your preferred values.

╭──────────────────────────────── cookieplone ─────────────────────────────────╮
│ │
│ .xxxxxxxxxxxxxx. │
│ ;xxxxxxxxxxxxxxxxxxxxxx; │
│ ;xxxxxxxxxxxxxxxxxxxxxxxxxxxx; │
│ xxxxxxxxxx xxxxxxxxxx │
│ xxxxxxxx. .xxxxxxxx │
│ xxxxxxx xxxxxxx: xxxxxxx │
│ :xxxxxx xxxxxxxxxx xxxxxx: │
│ :xxxxx+ xxxxxxxxxxx +xxxxx: │
│ .xxxxx. :xxxxxxxxxx .xxxxx. │
│ xxxxx+ ;xxxxxxxx +xxxxx │
│ xxxxx +xx. xxxxx. │
│ xxxxx: .xxxxxxxx :xxxxx │
│ xxxxx .xxxxxxxxxx xxxxx │
│ xxxxx xxxxxxxxxxx xxxxx │
│ xxxxx .xxxxxxxxxx xxxxx │
│ xxxxx: .xxxxxxxx :xxxxx │
│ .xxxxx ;xx. ... xxxxx. │
│ xxxxx+ :xxxxxxxx +xxxxx │
│ .xxxxx. :xxxxxxxxxx .xxxxx. │
│ :xxxxx+ xxxxxxxxxxx ;xxxxx: │
│ :xxxxxx xxxxxxxxxx xxxxxx: │
│ xxxxxxx xxxxxxx; xxxxxxx │
│ xxxxxxxx. .xxxxxxxx │
│ xxxxxxxxxx xxxxxxxxxx │
│ ;xxxxxxxxxxxxxxxxxxxxxxxxxxxx+ │
│ ;xxxxxxxxxxxxxxxxxxxxxx; │
│ .xxxxxxxxxxxxxx. │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
You've downloaded /home/richard/.cookiecutters/cookieplone-templates before. Is
it okay to delete and re-download it? [y/n] (y):
╭─────────────────────────────── Plone Project ────────────────────────────────╮
│ │
│ Creating a new Plone Project │
│ │
│ Sanity check results: │
│ │
│ - Cookieplone: ✓ │
│ - Python: ✓ │
│ - Node: ✓ │
│ - git: ✓ │
│ - Docker (optional): Docker not found. │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[1/17] Project Title (Project Title): Plone Project
[2/17] Project Description (A new project using Plone 6.):
[3/17] Project Slug (Used for repository id) (plone-project):
[4/17] Project URL (without protocol) (plone-project.example.com): plone.example.com
[5/17] Author (Plone Foundation):
[6/17] Author E-mail (collective@plone.org): superadmin@example.com
[7/17] Should we use prerelease versions? (No): yes
[8/17] Plone Version (6.1.0):
[9/17] Volto Version (18.8.2):
[10/17] Python Package Name (plone.project):
[11/17] Volto Addon Name (volto-plone-project):
[12/17] Language
1 - English
2 - Deutsch
3 - Español
4 - Português (Brasil)
5 - Nederlands
6 - Suomi
Choose from [1/2/3/4/5/6] (1): 1
[13/17] GitHub or GitLab Username or Organization (collective):
[14/17] Container Registry
1 - GitHub Container Registry
2 - Docker Hub
3 - GitLab
Choose from [1/2/3] (1):
[15/17] Should we setup a caching server?
1 - Yes
2 - No
Choose from [1/2] (1):
[16/17] Add Ansible playbooks?
1 - Yes
2 - No
Choose from [1/2] (1):
[17/17] Add GitHub Action to Deploy this project?
1 - Yes
2 - No
Choose from [1/2] (1): 2
╭────────────────────────── Plone Project generation ──────────────────────────╮
│ │
│ Summary: │
│ │
│ - Plone version: 6.1.0 │
│ - Volto version: 18.8.2 │
│ - Output folder: /home/richard/plone-project │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
-> Remove GHA deployment files
-> Initialize Git repository
-> Setup Backend
-> Setup Frontend
-> Setup Cache
-> Setup Project Settings
╭───────────────────────── New project was generated ──────────────────────────╮
│ │
│ Plone Project │
│ │
│ Now, code it, create a git repository, push to your organization. │
│ │
│ Sorry for the convenience, │
│ The Plone Community. │
│ │
│ https://plone.org/ │
╰──────────────────────────────────────────────────────────────────────────────╯

Install the project

Next, change your current working directory to plone-project.

cd plone-project

Then, run the command below to install the Plone backend and frontend.

make install

This will take a few minutes. When the process completes successfully, it will exit with no message.

After installing, run the command below to start Plone backend.

make backend-start

Next, open a new terminal session and start Plone frontend.

make frontend-start

Open a browser using the following URL to visit your Plone site.

http://localhost:3000

Select the Login link to the login form, and enter the following credentials.

  • Login nameadmin
  • Passwordadmin

Now, you can edit content or configure your Plone site.

That should do it!

Conclusion:

In conclusion, installing Plone CMS on Ubuntu 24.04 is a straightforward process that allows organizations to harness the power of an open-source content management system. Here are the key takeaways:

  • Comprehensive Setup: The process includes installing necessary packages, configuring Node Version Manager (nvm), and generating the project using Cookieplone.
  • User-Friendly: Plone’s interface is intuitive, making it easy to manage content and configure site settings post-installation.
  • Flexible Configuration: Users can choose various options tailored to their specific needs during project generation, enhancing customization.
  • Scalability: Plone is ideal for organizations looking for scalable solutions to effectively manage websites and digital content.
  • Secure Environment: Ubuntu 24.04 offers a reliable and safe environment for deploying Plone, ensuring that sites comply with various organizational standards.
  • Active Community: The Plone community provides continuous support and updates, making it an excellent choice for organizations seeking longevity in their CMS solution.

With these points in mind, adopting Plone for your content management needs can lead to a successful and productive web presence.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *