A Step by step guide to installing Processwire CMS on Ubuntu 22.04 LTS


In this tutorial, we’ll walk you through installing the ProcessWire Content Management System (CMS) on your Linux Ubuntu 22.04 LTS server. ProcessWire CMS offers intuitive content management features, streamlining website publishing for you. We’ll demonstrate how to set up ProcessWire CMS on Ubuntu 22.04 OS. ProcessWire is a PHP-based, open-source content management system with a host of functionalities including a jQuery-styled API, scalability, templating, multilingual support, drag-and-drop page lists, and more, making it a popular choice for website and application development. Data in ProcessWire is stored in MySQL database servers, and for this installation, we’ll deploy ProcessWire CMS with the LAMP stack. The installation process for ProcessWire CMS on Ubuntu 22.04 with the LAMP stack is quite straightforward and typically takes around 15 minutes to complete. Let’s dive in and get started!


The following is a list of items needed to install Processwire CMS on Linux Ubuntu 22.04 LTS successfully:
1) A computer with 4GB of RAM, A dual core processor and 50GB of free disk space
2) An SSH client such as Putty or the terminal app for MacOS
3) For cloud deployments you will also need a fully qualified domain name and a public static IP address
4) A stable internet connection
5) A basic understanding of linux commands


The following is an overview of the steps covered in this guide:
1) Update the system repository and install the LAMP stack
2) Configure MariaDB and create a new database
3) Download and configure Processwire CMS
4) Install a Let’s Encrypt SSL certificate
5) Access Processwire and complete the post installation setup

If you intend to deploy Processwire CMS in the cloud on Amazon Web Services, click HERE to learn how to setup a Linux Ubuntu instance.

Step 1: Update the system repository and install the LAMP stack

The first step is updating the system repository and installing the LAMP stack. When you update the system repository, you’re essentially refreshing the list of available software packages and their versions. This ensures that your system has the latest information about software packages available for installation. Run the following command to start the update process:

sudo apt update

Once the update process completes, run the following command to install the LAMP stack:

sudo apt install apache2 mariadb-server php libapache2-mod-php php-common php-mysql php-xml php-xmlrpc php-curl php-gd php-imagick php-cli php-dev php-imap php-mbstring php-opcache php-soap php-zip php-intl unzip wget curl -y

Once the installation completes, run the following commands to start the apache webserver and configure it to start and system boot:

systemctl start apache2
systemctl enable apache2

Configure Mariadb to start now and run at system boot:

systemctl start mariadb
systemctl enable mariadb

Step 2: Configure MariaDB and create a new database.

The next step is to run the mysql secure installation script. Run the following command to start the script:

sudo mysql_secure_installation

The following is a list of questions and responses that you can provide to each prompt when the script is running

Switch to unix_socket authentication? [Y/n]
Change the root password? [Y/n]
Remove anonymouse users? [Y/n]
Disallow root login remotely? [Y/n]
Reload privilege table now? [Y/n]

When the mysql secure installation configuration process is complete, run the following command to connect to the mysql shell:

mysql -u root -p

Run the following command to create a database for Processwire CMS:

CREATE DATABASE processwiredb;
GRANT ALL PRIVILEGES ON processwiredb.*TO'processwireuser'@'localhost' IDENTIFIED BY 'verysecurepassword';

Step 3: Download and configure Processwire CMS

Scroll to Top