How to Install Baun CMS on Ubuntu 20.4.1

To Install Baun CMS on Ubuntu 20.4.1

Introduction:

The Baun CMS is a modern PHP application that helps webmasters create websites without writing a line of code. The application is modular, lightweight, and extendable.

Installation process:

Run lsb_release command to check the installed version of OS as follows.

root@linuxhelp:~# 
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.1 LTS
Release:	20.04
Codename:	focal

Install Apache:

root@linuxhelp:~# apt install apache2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0
Suggested packages:
  apache2-doc apache2-suexec-pristine | apache2-suexec-custom
The following NEW packages will be installed:

Start the apache by following command

root@linuxhelp:~# systemctl start apache2

Install PHP modules by using the below commands:

root@linuxhelp:~# apt install php php-xml php-mysql php-mbstring php-zip php-soap php-sqlite3 php-curl php-gd php-ldap php-imap php-common
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libapache2-mod-php7.4 libc-client2007e libonig5 libzip5 mlock php7.4 php7.4-cli php7.4-common php7.4-curl php7.4-gd php7.4-imap
  php7.4-json php7.4-ldap php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline php7.4-soap php7.4-sqlite3 php7.4-xml

Install mysql by using the below command:

root@linuxhelp:~# apt install mysql-server
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libaio1 libcgi-fast-perl libcgi-pm-perl libevent-core-2.1-7 libevent-pthreads-2.1-7 libfcgi-perl libhtml-template-perl libmecab2
  mecab-ipadic mecab-ipadic-utf8 mecab-utils mysql-client-8.0 mysql-client-core-8.0 mysql-server-8.0 mysql-server-core-8.0
Suggested packages:
  libipc-sharedcache-perl mailx tinyca
The following NEW packages will be installed:
  libaio1 libcgi-fast-perl libcgi-pm-perl libevent-core-2.1-7 libevent-pthreads-2.1-7 libfcgi-perl libhtml-template-perl libmecab2
  mecab-ipadic mecab-ipadic-utf8 mecab-utils mysql-client-8.0 mysql-client-core-8.0 mysql-server mysql-server-8.0
  mysql-server-core-8.0

Download Baun cms by using the below command:

root@linuxhelp:~# wget https://github.com/BaunCMS/Baun/archive/1.3.2.zip
--2020-12-05 11:19:08--  https://github.com/BaunCMS/Baun/archive/1.3.2.zip
Resolving github.com (github.com)... 13.234.210.38
Connecting to github.com (github.com)|13.234.210.38|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/BaunCMS/Baun/zip/1.3.2 [following]
--2020-12-05 11:19:08--  https://codeload.github.com/BaunCMS/Baun/zip/1.3.2
Resolving codeload.github.com (codeload.github.com)... 13.233.43.20
Connecting to codeload.github.com (codeload.github.com)|13.233.43.20|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/zip]
Saving to: ‘1.3.2.zip’
1.3.2.zip                            [ <=>                                                       ]  26.38K  --.-KB/s    in 0.08s   
2020-12-05 11:19:09 (320 KB/s) - ‘1.3.2.zip’ saved [27014]

Extract the Zip file by using the below command:

root@linuxhelp:~# unzip 1.3.2.zip
Archive:  1.3.2.zip
a9e698e9e16e8a9785b95bdc89eeee0c487d78ee
   creating: Baun-1.3.2/
  inflating: Baun-1.3.2/.gitignore   
  inflating: Baun-1.3.2/CHANGELOG.md  
  inflating: Baun-1.3.2/LICENSE      
  inflating: Baun-1.3.2/README.md    
  inflating: Baun-1.3.2/auto-install.php  
  inflating: Baun-1.3.2/baun         
   creating: Baun-1.3.2/cache/
 extracting: Baun-1.3.2/cache/.gitignore  
  inflating: Baun-1.3.2/composer.json  
   creating: Baun-1.3.2/config/

Rename the directory:

root@linuxhelp:~# mv Baun-1.3.2 /var/www/baun

Give the Ownership and permissions to baun directory

root@linuxhelp:~# chown -R www-data.www-data /var/www/baun
root@linuxhelp:~# chmod -R 775 /var/www/baun

Create a virtualhost for Baun CMS:

root@linuxhelp:~# vim /etc/apache2/sites-available/baun.conf

change the directory to Baun directory:

root@linuxhelp:~# cd /var/www/baun

Install Composer:

root@linuxhelp:/var/www/baun# apt install composer
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  linux-headers-5.4.0-42 linux-headers-5.4.0-42-generic linux-headers-5.4.0-52 linux-headers-5.4.0-52-generic
  linux-image-5.4.0-42-generic linux-image-5.4.0-52-generic linux-modules-5.4.0-42-generic linux-modules-5.4.0-52-generic
  linux-modules-extra-5.4.0-42-generic linux-modules-extra-5.4.0-52-generic
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  git git-man jsonlint liberror-perl php-composer-ca-bundle php-composer-semver php-composer-spdx-licenses
  php-composer-xdebug-handler php-json-schema php-psr-container php-psr-log php-symfony-console php-symfony-filesystem
  php-symfony-finder php-symfony-process php-symfony-service-contracts
Suggested packages:
  fossil mercurial subversion git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-cvs
  git-mediawiki git-svn php-symfony-event-dispatcher php-symfony-lock php-symfony-service-implementation
The following NEW packages will be installed:
  composer git git-man jsonlint liberror-perl php-composer-ca-bundle php-composer-semver php-composer-spdx-licenses

Disable default access

root@linuxhelp:/var/www/baun# a2dissite 000-default.conf
Site 000-default disabled.
To activate the new configuration, you need to run:
  systemctl reload apache2

Enable site access

root@linuxhelp:/var/www/baun# a2ensite baun.conf
Enabling site baun.
To activate the new configuration, you need to run:
  systemctl reload apache2

Enable rewrite module

root@linuxhelp:/var/www/baun# a2enmod rewrite
Enabling module rewrite.
To activate the new configuration, you need to run:
  systemctl restart apache2

Once it is completed, Restart the Apache Web Server by running the following command

root@linuxhelp:/var/www/baun# systemctl restart apache2

Open Browser type static IP on URL

It will show Home page of Baun CMS

with this method installation on Baun CMS on ubuntu comes to end.

FAQ
Q
Is it's possible to host the Baun CMS using the Nginx server?
A
Yes, it's possible to host the Baun CMS using the Nginx server.
Q
How to get the latest version of Baun CMS from the official link?
A
To get the latest version of Baun CMS go to the link as follow "https://github.com/BaunCMS/Baun/releases"
Q
What are all the PHP modules required For Installation of Baun CMS?
A
The PHP modules required are installed by using the command
#apt install php-mysql php-curl php-json php-cgi php-mcrypt php-xmlrpc php-gd php-mbstring php php-curl php-zip
Q
Is Baun CMS Opensource?
A
Yes, Baun CMS is free and Opensource.
Q
What is Baun CMS?
A
Baun CMS is an open-source, lightweight, and extensible flat-file CMS for PHP. It doesn't require a database and administration back-end and is a perfect solution for small websites. The main advantages of a flat-file CMS system are simplicity, portability, security, speed, and version control.