How to Install ProcessWire CMS on Debian 11

How to Install ProcessWire CMS on Debian 11

If you want to discover how to install ProcessWire CMS on Debian 11 for streamlined content management, this is the guide for you. ProcessWire CMS is a PHP content management system that can be used to publish content on the web.

What is ProcessWire CMS

ProcessWire is a PHP-based content management system. It is open source. Using this CMS, you can develop your website very quickly. It has a straightforward and easy-to-use web interface. Amongst its features include:

  • Multi-language support.
  • A powerful template system.
  • It provides support for the hook.
  • It can work as headless.
  • It provides a modular plug-ins system using which we can extend its functionality.

How to Install ProcessWire CMS on Debian 11

We will now discuss the ways to install ProcessWire CMS. Before following the article, you must ensure you have a Debian server. In addition, you should have a valid domain pointing to your server IP and access to a rooted account or account with sudo permissions.

Getting the System ready

To install ProcessWire CMS on Debian 11, you must ensure that our system is ready and has apache, PHP, and MariaDB installed. Follow the steps below.

Upgrade your system

The very first step is to upgrade your system. Your system packages can be updated with the help of the following command:

$apt update -y
$apt upgrade –y

After updating your system, you can now install the LAMP server.

Installation of Apache, PHP, and MariaDB server

In the next step, we will install the apache, PHP, and MariaDB server. The essential software, along with the appropriate dependencies, can be installed with the help of the following command:

$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 

Start Apache and MariaDB service

Now we will start the apache server and MariaDB service with the help of the following commands:

$systemctl start apache2
$systemctl start mariadb

Set the password for MariaDB

The root password for MariaDB is not set by default. To set the root password, run the following command:


You will be asked a series of questions. Answer them to secure the MariaDB.

Create a database for Processwire

Now open the MariaDB shell with the following command:

$mysql -u root –p

Then, create the database using the following command:

MariaDB [(none)]> CREATE USER 'processuser'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> CREATE DATABASE processdb;

Grant the privileges

Grant the privileges for the ProcessWire database with the help of the following command:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON processdb.* TO 'processuser'@'localhost';

Next, flush the privileges using the following command:


Exit the shell via the following command:

MariaDB [(none)]> Exit;

Installation of ProcessWire CMS

We will now download and install ProcessWire CMS on Debian 11. For this purpose, follow the step below.

Download the latest version of ProcessWire CMS

The very first step is to download the latest version of ProcessWire CMS. You can use the following command for this purpose:


Unzip the folder/directory

Once downloaded, you can unzip the file. This can be done from the command line as follows:


Move the extracted folder to the Apache web root via the following command:

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

Here, we have used the mv command and then specified the software extracted folder in the apache directory.

Change the ownership and permission of the folder

We will change the ownership of the folder using the chown command as follows:

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

Finally, we will change the permission of the folder as follows:

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

Configuration of ProcessWire CMS

In this portion, we will now perform the configuration of ProcessWire CMS.

Create and edit the configuration file

First, we will create an apache virtual host configuration file for ProcessWire. Use your favorite editor, and create the file as follows:

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

Now, provide the configuration in the file as follows:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/processwire
<Directory /var/www/html/processwire/>
Options FollowSymLinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

Save the file and close the editor.

Activate virtual host

Now, we will activate the virtual host as follows:

a2ensite processwire.conf

Finally, rewrite the module as follows:

a2enmod rewrite

Restart apache service

Restart the apache service by using the following command:

$systemctl restart apache2

Verify that the service is running via the following command:

$systemctl status apache2

You should see the details of the apache web service.

ProcessWire web installation

The last step is the web installation of ProcessWire. For this purpose, the following steps should be used:

  • Point your browser to this link.
  • You will be redirected to the ProcessWire web installation wizard. 
processwire installer
  • Click on Get Started.
  • Select a blank profile and continue to move to the package validation page.
  • Click on Next to see the database configuration page.
  • Provide the database details (hostname, database name, database username and password, and Timezone) and click ‘Continue’.
  • Define admin username, password, and other details. Click on Continue.
  • It will take a while to finish the installation.
  • Now click on login and provide details to log in.
  • You will be able to see the ProcessWire dashboard. A snapshot is shown below:
ProcessWire dashboard

In this article, we have discussed instructions to install ProcessWire CMS on Debian 11. It can be used for the fast development and publishing of web content over the internet. We have discussed installation via downloading the zip from the website. 

You can also obtain the latest distribution from GitHub. To do so, use this command:

$git clone

In addition, ProcessWire is available from Packagist and can be installed using Composer. There are other installation options as well that can be seen here.

If this guide helped you, please share it. 

Related Posts