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 where the backend can be individually tailored to each project. The heart of ProcessWire is an internal API which gives the system exceptional flexibility and supports a wide range of applications. Templates with separate input fields can be defined for pages. With the help of an SEO module, the template can also be extended easily and automatically with all necessary SEO elements. Thanks 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 must have Ubuntu 22.04 LTS, non-root user access with sudo rights and a LAMP stack (will install here).
1. Update Ubuntu 22.04
First, run the system update command to ensure that all packages on our system are up to date and APT package index caches are in their latest state.
sudo apt update && sudo apt upgrade
2. Install Apache and PHP for ProcessWire
We need Apache web server and PHP programming language to configure ProcessWire CMS, let’s install both in this step.
sudo apt install apache2
After the Apache installation is complete, enable and start its service.
sudo systemctl enable apache2
Check Status:
systemctl status apache2
We can also check the functioning of the Apache web server by accessing its default page. For this, open your local system browser which can access the Ubuntu 22.04 server IP where you have Apache installed.
http://server-ip-address
Install PHP version 8
The default version of PHP can be installed using the default Ubuntu 22.04 LTS repository. Therefore, just run the given command to install the required PHP and 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 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
To verify:
systemctl status mariadb
CTRL+C to leave.
Secure your database installation:
To secure our DB instance, run the given command:
sudo mysql_secure_installation
Production
The questions asked will be asked by the system, the sample answers are 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 a database for ProcessWire
Connect to your database server using the password you set for the root user of it.
sudo mysql -u root -p
Follow the command to create a new database. However, remember to replace New user whatever name you want to give to your use of the database and in the same 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
The files to configure ProcessWire must be downloaded manually and we can do it 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 the file:
sudo unzip master.zip
Move it to the web folder:
sudo mv processwire-master/ /var/www/html/processwire
Delete downloaded files to free up 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 your Apache web server’s Vhost modules and configuration file to ensure that it serves the PorcessWire CMS files without any errors.
Create a configuration file for ProcessWire
sudo nano /etc/apache2/sites-available/processwire.conf
Copy-Paste the following lines:
ServerAdmin [email protected] DocumentRoot /var/www/html/processwire ServerName example.com ServerAlias www.example.com Options FollowSymLinks AllowOverride All Require all granted ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined
Save the file by pressing Ctlr+O, hitting the Enter key, and then exiting using Ctrl+X.
Enable virtual host
sudo a2ensite processwire.conf
Activate the rewrite module
sudo a2enmod rewrite
Disable default Apache test page
sudo a2dissite 000-default.conf
Restart the Apache web server to apply the changes:
sudo systemctl restart apache2
7. Configuring the ProcessWire CMS web interface
After following the above steps, open your system browser which can access the server IP address of the system where you installed ProcessWire.
And point it like this:
http://server-ip-address
Start configuring:
Click the Start button.
To select Virgin profile, then click the Continue button
The system will perform a compatibility check, if each requirement is met as shown in the screenshot, click the "Take the next step" button.
Add the database details you created for ProcessWire and scroll down to select TimeZone, then move forward.
admin panel
Create a username and password that you want to use to log in to the ProcessWire CMS backend to manage content and other settings.
Other Items:
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 Configure DNS Nameserver On Ubuntu