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 -y
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:
mysql_secure_installation
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:
MariaDB [(none)]> FLUSH PRIVILEGES;
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:
$wget https://github.com/processwire/processwire/archive/master.zip
Unzip the folder/directory
Once downloaded, you can unzip the master.zip file. This can be done from the command line as follows:
$unzip master.zip
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
ServerName processwire.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 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.
- 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:
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 https://github.com/processwire/processwire.git
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.