How to install Elxis CMS on Ubuntu 20.4.1

To Install Quick CMS on Ubuntu 20.4.1

Introduction:

Elxis CMS is a free, open-source system that allows you to create small, personal, or corporate websites. We can install it easily without any programming skills since it is simple, fast, and easy to use.

Installation process:

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

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

Install Apache by using below command:

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

Check the status of apache:

root@linuxhelp:~# systemctl status apache2
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2020-11-25 11:38:42 IST; 47s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 2784 (apache2)
      Tasks: 55 (limit: 2285)
     Memory: 5.5M
     CGroup: /system.slice/apache2.service
             ├─2784 /usr/sbin/apache2 -k start
             ├─2786 /usr/sbin/apache2 -k start
             └─2787 /usr/sbin/apache2 -k start

Nov 25 11:38:42 linuxhelp systemd[1]: Starting The Apache HTTP Server...
Nov 25 11:38:42 linuxhelp apachectl[2783]: AH00558: apache2: Could not reliably determine the server's fully qualified domain>
Nov 25 11:38:42 linuxhelp systemd[1]: Started The Apache HTTP Server.

start and enable mysql by using below command:

root@linuxhelp:~# systemctl start mysql
root@linuxhelp:~# systemctl enable mysql

Synchronizing state of mysql.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable mysql

Install PHP modules by using below commands:

root@linuxhelp:~# apt install php php-mysql php-curl php-json php-cgi php-xmlrpc php-gd php-mbstring php-soap php-xml php-intl  php-cli php-ldap php-zip
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libapache2-mod-php7.4 libonig5 libxmlrpc-epi0 libzip5 php-common php7.4 php7.4-cgi php7.4-cli php7.4-common php7.4-curl
  php7.4-gd php7.4-intl php7.4-json php7.4-ldap php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline php7.4-soap php7.4-xml
  php7.4-xmlrpc php7.4-zip
Suggested packages:
  php-pear

Install mysql secure installation:

root@linuxhelp:~# mysql_secure_installation
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: n
Please set the password for root here.
New password: 
Re-enter new password: 
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL 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? (Press y|Y for Yes, any other key for No) : 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? (Press y|Y for Yes, any other key for No) : y
Success.
By default, MySQL 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? (Press y|Y for Yes, any other key for No) : 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? (Press y|Y for Yes, any other key for No) : y
Success.
All done! 

Restart apache by using below command:

root@linuxhelp:~# systemctl restart apache2.service

Download the elxis file by using wget command

root@linuxhelp:~# wget http://www.elxis.org/components/com_content/plugins/download/includes/dl.php?c=XDsMIFM1DWAKJVNmVnlTYAMrXCgONlthADMFYgR2Wj0GdAd7ATRVMQBkCjNUNw9hBz0PPFFl -O elxis.zip
--2020-11-25 14:59:04--  http://www.elxis.org/components/com_content/plugins/download/includes/dl.php?c=XDsMIFM1DWAKJVNmVnlTYAMrXCgONlthADMFYgR2Wj0GdAd7ATRVMQBkCjNUNw9hBz0PPFFl
Resolving www.elxis.org (www.elxis.org)... 95.216.65.242, 2a01:4f9:2b:20d::2
Connecting to www.elxis.org (www.elxis.org)|95.216.65.242|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/plain]
Saving to: ‘elxis.zip’
elxis.zip               [ <=>               ]      13  --.-KB/s    in 0s      
2020-11-25 14:59:04 (648 KB/s) - ‘elxis.zip’ saved [13]

Extract the zip file by using below command:

root@linuxhelp:~# unzip elxis_5.1_cronus_rev2356.zip -d elxis
Archive:  elxis_5.1_cronus_rev2356.zip
   creating: elxis/components/
   creating: elxis/components/com_content/
  inflating: elxis/components/com_content/content.article.xml  
  inflating: elxis/components/com_content/content.category.xml  
  inflating: elxis/components/com_content/content.menu.xml  
  inflating: elxis/components/com_content/content.php  
  inflating: elxis/components/com_content/content.xml  
   creating: elxis/components/com_content/controllers/
  inflating: elxis/components/com_content/controllers/aarticle.php 

Change the directory to apache directory:

root@linuxhelp:~# mv elxis /var/www/

Give the ownership permission to directory:

root@linuxhelp:~# chown -R www-data.www-data /var/www/elxis

Create a database for elxis CMS:

root@linuxhelp:~# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.22-0ubuntu0.20.04.2 (Ubuntu)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database elxis1;
Query OK, 1 row affected (0.02 sec)
mysql> create user 'elxisuser'@localhost identified by '123456';
Query OK, 0 rows affected (0.07 sec)
mysql> grant all privileges on elxis1.* to 'elxisuser'@localhost;
Query OK, 0 rows affected (0.03 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> exit
Bye

Create a virtual host for elxis cms:

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

Give the host entry:

root@linuxhelp:~# vim /etc/hosts

Disable default access

root@linuxhelp:~# 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:~# a2ensite elxis.conf
Enabling site elxis.
To activate the new configuration, you need to run:
  systemctl reload apache2

Enable rewrite module

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

Restart the apache service:

root@linuxhelp:~# systemctl restart apache2.service

Once completed goto browser type url

Next it will open the Elxis installation page

Next give the credentials for login and submit

Next it will open admin page and create a admin account

Next, it will open the finish page, then click visit your new page

Next, it will open the Elxis home page

With this the installation of elxis Cms comes to end

FAQ
Q
Is Elixs CMS require a database?
A
yes Elixis CMS requires database configuration.
Q
What is SEO-friendly in CMS?
A
Your website sells more because every page dominates search engines.
Q
Why do I get logged off automatically?
A
If you do not check the Remember me box when you log in, the board will only keep you logged in for a preset time. This prevents misuse of your account by anyone else. To stay logged in, check the Remember me box during login. This is not recommended if you access the board from a shared computer, e.g. library, internet cafe, university computer lab, etc. If you do not see this checkbox, it means a board administrator has disabled this feature.
Q
What is GrandCMS?
A
GrandCMS is an open-source content management system for Linux distributions. It enables the users to create their own websites with a graphical user interface. GrandCMS is specially designed for OpenCart owners.
Q
What are the benefits of cms website?
A
There are so many benefits is there some

Simplified content management – Managing content becomes non-technical

Saves time and effort – Its advanced functionality and automation saves time & labor