How to Install ProcessWire on Ubuntu 22.04 LTS Jammy

Learn the steps to install ProcessWire CMS on Ubuntu 22.04 LTS Jammy JellyFish using LAMP server- Apache. MariaDB and PHP.

ProcessWire is an open-source CMS and content management framework in which the backend can be individually adapted for each project. The core of ProcessWire is an internal API that gives the system exceptional flexibility and supports a wide range of applications. Templates with separate input fields can be defined for the pages. With the help of an SEO module, the template can also be easily and automatically extended with all necessary SEO elements. Due to the simple architecture, developers can develop their modules with little effort. Other important modules (multilingualism, slideshows, thumbnails, …) are already integrated or can be installed free of charge.

Steps to install ProcessWire CMS on Ubuntu 22.04 LTS Linux

The steps given here in this tutorial can be used for other Ubuntu server versions such as 20.04/18.04. Whereas to follow this guide the user should have Ubuntu 22.04 LTS, access to a non-root user with sudo rights, and a LAMP stack (will install here).

1. Perform Ubuntu 22.04 update

First, of all, run the system update command to ensure all the packages on our system are up to date and also the APT package index cache is in its latest state.

sudo apt update && sudo apt upgrade

 

2. Install Apache & PHP for ProcessWire

We need an Apache web server and PHP programing language for setting ProcessWire CMS, let’s install both in this step.

sudo apt install apache2

Once the Apache installation is completed, enable and start its service.

sudo systemctl enable apache2

Check status:

systemctl status apache2

We can also check the working of the Apache webserver by accessing its default page. For that open your local system browser that can access the IP address of the Ubuntu 22.04 server where you have installed the Apache.

Note: server-ip-address with your actual address

http://server-ip-address

Apache default page ubuntu 22.04

 

Install PHP version 8

The default version of PHP is available to install using the standard Ubuntu 22.04 LTS repository. Hence, simply run the given command to install the PHP and the required extensions on your system.

sudo apt install -y php php-{common,mysql,xml,xmlrpc,curl,gd,imagick,cli,dev,imap,mbstring,opcache,soap,zip,intl}

To check the version after completing the above command, use:

php -v

 

3. Install MariaDB or MySQL

We can either use MariaDB or MySQL Database Server on Ubuntu 22.04 to store the data generated by the ProcessWire CMS. Here we are using MariaDB Server.

sudo apt install mariadb-server mariadb-client

Enable, Start and check service status:

sudo systemctl enable --now mariadb

Check:

systemctl status mariadb

Ctrl+C to exit.

Secure your Database Installation:

To secure our Database instance, run the given command:

sudo mysql_secure_installation

Output  

The given questions will ask by the system, the example of answers is also given below:

Enter current password for root (enter for none): Press ENTER
Set root password? [Y/n]: Y
New password: Set-your-new-password
Re-enter new password: Set-your-new-password
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

 

4. Create Database for ProcessWire

Login to your Database server by using the password you have set for the root user of it.

sudo mysql -u root -p

Follow the command to create a new DB. However, don’t forget to replace new_user with whatever name you want to give to your Database user and in the same way- new_db with a name for Database and your_password for the password.

CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'your_password';
CREATE DATABASE new_db;
GRANT ALL PRIVILEGES ON new_db.* TO 'new_user'@'localhost';
FLUSH PRIVILEGES;
Exit;

 

5. Install ProcessWire on Ubuntu 22.04

Files to set up ProcessWire need to download manually and we can do that using the command terminal. Here are the commands to follow:

sudo apt install wget unzip

Download ProcessWire:

wget https://github.com/processwire/processwire/archive/master.zip

Extract file:

sudo unzip master.zip

Move it to the web folder: 

sudo mv processwire-master/ /var/www/html/processwire

Remove the downloaded files to free space:

sudo rm master.zip

Change file permission

sudo chown www-data:www-data -R /var/www/html/processwire/

sudo chmod -R 755 /var/www/html/processwire/

 

6. Configure Apache

Next, enable modules and the Vhost configuration file of your Apache webserver to ensure it serves the PorcessWire CMS files without any error.

Create a configuration file for ProcessWire

sudo nano /etc/apache2/sites-available/processwire.conf

Copy-Paste the following lines:

<VirtualHost *:80>

ServerAdmin [email protected]

DocumentRoot /var/www/html/processwire
ServerName example.com
ServerAlias www.example.com

<Directory /var/www/html/processwire/>

Options FollowSymLinks
AllowOverride All
Require all granted

</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Save the file by pressing Ctlr+O, hitting the Enter key, and then exiting using Ctrl+X.

 

Enable virtual host

sudo a2ensite processwire.conf

Enable rewrite module

sudo a2enmod rewrite

Disable the default Apache test page

sudo a2dissite 000-default.conf

Restart the Apache webserver to apply the changes:

sudo systemctl restart apache2

 

7. ProcessWire CMS web interface setup

After following the above steps, open your system browser that can access the server IP address of the system where you have installed the ProcessWire.

And point it to as following:

http://your-server-ip-address

Start Setting up:

Click on Get Started button.

ProcessWire Installer Ubuntu 22.04

Select Blank profile and then click on the Continue button

Check Profile Blank

The system will perform a Compatibility Check, if every requirement is satisfied as shown in the screenshot, click on the “Continue to Next Step” button.

ProcessWire Ubuntu 22.04 Compatibility Check

Add the Database details you have created for ProcessWire and scroll down to select TimeZone and then move forward.

Add Database details to ProcessWire Setup

 

8. Admin Panel

Create a username and password you want to use to log in to the backend of ProcessWire CMS to manage content and other settings.

Create Admin account Login to Web Admin ProcessWire Backend ProcessWire CMS Installation on Ubuntu 22.04 server

 

Other Articles:

How to install Backdrop CMS on Ubuntu 22.04 Jammy
How to install Umbraco CMS on Ubuntu 20.04 LTS
Check internet speed using a command in Ubuntu…
How to set DNS Nameserver on Ubuntu

 

 

 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.