How to Install ImpressPages CMS on Ubuntu 18.04

 

ImpressPages is a free, open source and user-friendly, MVC-based, Content Management System with a built-in content editor that can be used to create a personal or business website. It is written in PHP and using a popular open source MySQL/MariaDB database system for content storage. You can easily manage your content on every device using ImpressPages. ImpressPages come with lot’s of features like, Inline editing, Drag&drop, Grid, Widgets, Multi-language support and translations.

In this tutorial, we will learn how to install ImpressPages on Ubuntu 18.04 LTS.

Requirements

  • A server running Ubuntu 18.04.
  • A non-root user with sudo privileges.

Install LAMP Server

Before starting, you will need to install LAMP (Apache, MariaDB and PHP) to your system. You can install all of them by running the following command:

sudo apt-get install apache2 mariadb-server php7.1 libapache2-mod-php7.1 php7.1-gd php7.1-opcache php7.1-mysql php7.1-json php7.1-mcrypt php7.1-xml php7.1-curl wget unzip -y

Once all the packages are installed, start Apache and MariaDB service and enable them to start on boot time:

sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start mariadb
sudo systemctl enable mariadb

Next, open php.ini file and make some changes:

sudo nano /etc/php/7.2/apache2/php.ini

Make the following changes:

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
file_uploads = On
date.timezone = Asia/Kolkata

Save and close the file, when you are finished.

Configuring MariaDB for ImpressPages

By default, MariaDB is not secured, You can secure MariaDB using the mysql_secure_installation script:

mysql_secure_installation

Answer all the questions as shown below:

Set root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

Once MariaDB is secured, log in to MariaDB shell:

Enter your root password, then create a database and user for ImpressPages:

MariaDB [(none)]> CREATE DATABASE impressdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON impressdb.* TO ‘impress’@’localhost’ IDENTIFIED BY ‘password’;

Next, flush the privileges and exit from the MariaDB shell:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> q

Install ImpressPages

First, go to the ImpressPages official website and download the latest stable version with the following command:

wget http://download.impresspages.org/ImpressPages_5_0_3.zip

Next, unzip the downloaded file using the following command:

unzip ImpressPages_5_0_3.zip

Next, copy the extracted directory to the Apache root directory:

sudo cp -r ImpressPages /var/www/html/impress

Next, set proper permissions to the impress directory:

sudo chown -R www-data:www-data /var/www/html/impress/
sudo chmod -R 755 /var/www/html/impress/

Next, you will need to configure Apache2 configuration file for ImpressPages. You can do this with the following command:

sudo nano /etc/apache2/sites-available/impress.conf

Add the following lines:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/impress
     ServerName example.com
     ServerAlias www.example.com

     <Directory /var/www/html/impress/>
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Save and close the file, when you are finished.

Next, enable apache virtual host file and rewrite module with the following command:

sudo a2ensite impress.conf
sudo a2enmod rewrite

Finally, restart Apache service to apply all the changes:

sudo systemctl restart apache2

Access ImpressPages

Now, open your web browser and type the URL http://example.com. You will be redirected to the following page:

Website configuration

Here, provide your website name and email address, then click on the Next button. You should see the following page:

Database configuration

Here, provide your database details, then click on the Next button. You should see the following page:

Accept license

Here, note down your admin username and password, then click on the Yes, I understand how to log in next time button. You should see the following page:

Login

Here, provide your admin username and password, then click on the Login button. You should see the ImpressPages dashboard in the following image:

ImpressPages CMS

Source