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
Simplified content management – Managing content becomes non-technical
Saves time and effort – Its advanced functionality and automation saves time & labor