Elxis is powerful open source content management system (CMS ) it is free for use under the GNU/GPL license. This CMS is modern, flexible, easy to use and it comes with many useful multi-lingual features, such as:
- Responsive design
- Built-in commentary system
- Multi-level menus
- Image galleries
- Contact Forms
- Visitors native language detection
- WYSIWYG editor
- Built-in cron jobs
- Performance monitor
- And many more…
Elxis can be installed and run on a wide range of platforms and operating systems with a web server (Apache, Nginx, Lighttpd), PHP version 5.2 or newer and an SQL server like MySQL, MariaDB and PostgreSQL. In today’s article we will guide you through the installation of Elxis CMS on a CentOS 7 VPS with Apache, PHP and MariaDB.
The installation is pretty easy and fast. Log in to your CentOS 7 server as user root
and update all installed packages by executing the following command
yum -y update
Next, install Apache web server
yum -y install httpd
Once the installation is completed, start the web server and set it to start automatically on system start up
systemctl start httpd systemctl enable httpd
Elxis is a PHP based application, so we need to install PHP with the PDO and GD modules
yum -y install php php-pdo php-gd
Install MariaDB server on your VPS using the following command
yum -y install mariadb mariadb-server
Once the installation is completed start the database server and set it to start on start up
systemctl start mariadb systemctl enable mariadb
Then, run the
mysql_secure_installation script to secure the database server and set your MariaDB root password.
Login to the MariaDB server with the root user and create a blank database which will be used by Elxis to store the data.
mysql -u root -p CREATE DATABASE elxis; CREATE USER 'elxisuser'@'localhost' IDENTIFIED BY 'PASSWORD'; GRANT ALL PRIVILEGES ON `elxis`.* TO 'elxisuser'@'localhost'; FLUSH PRIVILEGES; exit
Don’t forget to replace ‘PASSWORD’ with an actual strong password.
Download the latest version of Elxis CMS from their official website and upload it to your server via FTP or sFTP. Once it is uploaded, unpack the Elxis ZIP archive to the document root directory of your server
mkdir /var/www/html/elxis unzip elxis_4.3_proteas_rev1716.zip -d /var/www/html/elxis
Elxis uses a directory named ‘repository’ to store cached pages, log files, sessions, backups and more. It is recommended to rename this directory and move it in a place not reachable from the web.
mv /var/www/html/elxis/repository /var/www/data
Set the Apache user to be owner of the Elxis files and directories
chown -R apache: /var/www/html/elxis/ chown -R apache: /var/www/repository
Now, create Apache virtual host for your Elxis based website. Create ‘/etc/httpd/conf.d/vhosts.conf’ file with the following content:
Create a ‘vhosts.d/’ directory
and create the virtual host with the following content
vim /etc/httpd/vhosts.d/yourdomain.com.conf <VirtualHost YOUR_SERVER_IP:80> ServerAdmin firstname.lastname@example.org DocumentRoot "/var/www/html/elxis/" ServerName yourdomain.com ServerAlias www.yourdomain.com ErrorLog "/var/log/httpd/yourdomain.com-error_log" CustomLog "/var/log/httpd/yourdomain.com-access_log" combined <Directory "/var/www/html/elxis/"> DirectoryIndex index.html index.php Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
Save the file and restart the Apache web server for the changes to take effect.
systemctl restart httpd
With this step the installation from the command line is completed. Now, open a web browser and navigate it to http://yourdomain.com and follow the on-screen installation process to complete the Elxis CMS installation.
Of course you don’t have to do any of this if you use one of our CMS Hosting services, in which case you can simply ask our expert Linux admins to install Elxis CMS for you. They are available 24×7 and will take care of your request immediately.
PS. If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.