In this tutorial we will show you how to install Polr on CentOS 8. For those of you who did not know, Polr is a fast, modern and open source link. It allows you to host your own URL shortener, tag your URLs and gain control over your data. Polr helps you promote your online brand as it is more convenient to share short links and gain better insights by tracking clicks to each individual link.
This article assumes that you have at least basic knowledge of Linux, know how to use the shell and most importantly, that you host your website on your own VPS. The installation is quite simple and requires you to run in the root account, otherwise you may need to add ‘
sudoto the commands for root privileges. I will show you step by step installation of Polr URL shortener on a CentOS 8.
Install Polr on CentOS 8
Step 1. First of all, make sure that all packages are up to date.
sudo dnf update
Step 2. Install LAMP Stack.
If you do not already have a LAMP stack installed on your server, you can follow our guide here.
Step 3. Install the composer.
Download and run the Composer installer:
curl -sS https://getcomposer.org/installer | php
Step 4. Install Polr on CentOS 8.
Run the following command to clone the Polr archive from Github:
cd /var/www/html git clone https://github.com/cydrobolt/polr.git –depth=1
Then move downloaded files to the root of the web server:
mv ./polr/.[!.]* . && mv ./polr/* . && rm -rf polr
Then install dependencies with Composer:
php composer.phar install --no-dev -o cp .env.setup .env
We need to change some folder permissions:
chown -R apache:apache /var/www/html/ chmod -R 755 /var/www/html/ chcon -R -t httpd_sys_rw_content_t storage .env
Step 5. Configure MariaDB for Polr.
By default, MariaDB is not hardened. You can secure MariaDB using
mysql_secure_installation script. you should read and below each step carefully, which will set a root password, delete anonymous users, reject remote root login and delete the test database and access to secure MariaDB:
Configure it like this:
- Set root password? [Y/n] y - 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
Then we have to log in to the MariaDB console and create a database for Polr. Run the following command:
mysql -u root -p
This will ask you for a password, so enter your MariaDB root password and press Enter. Once logged in to your database server, you will need to create a Polr installation database:
MariaDB [(none)]> CREATE DATABASE polrdb; MariaDB [(none)]> GRANT ALL ON polrdb.* TO 'polr' IDENTIFIED BY 'strong-my-password'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
Step 6. Configure Apache for Polr.
We are now creating a new Apache configuration file for the Polr installation:
Add the following lines:
ServerName your-domain.com ServerAlias www.your-domain.com DocumentRoot "/var/www/html/public" <Directory "/var/www/html/public"> Require all granted Options Indexes FollowSymLinks AllowOverride All Order allow,deny llow from all ErrorLog /var/log/httpd/error.log CustomLog /var/log/httpd/access.log combined
Restart the Apache Web Server for the following changes:
sudo systemctl restart httpd
Step 7. Configure firewall.
If the OS firewall is enabled on your server, then grant access to ports 80 and 443 for off-network access:
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
Step 8. Access the Polr web interface.
Polr will be available on HTTP port 80 by default. Open your favorite browser and navigate to
http://your-domain.com/ and follow the on-screen instructions to complete the installation.
Congratulations! You have installed Polr. Thank you for using this tutorial to install the modern Polr URL shortener on your CentOS 8 system. For further help or useful information, we recommend that you check the official Polr website.