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
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.
Select Blank profile and then click on the Continue button
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.
Add the Database details you have created for ProcessWire and scroll down to select TimeZone and then move forward.
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.
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