Install Backdrop CMS on Debian 11 Bullseye

Here we learn the commands to install Backdrop CMS on Debian 11 Bullseye using the terminal for creating a blog or website.

If you want to publish content on the web, you usually use a content management system. The open-source web application WordPress is the leader in this category and a huge chunk of websites/blogs are now powered by it.  However, there are other CMS players that keep emerging such as Backdrop emerged from Drupal. This fork has evolved steadily since 2015.

Backdrop CMS is a lightweight, feature-rich, and very user-friendly content management system. Designed specifically for small businesses, organizations, and educational institutions, the Drupal fork positions itself as an alternative between WordPress and Drupal. It is a system that already has the most important functions and is extremely easy to use. At the same time, Backdrop CMS offers enough reserves for tailor-made requests and more ambitious development projects.

Installing Backdrop is quite simple. The simplest and most classic way is to download the zipped installation data, unpack it and upload it to the hosting server via FTP. However, here in this tutorial, we have direct access Debian server via SSH.

 

Steps to install Backdrop CMS on Debian 11 Bullseye

1. Tutorial Requirements

Debian 11 Bullseye Linux server or desktop OS with an active internet connection and access to a non-root user with sudo access at least.

 

2. Update your Debian 11 Bullseye server

First, run the system update command to make sure our APT package manager cache is up to date. This will also fetch and install if any updates are available for our system.

sudo apt update && sudo apt upgrade

 

3. Install Apache, MySQL & PHP

Just like WordPress, Backdrop CMS is also PHP-based, which requires a web server such as Apache or Nginx along with a database server to store data. Here we are using MariaDB.

sudo apt install apache2 mariadb-server php libapache2-mod-php php-json php-common php-gmp php-curl php-mysql php-zip php-intl php-json php-sqlite3 php-bcmath php-mbstring php-xmlrpc php-gd php-cli php-xml php-zip php-imap wget unzip

Enable Apache and MariaDB services:

sudo systemctl enable --now apache2 mariadb
sudo systemctl restart apache2 mariadb

 

4. Create Database for Backdrop CMS

Before creating a Database for storing Backdrop CMS data, let’s secure our MariaDB instance. For that run:

sudo mysql_secure_installation

As you run the above command, it will give a text-based wizard to secure your Database server. Here are the questions it will ask:

Enter current password for root (enter for none): Press ENTER.
Switch to unix_socket authentication? Press N, then ENTER.
Change the root password? Press Y, then ENTER.
Remove anonymous users? Press Y, then ENTER.
Disallow root login remotely? Press Y, then ENTER.
Remove test database and access to it? Press Y, then ENTER.
Reload privilege tables now? Press Y, then ENTER.

Once you are done with the above process, log in to your database server shell for creating a database and its user + password.

sudo mysql -u root -p

Enter the password you have created for the MySQL root user while securing it.

Note: Replace yourdb with whatever name you want to give your Database, whereas youruser and yourpasswordwith the username and password, you want to be set for the created Database.

CREATE DATABASE yourdb;
CREATE USER 'youruser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL ON yourdb.* TO 'youruser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;

 

5. Install Backdrop CMS on Debian 11 Bullseye

After following all the above steps, we have all the necessary things we require to run Backdrop CMS on Debian 11 Bullseye Linux. Now, let’s download the Backdrop CMS files we require to install Debian 11 Bullseye because it is not available through the official system repository.

Backdrop CMS’s latest version is available on GitHub. Here is the command to get it:

curl -s https://api.github.com/repos/backdrop/backdrop/releases/latest|grep browser_download_url|grep backdrop.zip|cut -d '"' -f 4|wget -qi -

Extract the downloaded file:

unzip backdrop.zip

Move the extracted file to your Webroot directory:

sudo mv backdrop /var/www/

Give Apache user the owner-ship of the moved files along with that also set read and write permissions of the file as well.

sudo chown www-data:www-data -R /var/www/backdrop/
sudo chmod -R 755 /var/www/backdrop/

 

6. Create Apache Virtual host file for Backdrop CMS

To host and deliver multiple websites using an Apache web server, we should create an individual virtual host configuration file for each website we are hosting on it. Also, using the virtual host file we can control the delivery of website files.

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

Add the below code to the file. 

<VirtualHost *:80>

ServerAdmin [email protected]
DocumentRoot /var/www/backdrop
ServerName example.com
ServerAlias www.example.com

<Directory /var/www/backdrop/>
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 Ctrl+O, press Y, and exit the file using Ctrl+X.

 

7. Enable Backdrop CMS Apache configuration

Once you have created the virtual host configuration file for Backdrop CMS, enable it and disable the default Apache test page.

Enable virtual host

sudo a2ensite backdrop.conf

Enable rewrite module

sudo a2enmod rewrite

Disable default Apache test page

sudo a2dissite 000-default.con

Restart Apache webserver to apply the changes:

sudo systemctl restart apache2

Note: If you are using a Cloud hosting service then don’t forget to open ports 80 and 443 in its firewall.

 

8. Backdrop CMS web interface setup

From here onwards, the further configuration will happen through the web interface of Backdrop CMS. Open your local system browser that can access the server’s IP address or domain where you have installed the Backdrop CMS. After that, point it towards the same.

For example:

http://192.168.1.37
or
http://your-domain.com

Choose Language 

As per your choice, select the language to install Backdrop.

Choose CMS langauge

Database Configuration 

Add the database details such as its name, user, and password you have created for Backdrop CMS in this tutorial.

Database Configuration for Backdrop CMS

Configure Site:

Set whatever name you want to set for your website along with that also add the details to create an Admin user for logging the backend of Backdrop CMS.

Configure Backdrop CMS website 1

Once done, visit your website. To get Admin Interface, click on the Login link.

Install Backdrop CMS on Debian 11 Bullseye Linux

 

9. Backdrop CMS Admin Dashboard

Here is a glimpse of the Backdrop CMS backend to manage your website.

Backdrop CMS Admin Dashboard on Debian 11 Bullseye

 

Other Articles:

How to Install Craft CMS on Ubuntu 20.04 LTS 
Install phpBB forum on Debian 11 Bullseye
How to Install LibreNMS on Debian 11 Bullseye
Install Jupyter Notebook on Debian 11 Bullseye 

 

 

 

Leave a Comment

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