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:
Here, provide your website name and email address, then click on the Next button. You should see the following page:
Here, provide your database details, then click on the Next button. You should see the following page:
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:
Here, provide your admin username and password, then click on the Login button. You should see the ImpressPages dashboard in the following image: