How to install and configure Pluck CMS on CentOS 8.1

To install and configure Pluck CMS on CentOS 8.1

Introduction:

Pluck is a free, open source, small, and simple content management system that can be used to manage your own website without knowledge of programming languages. It is written in PHP language and does not use a database to store its data. It comes with lots of modules that allow us to integrate custom functionality into the system. This video will cover the installation and configuration of Pluck CMS on CentOS 8.1.

Prerequisite

Apache

MriaDB

PHP and its module (php php-zip php-soap php-cli php-common php-gd php-mbstring php-mcrypt php-mysqlnd php-XML)

Installation Process

Check the installed version of OS:

[root@linuxhelp ~]# cat /etc/centos-release
CentOS Linux release 8.1.1911 (Core)

Now Download the apache web server

[root@linuxhelp ~]# yum install httpd -y
Last metadata expiration check: 1:23:11 ago on Tuesday 13 October 2020 12:10:30 PM IST.
Dependencies resolved.
httpd                                        x86_64                           2.4.37-21.module_el8.2.0+494+1df74eae                               AppStream                           1.7 M
Installing dependencies:
 …..
….
  apr-1.6.3-9.el8.x86_64                                       apr-util-1.6.1-6.el8.x86_64                                
 httpd-filesystem-2.4.37-21.module_el8.2.0+494+1df74eae.noarch    
  httpd-tools-2.4.37-21.module_el8.2.0+494+1df74eae.x86_64     mod_http2-1.11.3-3.module_el8.2.0+486+c01050f0.1.x86_64     centos-logos-httpd-80.5-2.el8.noarch                             
Complete!

Now install MariaDB by triggering the following statement:

[root@linuxhelp user]# yum install mariadb mariadb-server
Last metadata expiration check: 1:34:08 ago on Tuesday 13 October 2020 12:10:30 PM IST.
Dependencies resolved.
….
 (5/10): mariadb-gssapi-server-10.3.17-1.module_el8.1.0+257+48736ea6.x86_64.rpm                                                                               256 kB/s |  49 kB     00:00    
(6/10): mariadb-10.3.17-1.module_el8.1.0+257+48736ea6.x86_64.rpm                                                                                             244 kB/s | 6.1 MB     00:25    
(7/10): mariadb-backup-10.3.17-1.module_el8.1.0+257+48736ea6.x86_64.rpm                                                                                      220 kB/s | 6.0 MB     00:28    
(8/10): perl-DBD-MySQL-4.046-3.module_el8.1.0+203+e45423dc.x86_64.rpm                                                                                        235 kB/s | 156 kB     00:00    
(9/10): mariadb-server-utils-10.3.17-1.module_el8.1.0+257+48736ea6.x86_64.rpm                                                                                293 kB/s | 1.6 MB     00:05    
(10/10): mariadb-server-10.3.17-1.module_el8.1.0+257+48736ea6.x86_64.rpm                                                                                     397 kB/s |  16 MB     00:41    
….
…
  mariadb-connector-c-3.0.7-1.el8.x86_64                                                                mariadb-connector-c-config3.0.71.el8.noarch                                                
  mariadb-errmsg-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64                                perl-DBD-MySQL-4.046-3.module_el8.1.0+203+e45423dc.x86_64                                    
Complete!

**Enable secure installation to secure MySQL: **

[root@linuxhelp ~]# mysql_secure_installation
Enter current password for root (enter for none): 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Enter current password for root (enter for none): 
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
You already have a root password set, so you can safely answer 'n'.
Change the root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
 ... Success!
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
 ... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
 ... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!

Then, install the PHP modules and required modules:

[root@linuxhelp~] #  yum install php php-zip php-soap php-cli php-common php-gd php-mbstring php-mcrypt php-mysqlnd php-xml
Last metadata expiration check: 0:00:14 ago on Tuesday 13 October 2020 03:10:48 PM IST.

Package php-mbstring-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64 is already installed.
Package php-gd-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64 is already installed.
Package php-mysqlnd-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64 is already installed.
Package php-pecl-zip-1.15.3-1.module_el8.2.0+313+b04d0a66.x86_64 is already installed.
Package php-soap-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64 is already installed.
Package php-ldap-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64 is already installed.
Package php-common-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64 is already installed.

Installing:
 php                                         x86_64                            7.2.24-1.module_el8.2.0+313+b04d0a66             AppStream                            1.5 M
Installing dependencies:
 nginx-filesystem                            noarch                            1:1.14.1-9.module_el8.0.0+184+e34fea82      AppStream                             24 k
 php-cli                                     x86_64                            7.2.24-1.module_el8.2.0+313+b04d0a66             AppStream                            3.1 M
Installing weak dependencies:
 php-fpm                                     x86_64                            7.2.24-1.module_el8.2.0+313+b04d0a66           AppStream                            1.6 M
……………….
………………….
 (4/4): php-cli-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64.rpm                                                             234 kB/s | 3.1 MB     00:13    
  Preparing        :                                                                                                                                                1/1 
  Installing       : php-cli-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64                                                                ¼
……………..
…………… 
  Verifying        : php-fpm-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64                                                              4/4 
Installed:
php-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64            php-fpm-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64       
nginx-filesystem-1:1.14.1-9.module_el8.0.0+184+e34fea82.noarch       
php-cli-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64       
Complete!

Now configure info.php:

[root@linuxhelp ~]# vim /var/www/html/info.php
<?
Phpinfo();
?>

Once the all step is completed restart the apache service

[root@linuxhelp ~]# systemctl restart httpd

Then download Landing CMS using the below command:

[root@linuxhelp ~]# wget https://github.com/Elias-Black/Landing-CMS/archive/0.0.6.zip
--2020-11-05 00:33:55--  https://github.com/Landing/Landing/archive/v5.1.zip
Resolving github.com (github.com)... 192.30.253.112, 192.30.253.113
Connecting to github.com (github.com)|192.30.253.112|:443... connected.
HTTP request sent, awaiting response... 302 Found
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/zip]
Saving to: ‘v5.1.zip’
    [                      <=>                                  ] 4,409,398   1.06MB/s   in 5.2s   
2020-11-05 00:34:03 (821 KB/s) - ‘v5.1.zip’ saved [4409398]

Unzip the Downloaded master.zip file:

[root@linuxhelp ~]# unzip master.zip
Archive:  master.zip
a6fddeffdcaace190baa41abb8854903a4b03fd6
   creating: pluck-master/
   creating: pluck -master/.easymin/
  inflating: pluck -master/.easymin/ignore_prefixes  
 extracting: pluck -master/.easymin/ignore_types  
  inflating: pluck-master/.easymin/noshrink_paths  
  inflating pluck -master/.editorconfig  
  inflating: pluck-master/.gitignore  
  inflating: pluck -master/.htaccess  
  inflating: pluck-master/.travis.yml  
  inflating: pluck-master/Addon.ini  
  inflating: pluck-master/README.md  
     ……………….
     ……………………
    inflating: pluck master/themes/index.html  
  inflating: pluck-master/web.config  
	

**Move Landing file to Apache root directory **

[root@linuxhelp ~]# mv pluck-master /var/www/landing

Change ownership using the below command

 [root@linuxhelp ~]# chown -R apache:apache /var/www/pluck

Change permission for typesetter by triggering the below command

[root@linuxhelp ~]# chmod -R 755 /var/www/pluck

Next step is very crucial. configure the Apache VirtualHost for Landing. Open the .conf file for Landing.

[root@linuxhelp ~]# vim /etc/httpd/conf.d/pluck.conf 
<Virtualhost *:80>
        Servername www.linuxhelp1.com
        Documentroot /var/www/pluck
<directory /var/www/pluck>
Allowoverride all
Allow from all
</directory>
</Virtualhost>

Restart Apache service to reflex changes that have been made:

[root@linuxhelp ~]# systemctl restart httpd

Open your browser and type domain name there. This the welcome page of Pluck CMS now start installation Proceed Installation Now configure admin credentials. Now select the title of Pluck CMS. Enter the password to login in Pluck CMS This is the dashboard of Pluck CMS.

With this method, installation of pluck CMS on CentOS 8.1 comes to end.

FAQ
Q
Does PHP 7.2 supports Pluck CMS 4.7.9?
A
yes PHP 7.2 will support.
Q
Shall I use the separate package installation method for LAMP setup?
A
yes you can choose any method as per your preference.
Q
How to download the latest stable version of Pluck CMS?
A
From this, you can download it # wget https://github.com/pluck-cms/pluck/archive/master.zip.
Q
Does pluck CMS need a database?
A
no, pluck CMS didn't need a database to work on.
Q
What is pluck CMS.
A
Pluck, also known as pluck-cms, is an open-source content management system, written in the PHP scripting language. It allows for webpage creation for users with little or no programming experience, and, unlike most content management systems, does not use a database to store its data.