Learn How To Install Polr on Ubuntu 18.04
Table of Contents
- Introduction
- Prerequisites
- Install Apache
- Install PHP
- Install MySQL & Create a Database
- Install Polr
- Complete the installation
If you are using a different system, please check our other tutorials.
Introduction
Polr is a free and open-source link shortener written in PHP and Lumen. It allows you to quickly host your own URL shortener. It’s significant features include a management dashboard, detailed link analytics, and an API. This tutorial will guide you through the process of installing Polr on Ubuntu 18.04 LTS.
Prerequisites
This tutorial requires An ITWeb.Services Cloud Compute instance with Ubuntu 18.04 LTS and root access, as well as a valid domain name pointing to your server.
Install Apache
Polr requires a web server, a MySQL database, and PHP. For this tutorial we will be using the Apache web server.
Update the repository list.
apt-get update
Install the Apache webserver.
apt-get install apache2 -y
Disable the default Apache site configuration and delete the default Apache index.html
file.
a2dissite 000-default.conf
rm /var/www/html/index.html
Create a new Apache configuration file for the Polr installation.
nano /etc/apache2/sites-available/polr.conf
Paste the following snippet into the newly created file, replacing example.com
with your own domain name.
<VirtualHost *:80>
ServerName example.com
ServerAlias example.com
DocumentRoot "/var/www/html/public"
<Directory "/var/www/html/public">
Require all granted
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Enable the configuration.
a2ensite polr.conf
Polr requires Apache’s mod_rewrite
enabled. Enable the Apache rewrite module.
a2enmod rewrite
Restart the Apache service.
systemctl restart apache2.service
Install PHP
Polr requires PHP and a number of PHP modules.
apt-get install php php-pdo php-mysql php-mbstring php-tokenizer php-json php-curl -y
Install MySQL & Create a Database
Polr stores data in an SQL database. Install the MySQL server.
apt-get install mysql-server -y
Secure the MySQL installation by running the provided script.
mysql_secure_installation
When prompted for a root password, choose a safe password and proceed through the installation.
Would you like to setup VALIDATE PASSWORD plugin? [Y/N] N
New password: <Your Password>
Re-enter new password: <Your Password>
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
Login to the MySQL console.
mysql -u root -p
When asked for a password, enter the root password created earlier. Once you are logged in to the console, create a new database for Polr.
mysql>CREATE DATABASE polr;
Create a new database user and grant it privileges to the created database. You can replace username
and password
with the username and password of your choice.
mysql>GRANT ALL PRIVILEGES on polr.* to 'username'@'localhost' identified by 'password';
mysql>FLUSH PRIVILEGES;
Exit the MySQL console.
mysql>exit
Install Polr
Clone the Polr repository from Github.
cd /var/www/html
git clone https://github.com/cydrobolt/polr.git --depth=1
Move the downloaded files to the root of the webserver.
mv ./polr/.[!.]* . && mv ./polr/* . && rm -rf polr
Composer is required to install dependencies. Download the Composr package and install the unzip
module used by it.
curl -sS https://getcomposer.org/installer | php
apt-get install unzip -y
Install the dependencies with Composer.
php composer.phar install --no-dev -o
Copy the provided configuration file to enable the web-based installer.
cp .env.setup .env
Set the appropriate file permissions.
chown -R www-data:www-data /var/www/html/
chmod -R 755 /var/www/html/
Complete the installation
Navigate to example.com/setup
to launch the web-based Polr installer and enter the required information. Use the MySQL credentials created earlier for database configuration. Once you have submitted the setup form, the Polr installation will be completed.
Need help?
Do you need help setting up this on your own service?
Please contact us and we’ll provide you the best possible quote!