Polr URL Shortener te installeren op Ubuntu 20.04

Polr is een gratis en open-source URL-verkorter geschreven in PHP. Het biedt een eenvoudige en gebruiksvriendelijke interface om links te maken en te beheren. Je kunt je eigen URL-verkorter hosten, je URL’s van een merk voorzien, en controle over je gegevens krijgen. Het biedt een ton aan functies, waaronder, robuuste API, URL doorsturen, permissies aanpassen, thema’s, en meer.

In deze post laten we je zien hoe je Polr met Apache en Let’s Encrypt SSL installeert op Ubuntu 20.04.

Vereisten

  • Een server met Ubuntu 20.04.
  • Een geldige domeinnaam gericht met je server IP.
  • Een root wachtwoord is op de server ingesteld.

Aan de slag

Werk eerst de systeempakketten bij naar de bijgewerkte versie door het volgende commando uit te voeren:

apt-get update -y

Als alle pakketten geüpdatet zijn, kun je verder gaan met de volgende stap.

Installeer Apache, MariaDB, en PHP

Eerst moet je de Apache server, de MariaDB databank, PHP, en andere PHP uitbreidingen op je server installeren. Je kunt ze allemaal installeren met het volgende commando:

apt-get install apache2 mariadb-server php libapache2-mod-php libapache2-mod-wsgi php-gd php-curl php-xml php-xmlrpc php-curl php-imagick php-mbstring php-zip php-intl -y

Als alle pakketten geïnstalleerd zijn, kun je verder gaan met de volgende stap.

Maak een databank voor Polr

Polr gebruikt MariaDB/MySQL als database backend. Je zult dus een database en gebruiker voor Polr moeten aanmaken.

Log eerst in op de MariaDB met het volgende commando:

mysql

Eenmaal ingelogd maak je een database en een gebruiker aan met het volgende commando:

MariaDB [(none)]> CREATE DATABASE polrdb;
MariaDB [(none)]> GRANT ALL ON polrdb.* TO 'polr' IDENTIFIED BY 'password';

Spoel vervolgens de privileges en verlaat de MariaDB met het volgende commando:

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

Als je klaar bent, kun je verder gaan met de volgende stap.

Installeer Composer

Vervolgens moet je Composer op je server installeren om de PHP afhankelijkheden te installeren die voor Polr nodig zijn.

Voer het volgende commando uit om Composer te installeren:

curl -sS https://getcomposer.org/installer | php

Je zou de volgende uitvoer moeten krijgen:

All settings correct for using Composer
Downloading...

Composer (version 2.1.3) successfully installed to: /root/composer.phar
Use it: php composer.phar

Verplaats vervolgens de binary van Composer naar de systeemlocatie met het volgende commando:

mv composer.phar /usr/local/bin/composer

Controleer vervolgens de Composer versie met het volgende commando:

composer -V

Je zou de volgende uitvoer moeten zien:

Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? yes
Composer version 2.1.3 2021-06-09 16:31:20

Installeer Polr

Vervolgens moet je de nieuwste versie van Polr uit de Git repository downloaden. Je kunt het downloaden met het volgende commando:

git clone https://github.com/cydrobolt/polr.git --depth=1 /var/www/html/polr

Als de download voltooid is, verander je de directory in Polr en installeer je alle vereiste afhankelijkheden met het volgende commando:

cd /var/www/html/polr
composer install --no-dev -o

Kopieer vervolgens het voorbeeld omgevingsbestand met het volgende commando:

cp .env.setup .env

Stel vervolgens de juiste toestemming in voor de Polr directory met het volgende commando:

chown -R www-data:www-data /var/www/html/polr
chmod -R 755 /var/www/html/polr

Als je klaar bent, kun je verder gaan met de volgende stap.

Configureer Apache voor Polr

Vervolgens moet je een Apache virtual host configuratiebestand voor Polr maken. Je kunt het maken met het volgende commando:

nano /etc/apache2/sites-available/polr.conf

Voeg de volgende regels toe:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/polr/public
ServerName polr.example.com
<Directory /var/www/html/polr/public/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/polr-error_log
CustomLog /var/log/apache2/polr-access_log common
</VirtualHost>

Sla het bestand op en sluit het af, schakel dan de Apache virtuele host bestand en herschrijf module in met het volgende commando:

a2enmod rewrite
a2ensite polr.conf

Herstart vervolgens de Apache dienst om de veranderingen toe te passen:

systemctl restart apache2

Je kunt nu de status van de Apache dienst controleren met het volgende commando:

systemctl status apache2

Je zou de volgende uitvoer moeten krijgen:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2021-06-17 12:09:42 UTC; 16s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 27602 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 27617 (apache2)
      Tasks: 6 (limit: 2353)
     Memory: 26.6M
     CGroup: /system.slice/apache2.service
             ??27617 /usr/sbin/apache2 -k start
             ??27618 /usr/sbin/apache2 -k start
             ??27619 /usr/sbin/apache2 -k start
             ??27620 /usr/sbin/apache2 -k start
             ??27621 /usr/sbin/apache2 -k start
             ??27622 /usr/sbin/apache2 -k start

Jun 17 12:09:42 ubuntu2004 systemd[1]: Starting The Apache HTTP Server...

Toegang tot de Polr webinterface

Je kunt nu de Polr webinterface openen met de URL http://polr.example.com.

Database configuratie

Toepassingsinstellingen

URL verkorter instellingen

Captcha instellingen

Geef je databasenaam, gebruikersnaam, wachtwoord, toepassingsinstellingen, Polr URL, admin gebruikersnaam, e-mail, wachtwoord op en klik op de knop Installeren. Als de Polr geïnstalleerd is, zou je het volgende scherm moeten krijgen:

Setup compleet

Klik op de startpagina. Je zou Polr dashboard moeten zien op het volgende scherm:

Polr URL Verkorter

Beveilig Polr met Let’s Encrypt Free SSL

Eerst moet je het Certbot Let’s Encrypt programma installeren om het SSL certificaat voor je domein te downloaden en te installeren.

Je kunt het installeren met het volgende commando:

apt-get install python3-certbot-apache -y

Eenmaal geïnstalleerd kun je het volgende commando uitvoeren om het Let’s Encrypt Certificaat voor je domein polr.example.com te installeren.

certbot --apache -d polr.example.com

Tijdens de installatie wordt je gevraagd je e-mail adres op te geven en de servicevoorwaarden te accepteren, zoals hieronder:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for polr.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/polr-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/polr-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/polr-le-ssl.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Typ vervolgens 2 en druk op Enter om een gratis SSL certificaat voor je domein te downloaden en te installeren. Als de installatie met succes voltooid is. Je zou de volgende uitvoer moeten krijgen:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/polr.conf to ssl vhost in /etc/apache2/sites-available/
polr-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://polr.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=polr.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Je Polr website is nu beveiligd met Let’s Encrypt gratis SSL. Je kunt er toegang toe krijgen via de URL https://polr.example.com.

Conclusie

In de bovenstaande gids heb je geleerd hoe je Polr met Apache en Let’s Encrypt SSL op Ubuntu 20.04 server kunt installeren. Je kunt nu je eigen link shortener hosten met Polr. Voel je vrij me te vragen als je vragen hebt.